vim のコードチャンクとマクロに対する最適な戦略は何ですか?

StackOverflow https://stackoverflow.com/questions/54401

  •  09-06-2019
  •  | 
  •  

質問

vim で開発を進めていくと、Eclipse の「テンプレート」のような便利なコードのブロックをコピーしたくなるようになります。

コードチャンクごとに別のファイルを作成し、単にそれらを読み込むことを考えていました

:r code-fornext

しかし、それはちょっと原始的なように思えます。グーグルで調べてみると、vim マクロについての記述や「マップ」に関する記述が見つかりましたが、簡単そうなものは何もありませんでした。

私が探しているのは例えばです。Eclipse の「テンプレート」のようなものなので、コードのチャンクの中央にカーソルを置いてポップインします。あるいは、JEdit の「マクロ」を使用すると、複雑な削除や名前変更を 1 行で記録でき、その後、他の 10 行で再度再生して同じことを行うことができます。

vim にはこれら 2 つの機能のようなものはありますか?

役に立ちましたか?

解決

Vim でマクロを記録するには、コマンド モードで、 q キーとマクロを割り当てる別のキーを押します。マクロをすぐに捨てるには、通常はただ押すだけです qq マクロを q 鍵。録音モードに入ったら、キーストロークを実行してください。完了したら、コマンドモードに戻っていることを確認して、 をクリックしてください q もう一度押すと録音が停止します。次にマクロを手動で再生するには、次のように入力します。 @q. 。以前に実行したマクロを再実行するには、次のように入力します。 @@ または、10 回実行するには、次のように入力します。 10@q または 20@q, 、など。

要約すれば:

+----------------------------------+-------------------------------------+
| start recording a macro          | qX (X = key to assign macro to)     |
+----------------------------------+-------------------------------------+
| stop recording a macro           | q                                   |  
+----------------------------------+-------------------------------------+
| playback macro                   | @X (X = key macro was assigned to)  |
+----------------------------------+-------------------------------------+
| replay previously played macro   | @@                                  |
+----------------------------------+-------------------------------------+

コードチャンクに関しては、TextMate のスニペット機能を模倣した snipMate という Vim プラグインを見つけて使い始めました。プラグインはここから入手できます。

http://www.vim.org/scripts/script.php?script_id=2540

そして、snipMate の使用に関する短い記事 (使用中の短いスクリーンキャストとともに):

http://www.catonmat.net/blog/vim-plugins-snipmate-vim/

これがお役に立てば幸いです。

他のヒント

vim.wikia には、 ヒントのカテゴリー スニペットと略語の拡張に特化しています。複雑なスニペット/テンプレート ファイルの定義を容易にするプラグインのリストも表示されます。

HTH、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top