VIM:最後に使用したexコマンドをどのように取得しますか?


10

たくさんのことをする非常に長いexモードコマンドを書くことがあります。これらは一種の「ミニスクリプト」であり、テキストエディタで記述してからexモードを開始してex行にコピーして実行します。しかし、私は常にexモードで編集することになり、exモードで行った変更をテキスト編集セッションに戻すのが難しいことに気づきました。

キーボードを使用して、最後に使用したexコマンドをどのようにコピーしてテキストエディターに貼り付けますか?

(注:これは、この質問の「vim exモードでコピー/貼り付けを行うにはどうすればよいですか」とユーザーが尋ねる「テキストエディターからコピーしてexモードに貼り付けるにはどうすればよいですか?」の一種です。私の質問は、 exモードからコピーしてテキストエディターに貼り付けたいので、反対です。)


私はこれを行うkludgeを持っています...しかし、マウスを選択する必要があります...コピーするgvimプルダウンメニュー...そしてex行が2行である場合、貼り付けは迷惑な新しい行を持っています。(しかし、私がマウスとGUIを使用してコピー/貼り付けをしているというのはもっと厄介なことです...)。
Trevor Boyd Smith

回答:


16

:あなたは、単にコマンドを入力することができますので、あなたは、走った-command(EXコマンド):レジスタは、最後が含まれている":p現在のバッファに、そのレジスタを貼り付ける(二重引用符で)。見る:

:help registers
:help ":

最後の検索用のレジスタ、現在のバッファの名前などがあることに注意してください。


17

q:コマンドを試してください。(これは最初の2つの文字、だq、その後に:。)これは、特殊なVimのバッファにあなたの元コマンド履歴を開きますノーマルモードコマンドです。履歴を確認したり、いつものように必要なものをヤンクしたり、行を編集したり<enter>、それを押して実行したりできます。


:q代わりにタイプしないように注意してください。これは私の筋肉の記憶が私に強要しようとしています!
Frajjous

7
q:通常モードで動作します。すでにコマンドライン(ex)モードになっている場合は、Ctrl-Fを押してそのコマンドラインウィンドウを開きます。
garyjohn、2011年

うーん... Ctrl + Fは元のモードのコマンドラインで "^ F"と表示するだけで何もしません。魔法のソースが足りませんか?
Stabledog '14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.