VIM 已停止使用我的 _vimrc 并且我不知道它在哪里设置?

VIM 已停止使用我的 _vimrc 并且我不知道它在哪里设置?

我的 _vimrc 看起来像这样


set nocompatible
source $VIMRUNTIME/vimrc_example.vim
colorscheme pablo
set backup=~/vimfiles/backup
set directory=~/vimfiles/tmp

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\ ' . arg3 . eq
endfunction

不过我相信它使用的设置如下:


set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin

set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\ ' . arg3 . eq
endfunctio

问题在于:

A) 我喜欢我的配色方案,这要感谢您的帮助。

B) 我不想使用 mswin 配置。它让我很困惑,尤其是 ctrl-z 和 ctrl-v 执行我不喜欢的操作。我更喜欢使用 ctrl-v 进入可视模式,这样才有意义。

C) 我想要为 vim 设置一个临时目录和备份。(说实话我不确定我是否做对了这部分。

答案1

在 VIM 中,输入:version,它至少会向您显示 *vimrc 文件的加载顺序。

至于 c),该set directory位决定 VIM 放置其交换文件的位置。要指定实际备份的位置,请使用:set backupdir

答案2

当您需要弄清楚为什么在 Vim 中设置或未设置某些内容时,了解一些 Vim 的常规故障排除方法可能会很有用。

您可以在启动 Vim 后运行命令“ :scriptnames”来查看实际加载了哪些脚本。您的 vimrc 应该位于顶部附近(我的是 #1)。

确定设置选项的另一种方法是执行“:verbose set选项名称?“(带问号)。如果用户没有从 :-命令行手动设置该选项,则应该在选项的当前值下方有一个“上次设置自...”行。不幸的是,这不适用于非选项,尽管它可以用于其他调试。请参阅“ :help :verbose”。

答案3

您可以使用变量 $MYVIMRC 查看首先找到并使用哪个 vim 初始化文件。只需在 vim 会话中的命令(冒号)提示符下回显它即可

:echo $MYVIMRC

相关内容