我想把大括号映射成输入左大括号就有这样的效果
int main(void){
//缩进了
}
我通过修改home目录下的.vimrc可以达到效果,问题是这样设置是对所有的文件都有效的,
C++我想有这样的效果,但是别的语言(如python/lua)我不想有这样的映射,怎样针对某种语言进行vim的设置呢?
要修改哪个文件呢?
習慣沉默2017-07-03 11:44:28
也是写在.vimrc
里,但是要指定文件类型:
filetype indent on
autocmd FileType cpp setlocal ......
# 后面省略号为具体设置,空格分隔,缩写见下表
变量名 | 缩写 | 含义 |
---|---|---|
(no)autoindent |
ai |
自动缩进,即为新行自动添加与当前行同等的缩进。 |
(no)cindent |
ci |
类似C语言程序的缩进 |
(no)smartindent |
si |
基于autoindent的一些改进 |
tabstop=X |
ts |
编辑时一个TAB字符占多少个空格的位置。 |
shiftwidth=X |
sw |
使用每层缩进的空格数。 |
(no)expandtab |
(no)et |
是否将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V<TAB> |
softtabstop=X |
sts |
方便在开启了et后使用退格(BACKSPACE)键,每次退格将删除X个空格 |
(no)smarttab |
(no)sta |
开启时,在行首按TAB将加入sw个空格,否则加入ts个空格。 |