vimサラウンド +繰り返し、私のテキストを ^mで包みます
質問
VIMのサラウンドとリピートプラグインを使用して、HTMLタグでテキストの行を包みます。
「YSE」を使用しますu003Cp>"and" ys $u003Cp> 「、どちらもうまく機能します。
私は「」でコマンドを繰り返しようとします、そしてそれは示していますu003Cp>ターミナルでは、enterを押してコマンドを実行するたびに、サラウンドはどうあるべきかを置き換えますu003Cp>とu003C/p>^mで。
私の線は ^mtextのように見えます ^m
キャラクターをラインエンディングとして認識していますが、サラウンドが端末に表示されるコード(正しい)でラインを包むのがなぜではなく、代わりにDOSラインエンディングでラインを包みます。
Windows XPでGVIMを使用しています。
解決
それは実際にだからです <p>
コマンドを繰り返すとき、実際にはそこにありません .
これを試してください:コマンドを繰り返す前に .
最初のヒット o
テキストのコマンドライン領域を空にするには、 .
実際に空白であることがわかります。そのため、カーソルが最初のキャラクターに載っています。
ラッピングを適切に繰り返すには、入力する必要があります <p>
クイックマクロを毎回または記録します。
大きい: ys$<p>
それをvimに貼り付け、強調表示し、タイプします "py
これで、マクロを実行できます @p
他のヒント
surround.vim
のドキュメントには次のように書かれています
The "." command will work with ds, cs, and yss if you install repeat.vim, vimscript #2136.
したがって、使用している場合 yss
それは機能するはずですが、明らかに他のバージョンの」ys
「サポートされていません。良い機能が必要です。 repeat.vim
オーナー。
所属していません StackOverflow