按文件類型更改Vim縮進行爲

有人能夠簡單地向我解釋根據文件類型更改Vim縮進行爲的最簡單方法嗎? 例如,若是我打開Python文件,則應縮進2個空格,可是若是我打開Powershell腳本,則應縮進4個空格。 html


#1樓

就我的而言,我在.vimrc中使用如下設置: java

autocmd FileType python set tabstop=8|set shiftwidth=2|set expandtab
autocmd FileType ruby set tabstop=8|set shiftwidth=2|set expandtab

#2樓

將基於文件後綴的autocmd命令放在〜/ .vimrc中 python

autocmd BufRead,BufNewFile   *.c,*.h,*.java set noic cin noexpandtab
autocmd BufRead,BufNewFile   *.pl syntax on

您正在尋找的命令多是ts =和sw = shell


#3樓

我一般使用expandtab設置,但這對makefile不利。 我最近補充說: vim

:autocmd FileType make set noexpandtab

到個人.vimrc文件的末尾,它會將Makefile,makefile和* .mk識別爲makefile,而且不會展開選項卡。 大概能夠擴展它。 ruby


#4樓

使用ftplugins或自動命令來設置選項。 學習

ftplugin

~/.vim/ftplugin/python.vim: spa

setlocal shiftwidth=2 softtabstop=2 expandtab

而且不要忘記在~/.vimrc打開它們: .net

filetype plugin indent on

:h ftplugin瞭解更多信息) 插件

自動命令

~/.vimrc

autocmd FileType python setlocal shiftwidth=2 softtabstop=2 expandtab

您能夠將任何長命令或設置替換爲其短版本:
autocmdau
setlocalsetl
shiftwidthsw
tabstopts
softtabstopsts
expandtabet

我還建議學習tabstopsofttabstop之間的區別。 不少人不瞭解softtabstop


#5樓

您能夠添加.vim文件,只要vim切換到特定文件類型便可執行。

例如,我有一個~/.vim/after/ftplugin/html.vim ,內容以下:

setlocal shiftwidth=2
setlocal tabstop=2

這致使vim使用寬度爲2個字符的製表符進行縮進( noexpandtab選項在個人配置中的其餘位置全局設置)。

對此進行了描述: http : //vimdoc.sourceforge.net/htmldoc/usr_05.html#05.4 ,向下滾動至文件類型插件部分。

相關文章
相關標籤/搜索