.vimrc
移至.config/nvim/init.vim
,而其他内容位于.local/share/nvim
中。在vim和Neovim之间共享配置甚至插件的最佳方法是什么?我可以将.vimrc中的目录更改为仅使用一个符号链接吗? />
某些插件(使用vim-plug使用)似乎无法正常工作。我无法加载自定义colorschmes或vim-airline。
#1 楼
TL; DR您可以使用现有的
~/.vimrc
,文件和位于~/.vim
中的插件,而无需符号链接这些文件。这已在NeoVim手册中进行了介绍,请参阅从Vim过渡。
对于Linux和macOS,只需将以下行添加到
~/.config/nvim/init.vim
或Windows的%LOCALAPPDATA%\nvim\init.vim
顶部。 贷记到vimcast 71:与Neovim见面
#2 楼
您可以使用if has('nvim')
。以下是完整的示例:仅针对Neovim的配置:
if has('nvim')
tnoremap <Esc> <C-\><C-n>
endif
仅针对Vim的配置
if !has('nvim')
set ttymouse=xterm2
endif
#3 楼
将您的配置保存在Neovim的默认位置,请执行以下操作:mkdir -p ~/.local/share/nvim/site
ln -s ~/.local/share/nvim/site ~/.vim
ln -s .config/nvim/init.vim .vimrc
要解决颜色问题,我必须设置为256终端颜色模式,即将其添加到您的.vimrc中(= init.vim)文件,它将被nvim忽略:
set t_Co=256 " Note: Neovim ignores t_Co and other terminal codes.
要获取vim-airline,我在.vimrc中添加了以下代码段:
set laststatus=2
我不太明白为什么只有在vim中才需要这样做,而在Neovim中则没有,但是我不是唯一绊脚石的人。
评论
这在vim中一直是必需的。大概nvim将此设置为默认值,这就是为什么它在这里工作的原因。
–克里斯蒂安·布拉班特(Christian Brabandt)
17年7月1日在19:41
@ChristianBrabandt是的,您当然是对的。
– lumbric
17年7月3日在23:23
我认为通常人们会在主文件夹中找到〜/ .vimrc,因为上一行指向〜/ .vim。
–康拉德
17年12月12日在13:09
最好遵循另一个答案,这样一个人就可以拥有特定于nvim的配置,同时将〜/ .vimrc用作共享配置。
–ryenus
18-09-18在3:54
尽管Neovim忽略了t_xx选项,但我认为用if!has('nvim')包裹这样的内容更为正确,例如本例。现在可能会忽略它们,但是如果将来发生变化怎么办?它还隐式表明该选项仅与Vim有关。
–零骑士
18/09/19在7:27
#4 楼
此处的方法尝试将~/.config/nvim
链接到~/.vim
,并使conf与vim
兼容。 ~/.config/nvim/init.vim
只是一个链接。实际上,插件路径会自动重用,以下修复方法是重用插件管理器。 # nvim conf dir: ~/.config/nvim
# vim conf dir: ~/.vim
# link the 1st as the 2nd with relative links
# Prepare a vimrc file in ~/.config/nvim folder
ln -sf ./init.vim ~/.config/nvim/vimrc
# Link the whole ~/.config/nvim folder as ~/.vim foler
ln -sf ./.config/nvim ~/.vim
来源:在vim和nvim之间共享confs
#5 楼
仅添加到ipatch答案(这是正确的答案),如果设置与Vim稍有不同,则可能需要调整路径。例如,在Windows上,而不是使用默认配置我正在使用:$HOME
+--.vimrc
+--.vim
我正在使用:
$HOME
+--vimfiles
+--vimrc
(原因是它更容易放置受修订控制的单个目录比文件和目录更重要,尤其是当文件位于主目录的根目录时。
以下对我有用:
评论
您可以将if has('nvim')用于仅nvim命令