我有一個插件(FindFile.vim),需要運行:FindFileCache .
,每當我啓動vim收集文件緩存以便快速打開時。我必須在每次啓動vim時運行此操作。Vim - 如何在啓動vim時立即運行命令?
我該如何編寫一次運行一次的命令,每當vim啓動時?
我有一個插件(FindFile.vim),需要運行:FindFileCache .
,每當我啓動vim收集文件緩存以便快速打開時。我必須在每次啓動vim時運行此操作。Vim - 如何在啓動vim時立即運行命令?
我該如何編寫一次運行一次的命令,每當vim啓動時?
保留你的配置的最好的地方是你的.vimrc 文件。然而,它的太早來源,檢查:h startup
:
At startup, Vim checks environment variables and files and sets values
accordingly. Vim proceeds in this order:
1. Set the 'shell' and 'term' option *SHELL* *COMSPEC* *TERM*
2. Process the arguments
3. Execute Ex commands, from environment variables and/or files *vimrc* *exrc*
4. Load the plugin scripts. *load-plugins*
5. Set 'shellpipe' and 'shellredir'
6. Set 'updatecount' to zero, if "-n" command argument used
7. Set binary options
8. Perform GUI initializations
9. Read the viminfo file
10. Read the quickfix file
11. Open all windows
12. Execute startup commands
正如你所看到的,你的.vimrc 將插件被加載之前。如果您將:FindFileCache .
放入其中,則會發生錯誤,因爲該命令尚不存在。 (一旦插件在步驟4中加載,它就會存在。)
要解決這個問題,不是直接執行命令,而是創建一個 自動命令。自動命令在事件發生時執行一些命令。在這種情況下,在VimEnter事件看起來(從:h VimEnter
)合適:
*VimEnter*
VimEnter After doing all the startup stuff, including
loading .vimrc files, executing the "-c cmd"
arguments, creating all windows and loading
the buffers in them.
然後,只需將這一行你的.vimrc:
autocmd VimEnter * FindFileCache .
創建一個名爲~/.vim/after/plugin/whatever_name_you_like.vim
文件,並
FindFileCache .
在腳本中:help 'runtimepath'
還有-c標誌vim。我這樣做,我tmuxp配置有VIM開始與垂直分割:
vim -c "vnew"
謝謝,這就是我一直在尋找的。有時,我只需要運行臨時啓動命令,就像你已經顯示的那樣,並且不需要將它存儲在我的vimrc文件中。 – verboze
這不能打開一個文件:'vim -c':colo default'test。 txt' –
+1,這應該是公認的答案,它比爲一個命令創建單獨的文件要乾淨得多。 – stackunderflow
我用它在Ubuntu的全屏模式下打開vim:https://github.com/emmett9001/dotfiles/blob/115831ec75f19b60b30ddd521cd6e806467db18a/vimrc#L342 –
想補充我在E172上有這個突破,因爲我之後有一個空間。 – Caroline