首頁  >  問答  >  主體

vim 如何對不同的語言採用不同的鍵映射

我想把大括號映射成輸入左大括號就有這樣的效果

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

我透過修改home目錄下的.vimrc可以達到效果,問題是這樣設​​定是對所有的檔案都有效的,
C 我想有這樣的效果,但是別的語言(如python/lua)我不想有這樣的映射,怎麼能針對某種語言進行vim的設定呢?
要修改哪個檔案呢?

伊谢尔伦伊谢尔伦2623 天前1137

全部回覆(1)我來回復

  • 習慣沉默

    習慣沉默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
    softtabstop=X sts 方便在開啟了et後使用退格(BACKSPACE)鍵,每次退格將刪除X個空格
    (no)smarttab (no)sta 開啟時,在行首按TAB將加入sw個空格,否則加入ts個空格。

    回覆
    0
  • 取消回覆