Heim  >  Fragen und Antworten  >  Hauptteil

Wie vim unterschiedliche Schlüsselzuordnungen für verschiedene Sprachen verwendet

Ich möchte geschweifte Klammern der Eingabe öffnender Klammern zuordnen, um diesen Effekt zu erzielen

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

Ich kann den Effekt erzielen, indem ich die .vimrc im Home-Verzeichnis ändere. Das Problem ist, dass diese Einstellung für alle Dateien gültig ist.
Ich möchte diesen Effekt mit C++ haben, aber ich möchte diesen Effekt nicht mit anderen haben Sprachen (wie Python/Lua) Wie richte ich vim für eine bestimmte Sprache ein?
Welche Datei möchten Sie ändern?

伊谢尔伦伊谢尔伦2623 Tage vor1138

Antworte allen(1)Ich werde antworten

  • 習慣沉默

    習慣沉默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个空格。

    Antwort
    0
  • StornierenAntwort