166日目の記事になります。はじめに皆さん、vimのマーク機能使ってますか?私はあまり使っていませんでした。使う機会があったので、これを期に、vimのマーク機能についてまとめてみました。ちなみに、マーク機能というのは、簡単に言うと、現在地の登録と登録したポイントへのジャンプ機能のことです。マークを使うことで、現在地を登録しておき、必要になれば、そこにジャンプできます。マークの一括削除http://vim.wikia.com/wiki/Using_marksviminfomark情報が保存される仕組みは、viminfoにあります。mark情報は、viminfoを使わないとvimの終了と同時に失われます。viminfoには、以下の様な情報が記録されます。個人的には、m,を押すと、uniteでマーク一覧を選択して移動できるようにしています。これは、unite-markを使用します。あと、マークするには、mを押せば、自動でレジスタが選択されるようにしています。マーク箇所をハイライトしたい場合などは、visualmark.vimを使えばできます。カーソルは指定された位置に置かれます。カーソルは指定された位置の行の最初の非空白文字に置かれ移動は行単位です。カーソル位置を{a-zA-Z}にマークします(これは移動コマンドではありません。カーソルは動きません)。m直前位置マークをセットします。コマンドでこの位置に移動できます。(移動コマンドではありません。カーソルは動きません)。オペレータコマンドが複数のコマンドでシミュレートされるときに便利です。(移動コマンドではありません。カーソルは動きません)。択される範囲を変更するのに便利です。(移動コマンドありません。カーソルは動きません)。ビジュアルモードは設定できません。{a-zA-Z'}[range]の範囲の最後の行番号の0桁目を{a-zA-Z}にマークします。デフォルトはカーソル行です。入しなくてもよいです。含むファイル・位置へジャンプ。(別のファイルにある場合は移動コマンドにはなりません)。ジャンプするが、カレントバッファ内で移動する場合にはジャンプリストを変更しない。これはファイル内の最後の記憶している位置にジャンプする。|:keepjumps|も参照。現在のマークを全てリストします(移動コマンドではありません)。マークはリストされません。1桁目は桁番号0となります。指定されるマークをリストします(移動コマンドではありません)。指定されたマークを削除します。削除できるマークはA-Zと0-9などです。マーク'は削除できません。それらはダッシュで区切られたマーク名のリストを与えることで指定できます。スペースは無視されます。0-9を除くカレントバッファのすべてのマークを削除します。ありません}マークはどのようにしても見えません。マークは単に覚えておかれるファイル中の位置に過ぎません。マークと名前付きレジスタを混同しないようにしてください、まったく別のものです。1つのファイル中で有効です。大文字のマークで、ファイルマークとも呼ばれます。ファイル間でも有効です。ファイルによってセットされます。まではマークのあるファイルがバッファリストに存在する限り覚えておかれます。ファイルをバッファリストから削除するとそのファイルに関するマーク一は全て失われます。マークを含んでいる行を削除するとそのマークは消されます。小文字のマークはオペレータコマンドとともに使うことができます。位置に設定したりします。字のマークはアンドゥとリドゥによって復元することができます。ファイル名を含んでいます。ファイルからファイルに移動するのに使うことができます。大文字のマークをオペレータコマンドとともに使うにはマークは現在のファイルになければなりません。大文字のマークの場合は行を挿入/削除したり一時的に他のファイルを編集したりしてもマークのある行番号は覚えておかれます。ファイルに保持されます。まではこれらとはまったく異なります。使っている場合にのみ存在します。最後から1個前の位置、などなどです。フラグを使ってください。直前に変更またはヤンクされたテキストの最初の文字へ移動します。直前に変更またはヤンクされたテキストの最後の文字へ移動します。ありません}なんらかのオペレータコマンドを実行した後は、カーソルはオペレータを施したテキストの初めに置かれます。"P")の後は、カーソルは挿入された最初の行に位置する場合と最後に挿入された文字に位置する場合があります。上の4つのコマンドはカーソルをどちらかの終わりに位置させます。