在vim中缩进多行时如何缩进空行?

在vim中缩进多行时如何缩进空行?,vim,indentation,Vim,Indentation,所以,如果我有这样的文本: int x() { int a = 1; return a; } 尝试缩进函数的内部部分不缩进空白行。(使用可视模式和>) 我如何改变vim的行为,使空白行也缩进? < p>我试图提供一个非常简单的方法来完成它。您可以尝试将块视觉模式与CTRL-V(或Windows上的CTRL-Q)一起使用,以选择要缩进的块(从第一列开始)。然后(您需要有+visualextra功能;使用:version查看是否有)您可以按I(我的意思是Shift-I)CTRL+TEsc。也可以

所以,如果我有这样的文本:

int x() {
int a = 1;

return a;
}
尝试缩进函数的内部部分不缩进空白行。(使用可视模式和>)


<>我如何改变vim的行为,使空白行也缩进?

< p>我试图提供一个非常简单的方法来完成它。您可以尝试将块视觉模式与
CTRL-V
(或Windows上的
CTRL-Q
)一起使用,以选择要缩进的块(从第一列开始)。然后(您需要有
+visualextra
功能;使用
:version
查看是否有)您可以按I(我的意思是
Shift-I
)CTRL+TEsc。也可以通过映射来实现

vnoremap <Leader><Key> I<c-t><Esc>
vnoremap I
更多关于这些


但是我真的认为你不应该使用只有空格的行。

你是说你想要一个只有空格的行吗?除了不必要的空格字节会使文件膨胀外,缩进的空行到底是什么样子?@Peter Rincker:是的@特瓦尔伯格:如果我有标签显示,例如管道,它会显示更清晰的缩进指南。例如:
:set list
:set listchars=tabs:| \
。此外,在上下移动时,它不会弄乱光标的位置,并且可以更轻松地创建具有正确缩进的新行。(在一个完全空的行上按
o
会产生一个新的完全没有凹入的行。)@nijoakim
o
/
o
S
/
cc
都能正常工作。很可能您的
vimrc
中没有
filetype插件缩进。此外,如您所愿使用空白将影响有用的段落运动,如
{
&
}
ip
&
ap
。您的光标位置也应该很好,因为vim存储虚拟列,所以从长线到短线再回到长线不会改变光标列。如果希望严格保持光标位置,您可能需要查看
'virtualedit'
。请参见
:h“virtualedit”