Vim正在展示一些混淆我的配置行为。
我已经读过vim接受$VIM/vimrc
作为默认配置文件。在我的shell环境中,$VIM
设置为/etc/vim
,但/etc/vim/vimrc
未用作默认配置文件。相反,使用了/usr/share/vim/vimrc
。
我在我的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
,则映射只会在行的开头插入//
。怎么会这样?
如果:show cmd
在我知道的配置文件中,为什么showcmd没有设置?
答案 0 :(得分:1)
从不 在$VIM
中执行任何操作。
所有您的配置应该发生在~/.vim
目录和~/.vimrc
文件中。
将这一行放在~/.vimrc
中,你就可以了:
nnoremap ccom :normal I//<CR>
修改的
$VIM
是Vim的默认运行时。因此,它的设置方式可确保一致的用户体验。这有三个很好的理由,我相信我可以再挖几个:
更改该目录中的任何内容只会使Vim处于不一致状态,可能导致意外行为。
在下次升级(vim或系统)期间,该目录的内容(或部分内容)可能会被覆盖,基本上消除了您在那里进行的任何自定义。
大多数脚本是围绕一系列约定设计的,通常要求在运行时或源时间或其他任何地方都可以访问某些功能。在正常位置以外的任何地方安装这些脚本(~/.vim
)将导致更多意外行为。