Vim
在 Vim 中,如何自動確定是使用空格還是製表符進行縮進?
有時我會編輯其他流行樣式是使用選項卡的原始碼。在這種情況下,我想保留使用文字製表符的現有約定。
對於我自己創建的文件,以及使用空格作為主要縮進樣式的文件,我希望改用它。
我怎樣才能在 vim 中做到這一點?
您可以在您的中使用類似的東西
~/.vimrc
來調整以酌情使用空格/製表符:" By default, use spaced tabs. set expandtab " Display tabs as 4 spaces wide. When expandtab is set, use 4 spaces. set shiftwidth=4 set tabstop=4 function TabsOrSpaces() " Determines whether to use spaces or tabs on the current buffer. if getfsize(bufname("%")) > 256000 " File is very large, just use the default. return endif let numTabs=len(filter(getbufline(bufname("%"), 1, 250), 'v:val =~ "^\\t"')) let numSpaces=len(filter(getbufline(bufname("%"), 1, 250), 'v:val =~ "^ "')) if numTabs > numSpaces setlocal noexpandtab endif endfunction " Call the function after opening a buffer autocmd BufReadPost * call TabsOrSpaces()