Answers:
保留配置内容的最佳位置是.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的-c标志。我在tmuxp配置中执行此操作,以使vim以垂直分割开始:
vim -c "vnew"
至少使用neovim,您还可以同时打开一个文件:
nvim -c "colorscheme mustang" some_file
vim -c ':colo default' test.txt
xolox/vim-notes
,我想要一个带Vif功能的鱼功能,可以打开新的音符。
要获得比其他答案还要晚但仍在启动后才使用的功能,请在.vimrc中使用计时器。例如,.vimrc中的此代码在启动后等待半秒钟,然后再设置变量。
function DelayedSetVariables(timer)
let g:ycm_filetype_blacklist['ignored'] = 1
endfunction
let timer=timer_start(500,'DelayedSetVariables')
(示例中的变量是YouCompleteMe插件的黑名单。我认为,该插件会异步启动其他进程,然后创建变量,但在vim启动时还没有准备好。当我尝试执行以下操作时,该变量不存在在.vimrc,之后文件或VimEnter事件中设置它。这某种程度上是针对我的Windows系统的,YCM文档说.vimrc应该可以用于设置选项。)