我经常不得不手动缩进,但是当我进入可视模式时,选择要缩进的行,然后按<>,无论是否要退出可视模式。

我宁愿拥有这样我就可以保持视觉状态,并保持选择和光标位置不变。

如何实现此目的?

评论

重新映射是否可以解决问题?像:vmap <

#1 楼

我在vimrc中有此命令:

"keep visual mode after indent
vnoremap > >gv
vnoremap < <gv


请注意,您也可以简单地使用.(点)重复上一个缩进操作。

评论


几乎完美,除了我的光标不随行移动。

– Akiva
16年6月24日在14:17

@Akiva也许您想在该映射的末尾添加^?即> gv ^?

–马丁·图尔诺伊(Martin Tournoij)
16 Jun 24'14:21



光标似乎在移动(或不移动),具体取决于其相对于缩进文本的位置。我不清楚您希望光标停留在什么位置:是在同一列号上还是在同一字符上?另外,您知道您仍然可以移动光标,例如在可视模式下使用j,k,l等?

– VanLaser
16 Jun 24'14:32



老实说,我只是在命令后面加上了,效果很好。

– Akiva
16年6月24日在14:42

#2 楼

我知道这不是自动解决方案,但是您可以通过在可视缩进之后使用gv来实现此目的。

这将进入可视模式,其中选择了上一个选择,并且光标位于最后一行。有关更多信息,请参见:h gv

#3 楼

我尝试将以下映射添加到我的vimrc中:

vmap < <a
vmap > >a


似乎有有趣的结果,也许这就是您要查找的内容?