vim 如何对不同的语言采用不同的键映射

【字号: 日期:2023-07-22浏览:35作者:雯心

问题描述

我想把大括号映射成输入左大括号就有这样的效果

int main(void){ //缩进了}

我通过修改home目录下的.vimrc可以达到效果,问题是这样设置是对所有的文件都有效的,C++我想有这样的效果,但是别的语言(如python/lua)我不想有这样的映射,怎样针对某种语言进行vim的设置呢?要修改哪个文件呢?

问题解答

回答1:

也是写在.vimrc里,但是要指定文件类型:

filetype indent onautocmd FileType cpp setlocal ......# 后面省略号为具体设置,空格分隔,缩写见下表变量名缩写含义(no)autoindentai自动缩进,即为新行自动添加与当前行同等的缩进。(no)cindentci类似C语言程序的缩进(no)smartindentsi基于autoindent的一些改进tabstop=Xts编辑时一个TAB字符占多少个空格的位置。shiftwidth=Xsw使用每层缩进的空格数。(no)expandtab(no)et是否将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V<TAB>softtabstop=Xsts方便在开启了et后使用退格(BACKSPACE)键,每次退格将删除X个空格(no)smarttab(no)sta开启时,在行首按TAB将加入sw个空格,否则加入ts个空格。

相关文章: