配置Vim的奇怪之处

时间:2013-06-02 18:35:14

标签: shell vim configuration keymapping

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>放在当前行的开头。这是一个故障。同样,如果我使用-u /usr/share/vim/vimrc启动vim,映射会表现出相同的不良行为。但是,如果我使用ex命令source /usr/share/vim/vimrc,则映射只会在行的开头插入//。怎么会这样?

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

1 个答案:

答案 0 :(得分:1)

从不 $VIM中执行任何操作。

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

将这一行放在~/.vimrc中,你就可以了:

nnoremap ccom :normal I//<CR>

修改

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

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

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

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