0

Vim には、カーソルを同じ場所に置いたまま 2 つの単語を入れ替えるキー バインディングがあります

: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 に答える