我已经调整了一段时间的.vimrc和.vim文件夹,但是在新工作的机器上,我刚刚安装了ryanb的dotfile(包含vim,git等配置文件)。每个配置中都有我喜欢的东西,所以最终我想将它们组合成一个新的个人配置。同时,我希望能够来回切换。
在vim中是否有一个简单的命令-“使用以下.vimrc和.vim目录”-还是在我想切换时换出文件本身更直接?
我已经调整了一段时间的.vimrc和.vim文件夹,但是在新工作的机器上,我刚刚安装了ryanb的dotfile(包含vim,git等配置文件)。每个配置中都有我喜欢的东西,所以最终我想将它们组合成一个新的个人配置。同时,我希望能够来回切换。
在vim中是否有一个简单的命令-“使用以下.vimrc和.vim目录”-还是在我想切换时换出文件本身更直接?
Answers:
该-u
选项将允许您指定〜/ .vimrc以外的配置文件,但是没有任何选项可以指定〜/ .vim目录的替代文件。但是,通过修改每个配置文件中的'runtimepath'('rtp')选项,可以使Vim使用不同的目录。例如,您可以使用此命令
let &rtp = substitute(&rtp, '\.vim\>', '.vim1', 'g')
在您的一个配置文件中,告诉Vim使用〜/ .vim1目录而不是〜/ .vim目录。
.vimrc
和.vim
任何喜欢的地方。我个人使用此技巧将所有配置保存在一个.dotfiles
文件夹中,该文件夹可以同步到Github。
-u
告诉vim使用备用vimrc文件。
vim -u "NONE"
无需配置即可打开香草vim。如果您有复杂的配置并且想知道某些行为是否是Vim固有的,那将很有用。(这也适用于MacVim-我还没有在Linux上尝试过Gvim。)
我有以下设置:
❯ tree -L 2 ~/.vim-configs
~/.vim-configs
├── nathanl
│ ├── .git
│ ├── gvimrc
│ ├── pack
│ └── vimrc
├── ryanb
│ ├── autoload
│ ├── ...
│ └── vimrc
└── minimal
├── autoload
├── cache
├── doc
├── plugin
└── vimrc
❯ ls -l ~/.vim
lrwxr-xr-x 1 hotschke staff 42 Apr 3 16:35 .vim -> /Users/hotschke/.vim-configs/minimal
如果要更改为其他配置,只需执行
❯ ln -snf ~/.vim-configs/configX ~/.vim
如果您有雄心壮志,则可以编写一个具有自动补全功能的最小shell函数,以使此操作非常方便。例如,如果您使用zsh,则可以使用
# Swim - Switch Vim Configs
compdef '_path_files -/ -W ~/.vim-configs' swim
function swim {
if [ $# -eq 0 ]
then
zmodload zsh/stat
active=$(stat +link "$HOME/.vim")
echo "Swimming with ${${active}:t}"
echo "$HOME/.vim -> $active"
zmodload -u zsh/stat
else
echo "Swimming with $1"
ln -snfv ~/.vim-configs/$1 ~/.vim
fi
}
它已经提供了制表符补全功能,并且可以在文件系统中的任何地方使用:
❯ pwd
<somewhere in your filesystem not necessarily $HOME or $HOME/.vim>
❯ swim <Tab>
-- directory --
minimal/ nathanl/ ryanb/
❯ swim minimal
Swimming with minimal
/Users/hotschke/.vim -> /Users/hotschke/.vim-configs/minimal
❯ swim
Swimming with minimal
/Users/hotschke/.vim -> /Users/hotschke/.vim-configs/minimal
(从https://github.com/dawsbot/swim盗取的函数名)
alias vimbasic="ln -snf ~/.vim-configs/basic/ ~/.vim && vim"
,这样您只需键入别名即可更改配置vimbasic
。
https://github.com/vim-volt/volt
在macOS上安装: $ brew install volt
功能“配置文件”保存了一组插件,vimrc和gvimrc。
您可以使用一个命令切换组合。例如,您可以从Web开发设置切换到基本插件+ vimrc或vanilla vim。
当在stackexchange网络上提出问题或在github上针对vim / vim插件提出问题时,创建最小的配置也很有帮助。