web-dev-qa-db-ja.com

vimマクロを保存する

誰もがvimエディター内に記録されたマクロを適切に保存/再利用する方法を知っていますか?

153
jnadro52

マクロを記録するには、qに続けて文字を使用します。これは、コピー/貼り付けレジスタの1つに移動するだけなので、通常モードで"xpまたは"xPコマンドを使用して通常どおり貼り付けることができます。

保存するには、.vimrcを開いて内容を貼り付けると、次にvimを起動したときにレジスタが保存されます。
形式は次のようなものです。

let @q = 'macro contents'

ただし、引用符には注意してください。彼らは適切にエスケープする必要があります。

したがって、マクロを保存するには、次のようにします。

  • 通常モードから:qq
  • 任意のコマンドを入力してください
  • 通常モードから:q
  • .vimrcを開きます
  • "qpはマクロをlet @q = '...'行に挿入します
198
Dan Olson

より堅牢なソリューションについては、 Marvim をチェックアウトできます。

特定の名前空間にマクロを保存する(または、デフォルトの名前空間としてファイルタイプを使用する)ことができ、保存したマクロを後で検索して、すぐに使用できるレジスタに読み込むことができます。

多くのマクロを再利用する場合、これは非常に役立ちます。

20
random

〜/ .vimrc内にマクロを記述し、例としてCTRL + Oによって起動されたマクロを定義するには、〜/ .vimrcに次の行を追加します。

map <C-O> MACROTEXT

qaと入力してマクロを記録すると、"apと入力してマクロテキストを取得できます。

18

:mkexrc(または:mkvimrc)コマンドを使用して、現在のすべての:mapおよび:setファイルへの設定。見る :help mkexrc 詳細については。

11

~/.vimrcでこれを行うことができます

:let @a="iHello World!\<CR>bye\<Esc>"

注:\<this silly example>のような特別なキーを使用するには、二重引用符を使用する必要があります。

3
SergioAraujo