nvim 標準コマンド

nvim 標準コマンド

neovim 0.4.3-3の通常モードでは、このコマンドは次のようになります。

:put=range(1,4)

1から4までの番号付きリストを配置します。

しかし、次のように空の行に数字を入力したい場合は、次のようになります。

:g/^$/norm :put=range(1,14) 

期待どおりに動作しません。空行だけが強調表示されますが、putは機能しません。なぜですか?

答え1

この:normalコマンドは完全なコマンドのみを実行し、:putExコマンドには実際に実行するための「Enter」はありません。

~から:help :normal:

{commands}完全なコマンドでなければなりません。コマンドが完了しないと、orと{commands}入力するのと同様に、最後のコマンドが中断されます<Esc><C-C>:注文も完了する必要があります。

コマンドの最後に追加の「Enter」文字を追加すると、この問題を解決できます。この文字は次のように入力できます。

Ctrl+ VEnter

^MVimでは、次のように表示されます。

:g/^$/norm :put=range(1,14)^M

(コマンドに「Enter」テキストを入力しない方法があります。たとえば、この:executeコマンドはこの目的によく使用されます。)

しかし、この場合はより簡単な解決策があります。すぐにあきらめて:normal実行:gすることです:put

:g/^$/put=range(1,14)

この:gコマンドは、一致するすべての行に対してExコマンドを実行し、:putExコマンドであるため、ここでブローカーを切り捨てることができます。

このコマンドは、バッファの各空行に14の新しい番号付き行を追加します。これが本当にあなたの意図であるかどうかはわかりません。

関連情報