markjump.vim : テキストに目印を挿入 + 目印をつけた場所に移動
このスクリプトでファイルに目印となる記号を書き込んでおくと、 その後、好きな時に、そのマークをつけた位置に、このスクリプトで移動することができます。 目印となるマーカーはファイルに埋め込まれるので、 後々になっても、そのマーカーを利用することができます。 (Windows, Mac)
概要
markjump.vim : Code transversal functions, move to prev/next marker, insert/strip markers.
http://www.vim.org/scripts/script.php?script_id=485
このスクリプトでファイルに目印となる記号を書き込んでおくと、
その後、好きな時に、そのマークをつけた位置に、このスクリプトで移動することができます。
目印となるマーカーはファイルに埋め込まれるので、
後々になっても、そのマーカーを利用することができます。
目印となるマーカーは、ユーザーが設定した特定の開始文字、終了文字に囲まれた文字列となります。
例えば、開始文字が「<<」、終了文字が「>>」の場合だと、下のようになります。
マーカーの例 その1 <<marker_name>>
マーカーの開始文字と、終了文字の間に文字が含まれている必要はありません。
マーカーの例 その2 <<>>
インストール方法
このスクリプトをインストールするには、
スクリプト をダウンロードして、
pluginディレクトリにコピーしてください。
マーカー文字の設定、キーマッピングの設をする場合は、 設定 の項目を参照してください。
ファイル | URL |
---|---|
markjump.vim | http://www.vim.org/scripts/script.php?script_id=485 |
使用方法
このスクリプトで用意されているコマンドの一覧です。
マーカーを書き込むコマンドと、それを検索するコマンドが用意されています。
軽く説明すると、
「:MI」でマーカーの挿入、
「:MN」、「:MP」でマーカーの検索を行えます。
より簡単にスクリプトを使いたいのなら、キーマップの 設定 をしておきましょう。
コマンド | 説明 |
---|---|
:MN | 進行方向側にマーカーを検索して、マーカーを見つけたら、その位置に移動します。 |
:MP | 進行方向とは逆側にマーカーを検索して、マーカーを見つけたら、その位置に移動します。 |
:MI | カーソル位置にマーカーを挿入します。 |
:MA | カーソル位置の右隣にマーカーを挿入します。 |
:MIV | ビジュアルモードで選択したテキストを、マーカーの開始文字、終了文字で囲んで、マーカーにします。 |
:MAV | ビジュアルモードで選択したテキストを、マーカーの開始文字、終了文字で囲んで、マーカーにします。:MIVと同じ。 |
:MS | カーソル位置にマーカーがあるなら、そのマーカーから、マーカーの開始文字、終了文字を取り除きます。 |
GUI版vimでは、このスクリプトをインストールすると、 メニューにスクリプト用の項目が追加されるので、これらを利用することもできます。
メニュー | 説明 |
---|---|
Prev Marker | 進行方向側にマーカーを検索して、マーカーを見つけたら、その位置に移動します。 |
Next Marker | 進行方向とは逆側にマーカーを検索して、マーカーを見つけたら、その位置に移動します。 |
Insert Marker | カーソル位置にマーカーを挿入します。 |
Append Marker | カーソル位置の右隣にマーカーを挿入します。 |
Strip Markers | カーソル位置にマーカーがあるなら、そのマーカーから、マーカーの開始文字、終了文字を取り除きます。 |
設定
マーカーの開始文字、終了文字の文字と、
コマンドを実行するキーマップを設定することができます。
マーカーの開始文字、終了文字の設定
スクリプトでデフォルトとして設定されているマーカーの開始文字、終了文字は、
ォ
になっているので、大半の日本人にとっては都合が悪いですね。
マーカーの開始文字、終了文字は、vimエディタの設定ファイルで、
次のように設定することで変更することができます。
:let L_Marker = "マーカーの開始文字" :let R_Marker = "マーカーの終了文字"
" マーカーの設定例 :let L_Marker = ">>" :let R_Marker = "<<
キーマッピングの設定
マーカーを挿入するときはともかく、
マーカーを検索する場合に、いちいち「:MN」とコマンドを入力するのは、
面倒だと思います。
キーマップを設定して、あるキーを入力した時に、コマンドを実行できるようにしておくと、
より容易に、このスクリプトが利用できるようになります。
名前 | モード | 説明 |
---|---|---|
MjInsMarker | インサートモード用 | カーソル位置にマーカーを挿入します。 |
MjNext | ノーマルモード用 | 進行方向側にマーカーを検索して、マーカーを見つけたら、その位置に移動します。 |
MjPrev | ノーマルモード用 | 進行方向とは逆側にマーカーを検索して、マーカーを見つけたら、その位置に移動します。 |
例えば、下のような設定を、vimの設定ファイルに書いておくと、
入力モードでの「 ¥ i 」入力で、マーカーの挿入、
ノーマルモードでの「 ¥ s 」または「 ¥ p 」の入力で、マーカーの検索を実行できるようになります。
" キーマッピング設定例。 :imap <LocalLeader>i <plug>MjInsMarker :nmap <LocalLeader>s <plug>MjNext :nmap <LocalLeader>p <plug>MjPrev
Note
キーマップのキーは、好きなキーに変更しても問題ありません。
変更する場合は、上の例だと、<LocalLeader>iの部分を置き換えると良いでしょう。
Recent Comments
ありがとうございます!
http://nanasi.jp/articles/howto/editing/visualcursor-endtoend.html · 7 years ago
知りませんでした。有難うございました。
http://nanasi.jp/articles/howto/file/open-with-format.html · 9 years ago
<c-f>1ページ分、下にスクロールする<c-b>1ページ分、上にスクロールする
どっちも逆です。
http://nanasi.jp/articles/howto/user-manual/user-manual-motion.html · 10 years ago
set 使用時に : で閉じるのを忘れて右往左往してました。
http://nanasi.jp/articles/howto/file/modeline.html · 10 years ago
やっぱり日本語の方が早いっす。
http://nanasi.jp/articles/howto/help/help_ja.html · 11 years ago