0

Vim 有一个键绑定来交换两个单词,同时将光标保持在同一个位置,详见此处

:nnoremap gw "_yiw:s/(\%#\w+)(\W+)(\w+)/\3\2\1/

不幸的是,这似乎在 VSVim 中不起作用,并报告找不到模式:(\%\w+)(\W+)(\w+)。我注意到错误消息报告的模式中缺少 # 。我想知道是否有人知道绑定的正则表达式元素可能存在什么问题以及 # 的作用是什么?

4

1 回答 1

0

\%#在 vim 的正则表达式中给出了光标位置(参见http://vimdoc.sourceforge.net/htmldoc/pattern.html#/\%#

它似乎也不适合我,似乎是一个不错的功能请求,我在这里添加了它:https ://github.com/jaredpar/VsVim/issues/1780

编辑:开发人员回应说这个功能超出了 VsVim 的范围:

不幸的是,这是我目前无法使用的功能。我的正则表达式基础结构基于使用 .NET Regex。他们没有光标位置的概念,我无法将光标位置转换为正则表达式元素。因此,如果不从头开始创建一个完整的正则表达式引擎,就无法做到这一点,这目前超出了本项目的范围。

于 2016-05-10T14:36:45.867 回答