2015-05-09 37 views
0

關於在vim中爲特定文件定義自己的縮進樣式有很多問題和解答。例如,對於python在Ubuntu默認的設置在ftype/python.vim可定製喜好的東西所覆蓋,具有聲明~/.vimrc如何尊重原作者在vim中的縮進?

aug python 
    au FileType python setlocal ts=3 sts=3 sw=3 noexpandtab 
aug end 

這是好的,如果我寫我自己的代碼,但如果我編輯別人的文件我想用他們的縮進樣式。

~/.vimrc中自動應用文件的現有縮進並同時使用我自己的縮進處理新文件的方法是什麼?

+1

https://github.com/tpope/vim-sleuth – FDinoff

+0

http://www.vim.org/scripts/script.php?script_id=3096 – romainl

+0

只能通過插件? –

回答

2

Vim沒有內置的自動縮進檢測/調整功能。 vim-sleuthYAIFA是兩個「安裝即忘」插件(還有其他一些),可以很好地工作。

如果您不希望第三方插件或不想寫你自己的,你可以嘗試這樣的事:

command! -nargs=1 Spaces execute "setlocal shiftwidth=" . <args> . " softtabstop=" . <args> . " expandtab" | set shiftwidth? softtabstop? expandtab? 
command! -nargs=1 Tabs execute "setlocal shiftwidth=" . <args> . " softtabstop=" . <args> . " noexpandtab" | set shiftwidth? softtabstop? expandtab? 

,您可以使用這樣的:

:Space 4 " 4 spaces for indentation 
:Tabs 3  " 3 chars-wide tabs for indentation