有人能夠簡單地向我解釋根據文件類型更改Vim縮進行爲的最簡單方法嗎? 例如,若是我打開Python文件,則應縮進2個空格,可是若是我打開Powershell腳本,則應縮進4個空格。 html
就我的而言,我在.vimrc中使用如下設置: java
autocmd FileType python set tabstop=8|set shiftwidth=2|set expandtab autocmd FileType ruby set tabstop=8|set shiftwidth=2|set expandtab
將基於文件後綴的autocmd命令放在〜/ .vimrc中 python
autocmd BufRead,BufNewFile *.c,*.h,*.java set noic cin noexpandtab autocmd BufRead,BufNewFile *.pl syntax on
您正在尋找的命令多是ts =和sw = shell
我一般使用expandtab
設置,但這對makefile不利。 我最近補充說: vim
:autocmd FileType make set noexpandtab
到個人.vimrc文件的末尾,它會將Makefile,makefile和* .mk識別爲makefile,而且不會展開選項卡。 大概能夠擴展它。 ruby
使用ftplugins或自動命令來設置選項。 學習
在~/.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
您能夠將任何長命令或設置替換爲其短版本:
autocmd
: au
setlocal
: setl
shiftwidth
: sw
tabstop
: ts
softtabstop
: sts
expandtab
: et
我還建議學習tabstop
和softtabstop
之間的區別。 不少人不瞭解softtabstop
。
您能夠添加.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 ,向下滾動至文件類型插件部分。