0

いくつかのテキストを取得し、他のすべてを消去する単純な vim コマンドを作成しようとしています。

次の Vimスクリプトがそれを行います。

:let @a=""|%s//\=setreg('A', submatch(0), 'l')/g|%d _|pu a|0d _

このスクリプトをカスタム コマンドに入れます。

command! Getlinks :let @a=""|:%s/something/\=setreg('A', submatch(0), 'l')/g|:%d _|:pu a|:0d _

コマンドを実行するとGetlinks、すべてが削除されますが、一致したテキストは配置されません。しかし、スクリプトのコマンドを手動で実行すると、期待どおりに動作します。Getlinksコマンドとして使用すると、一致したテキストが表示されないのはなぜですか。

4

1 に答える 1

1

それらを削除し:、次の行を試してください:

command! Getlinks let @a=""|%s/something/\=setreg('A', submatch(0), 'l')/g|%d _|pu a|0d _
于 2013-09-05T14:54:58.107 に答える