我创建了两个简短的.vim文件,可以在某些配置之间快速切换,并将它们放在~/.vim
如果我从~/.vim
启动vim并执行:run write.vim
或:run code.vim
,那么它们工作正常,但如果我从其他任何地方启动vim(例如~/
)并尝试{ {1}}(来自:run .vim/write.vim
)或~/
(来自其他任何地方),它将无法运行。有什么想法吗?
为了完整起见,我已经放入.vim文件。
write.vim
:run ~/.vim/write.vim
code.vim
colorscheme pencil
set background=light
set colorcolumn=0
set wrap
set nonumber
答案 0 :(得分:4)
您应该阅读:runtime
和'runtimepath'
文档 - > :h :runtime
,:h 'runtimepath'
。
然后,您会看到您确实想要在您的案例中执行:so ~/.vim/sub/path.vim
或:runtime sub/path.vim
。另见:What's the difference between ':source file' and ':runtime file' in vim?
注意~/.vim/macros/
最适合的方式 - 即使没有人再使用它。或者更好的是,您可以将定义放在函数中并在键绑定上触发它们
function! s:toggle_settings() abort
let s:writing = 1 - get(s:, 'writing', 0)
if s:writing
colorscheme pencil
set background=light
set colorcolumn=0
set wrap
set nonumber
else
...
endif
endfunction
nnoremap µ :call s:toggle_settings()<cr>
您还可以检测到当前的&filetype
is not related to a programming language,然后使用自动命令
'colorcolumn'
,'wrap'
和'number'
的配置(使用:setlocal
- 您不希望使用:set
你现在正好。)