vimの便利なPlugin(その23)bookmarks ~ マークをメモ付きで管理

 

先日ご紹介したvim-signatureに続きvimのマーク機能に関するプラグインのお話です。 マーク機能は、アルファベットや記号キーをファイル内ポジションに紐付けておいて、そこに素早く移動できる機能でした。 vimに付属しているマーク機能をそのまま使ってもいいですが、vim-signatureを使ってマーク場所を表示してあげるだけで、格段に使いやすくなりました。 また、ロケーションウィンドウを開いて登録されているマークをリスト表示し、マークを選択しエンターするだけでそのポジションに移動できるのは感動ものです。 今回紹介するvim-bookmarksは、更にマークしたポジションにメモを追加できます。 私は、このプラグインに設定されているデフォルトのショートカットキーの方がvim-signatureのものより覚えやすく好きです。 (vim-signatureと同時に使って問題があるかどうかは検証していません。。。) 試してみた環境は以下となります。

  • CentOS6.8 x86_64
  • vim-7.4

Install

今回もdein.vimを前提とさせていただきます。 まだ、dein.vimを使っていない方は(その5)から。

call dein#add(‘mattesgroeger/vim-bookmarks’)

これで「:call dein#install()」をコマンドラインモードで実行すれば、インストールは終了。

使い方

特に設定をすることなく次のテーブルにあるショートカットキーが使えます。

mm :BookmarkToggle カーソルのあるラインのブックマークを追加/削除
mi :BookmarkAnnotate <TEXT> カーソルのあるラインのメモを追加/編集/削除
mn :BookmarkNext 次のブックマークに移動
mp :BookmarkPrev 前のブックマークに移動
ma :BookmarkShowAll 全てのブックマーク(ロケーションリスト)を別ウィンドウ表示
mc :BookmarkClear 現バッファにあるブックマークのみを削除
mx :BookmarkClearAll 全てのバッファにあるブックマークを削除
[count]mkk  :BookmarkMoveUp [<COUNT>] count数行分だけ現カーソルがあるブックマークを上に移動
[count]mjj :BookmarkMoveDown [<COUNT>] count数行分だけ現カーソルがあるブックマークを下に移動
[count]mg :BookmarkMoveToLine <LINE> 行数を指定して現カーソルがあるブックマークを移動
 :BookmarkSave <ファイルパス>  全てのブックマーク情報をファイルに保存
  :BookmarkLoad <ファイルパス>  ファイルに保存されているブックマーク情報を読み込む

取り急ぎカーソルのあるラインをマークしたいのでしたら、mm と入力するだけです。 特にマークするのにアルファベットや記号を割りあてる必要がありません。 bookmarkプラグインが自動で割りあててくれます。 ラインの左端に、のマークが出てくると思います。 いくつかの行をマークしたら、ma と入力するとロケーションウィンドウにマーク情報がリスト表示されます。 マークした行へ移動するには、リスト上で選択してエンターするだけです。 マークした行が多くなると混乱しますのでメモを追加すると良いでしょう。 メモを追加したいマークの行へカーソルを持っていき、mi とするとステータスラインに「Enter annotation:」と出てきますので、そこでメモを入力してエンターを押します。 すると左端のマーク記号がに変わります。 メモした情報はロケーションウィンドウでリスト表示した際に表示されます。 こうして置くことでリストから目的のマークを選択するのが簡単になります。 以上が簡単な操作方法になりますが、実際に言葉で説明するより動作を見た方が分かりやすいかと思いますので動画を載せておきます。

ここでロケーションウィンドウで移動したいマークを選択した際にウィンドウが閉じられていますが、この動作は、.vimrcに以下のオプションを入れているからです。 お好みによって変更して下さい。

let g:bookmark_auto_close = 1

その他のオプションを載せておきます。 詳細は、ヘルプメニューで確認して見て下さい。

オプション 説明(初期値)
bookmark_sign ブックマークアイコン設定(⚑)
bookmark_annotation_sign ブックマークのメモアイコン設定(☰)
bookmark_save_per_working_dir ブックマークをディレクトリ毎に保存するかどうか?(0)
bookmark_auto_save ブックマーク自動保存(1)
bookmark_manage_per_buffer バッファを移動したときにブックマークを保存し、他のバッファに入ったときにブックマークを読み込む(0)
bookmark_auto_save_file 保存先ファイルの設定($HOME .’/.vim-bookmarks’)
bookmark_auto_close ブックマークへ移動するときにロケーションウィンドウを閉じるかどうか(0)
bookmark_highlight_lines ブックマークしているラインのハイライトの有無(0)
bookmark_show_warning ブックマークを削除するときWarningを出すかどうか(1)
bookmark_show_toggle_warning ブックマークのメモを削除するときWarningを出すかどうか(1)
bookmark_center ブックマークに移動のするときそのラインをウィンドウの中心にもってくるかどうか(0)
bookmark_no_default_key_mappings 初期のキーマッピングを行うかどうか(0)
bookmark_location_list 全てのブックマーク表示にロケーションリストをつかうかどうか(0)
bookmark_disable_ctrlp 全てのブックマーク表示にctrlpインターフェイスを利用しない(0)
  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら