いくつかのテキストを取得し、他のすべてを消去する単純な 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
コマンドとして使用すると、一致したテキストが表示されないのはなぜですか。