-1

Vim 展示了一些让我感到困惑的配置行为。

  1. 我读过 vim 接受$VIM/vimrc它作为它的默认配置文件。在我的 shell 环境中,$VIM设置为/etc/vim,但/etc/vim/vimrc不用作默认配置文件。而是/usr/share/vim/vimrc使用。

  2. 我在我的 vimrc 文件(现在是/usr/share/vim/vimrc)中定义了以下映射,nnoremap ccom :normal I//< ESC>< CR>. 该映射应该在当前行的开头插入一个 c 样式的注释。当我使用这张地图时,我将文本//<ESC><CR>放在当前行的开头。这是故障。同样,如果我从 vim 开始-u /usr/share/vim/vimrc,映射会表现出相同的不良行为。但是,如果我使用 ex 命令source /usr/share/vim/vimrc,则映射只是//在行首插入。怎么会这样?

  3. :show cmd如果在我知道运行的配置文件中,为什么不设置 showcmd ?

4

1 回答 1

1

永远不要在$VIM.

您的所有配置都应该发生在~/.vim目录和~/.vimrc文件中。

把这条线放进~/.vimrc去,你就可以开始了:

nnoremap ccom :normal I//<CR>

编辑

$VIM是 Vim 的默认运行时。因此,它的设置方式可以保证一致的用户体验。这里有三个很好的理由,我相信我可以挖掘更多:

  • 更改该目录中的任何内容只会将 Vim 置于可能导致意外行为的不一致状态。

  • 该目录的内容(或部分内容)可能会在下一次升级(vim 或系统)期间被覆盖,基本上消除了您在那里所做的任何自定义。

  • 大多数脚本都是围绕一堆约定设计的,并且通常要求某些功能在运行时或源时或其他任何情况下都可以访问。将这些脚本安装在它们正常位置 ( ) 以外的任何地方~/.vim都会导致更多意外行为。

于 2013-06-02T18:50:37.327 回答