我在使用空格进行缩进时遇到问题。许多项目的编码指南指定代码应使用空格而不是制表符缩进。很公平。但是,当我使用他们的代码时,还有什么方法可以看到并使用我喜欢的移动宽度吗?
例如,这段代码使用8个空格缩进:
function foo() {
return 'foo';
}
有什么方法,当我在Vim中打开它时,它显示(和缩进,用于编辑),因为它(shiftwidth为4):
function foo() {
// edited to add this comment
return 'foo';
}
但是,当我保存它时,它会像这样保存(8个空格缩进):
function foo() {
// edited to add this comment
return 'foo';
}
当您使用制表符进行缩进时,这种情况很自然地发生。只需调整shiftwidth
即可,您可以根据自己喜欢的缩进进行编辑。但是,现在大多数项目似乎都需要使用空格进行缩进。在我个人喜欢的shiftwidth中编辑文件似乎是不可能的,但在使用空格时仍然符合项目的缩进指南。
答案 0 :(得分:2)
请参阅retab
的vim帮助。它有一个例子来做你要求的。
如果您没有相同的vim帮助文件,我会这样做:
*retab-example*
Example for using autocommands and ":retab" to edit a file which is stored
with tabstops at 8 but edited with tabstops set at 4. Warning: white space
inside of strings can change! Also see 'softtabstop' option. >
:auto BufReadPost *.xx retab! 4
:auto BufWritePre *.xx retab! 8
:auto BufWritePost *.xx retab! 4
:auto BufNewFile *.xx set ts=4