使用expandtab后将tabstop从4更改为2(手动操作最少)

时间:2010-08-19 03:39:09

标签: vim tabs tabstop

有一段时间我在源文件中使用了tabstop = 4。现在我写了很多有深度缩进的javascript,一个4的tabstop似乎很浪费,所以我想把它转换为2.问题是我也使用“set expandtab”。所以仅设置tabstop = 2,将无济于事。

有关如何将所有文件快速转换为tabstop 2的任何建议?

我当前的相关.vimrc设置是

set tabstop=4
set shiftwidth=4
set expandtab

2 个答案:

答案 0 :(得分:10)

你可以做到

" convert spaces to tabs first
set noexpandtab
set tabstop=4
set shiftwidth=4
retab!
" now you have tabs instead of spaces, so insert spaces according to
" your new preference
set tabstop=2
set shiftwidth=2
set expandtab
retab!

在vim窗口中,它将根据您的喜好重新标记。您可以创建映射以使其更容易,或记录宏。可能有另一种方式,但上述方法应该有效。 ("是评论)

答案 1 :(得分:6)

您可以更改设置,选择全部,然后点击=键进行缩进:

ggVG=

我还建议使用ftplugin指定每种文件类型的设置。