如何缩进> <而又不退出可视模式并丢失当前选择?


16

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

我宁愿拥有它,也可以保持可视模式,并保持选择和光标位置不变。

我该如何实现?


1
重新映射是否可以解决问题?像:vmap < <a什么?
Feffe

Answers:


19

我的vimrc中有这个:

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

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


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

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

2
光标似乎根据其相对于缩进文本的位置而移动(或不移动)。我不清楚您希望光标停留在什么位置:相同的列号还是相同的字符?另外,你知道,你仍然可以移动光标例如用jkl等,同时视觉模式?
VanLaser

2
老实说,我只是将<Right>And 放在<Left>命令后面,这样就可以了。
Akiva

9

我知道这不是一个自动解决方案,但是您可以通过使用gv视觉缩进来实现。

这将进入可视模式,并选择先前的选择,并将光标置于最后一行。请参阅:h gv以获取更多信息。


-2

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

vmap < <a
vmap > >a

似乎有有趣的结果,也许这就是您想要的?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.