我有两个 .vimrc 配置文件,分别为 ~/.vimrc
和 ~/.vimsqlrc
。
是否有一种方法可以在我已经打开了一些文件的情况下,加载其中一个配置文件(从一个切换到另一个)? 作为扩展,如何关闭 vimrc 的加载(即不使用任何 vimrc),同时保持文件已打开状态?
我有两个 .vimrc 配置文件,分别为 ~/.vimrc
和 ~/.vimsqlrc
。
是否有一种方法可以在我已经打开了一些文件的情况下,加载其中一个配置文件(从一个切换到另一个)? 作为扩展,如何关闭 vimrc 的加载(即不使用任何 vimrc),同时保持文件已打开状态?
你的 ~/.vimrc
文件只会被读取和执行一次。如果你想用另一个文件覆盖它,你需要改变每个选项的值和映射的取消,在两个文件中都要这样做。这听起来像是一个非常糟糕且不必要复杂的想法。
如果你想要另一个环境,只需使用另一个环境:
$ vim <-- starts Vim normally, reading ~/.vimrc
$ vim -u ~/.vimsqlrc <-- starts Vim using your alternative vimrc
$ vim -u NONE <-- starts Vim without any vimrc
$ vim -u NORC <-- starts Vim without any vimrc, but with plugins
但是我恐怕你必须停止并重新启动Vim才能完成。
无论如何,你的问题有一个非常明显的XY问题。你想为*.sql
文件设置特定的设置吗?
如果是这样,你可以像这样将你的设置放在~/.vim/after/ftplugin/sql.vim
中:
setlocal autoindent
nnoremap <buffer> <F6> :echo "F6"<CR>
使用 setlocal
设置选项并使用 <buffer>
设置映射,可以确保您的设置仅适用于 *.sql
文件。
autocmd Filetype sql (do something)
。特别是如果您只想更改一些SQL文件的设置,我比创建新文件更喜欢这个选项。 - Steve
:h initilization
或:h vimrc
。这两个 vimrc 之间有什么区别?看起来你可以使用每个文件类型的设置。 - FDinoff