VIM视觉模式:突出显示每行中的最后2个字符?

时间:2008-10-30 17:44:28

标签: vim

我喜欢Vim的视觉模式。 v 用于高亮/选择字符或行, Ctrl v 用于矩形高亮显示,据我所知(我是初学者)。有没有办法使用可视模式突出显示最后两个字符,例如,某些选定行的每一行?所选行的长度不同。基本上,我想找到一种快速方法来删除某些选定行的最后两个字符。不确定我是否可以使用视觉模式突出显示不规则区域。

2 个答案:

答案 0 :(得分:9)

我对这类问题的处理方法是使用行选择(shift-V,光标移动)来选择感兴趣的行,然后输入:

 :s/..$//

这是一个替换,使用正则表达式..$,它将匹配行尾的最后两个字符。然后用'nothing'代替,即删除。

在vim中,一旦你选择了激活的行选择:,命令提示符将实际显示:

:'<,'>

下一个命令的选择地址的开始和结束(在本例中为s)

答案 1 :(得分:3)

我无法想到在可视模式下执行此操作的方法,但您可以使用这样的命令来执行此操作...

:10,20 normal $xx

这将转到第10行和第20行之间的每一行,使用$转到行尾,然后使用x两次删除两个字符。正常只是告诉vim使用以下符号,就好像它们是在正常模式下输入的键盘快捷键一样(即在击中esc之后)。

这有帮助吗?