時には、タブを使用するスタイルが人気のある他のソースコードを編集することもあります。この場合、リテラルタブを使用する既存のルールを維持したいと思います。
代わりに、自分で作成したファイルとデフォルトのインデントスタイルでスペースを使用するファイルにこの方法を使用したいと思います。
vimでどうすればいいですか?
ベストアンサー1
~/.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()