マーク機能

Posted on:

ovのマーク機能は、画面上の位置を記憶する機能で、後でその位置にジャンプできます。 mでマークを設定し、shift+mでマークを取り消し、>で次のマーク、<で前のマークに移動できます。 また全部のマークを削除したいときにはctrl+deleteで削除できます。

v0.51.1より前のマーク機能は、設定されたマークを順番に移動することしかできませんでした。

v0.51.1ではマーク機能が大幅に強化され、マークの番号指定と現在のマーク位置からの相対移動が可能になりました。 マークの指定移動は、要件としては把握していましたが、マークしたこととその番号またはキーを覚えていないといけないため、使うのが難しいと考えて実装していませんでした。

ただ、マークの一覧が表示できれば、指定しての移動が簡単になるため、マークの一覧が表示できるかどうかが重要なポイントでした。 そこで、ov自体にサイドバーを実装して、マークの一覧を表示できるようにしました。

mark mark

サイドバーのマークの一覧は、マークの番号、行番号、マークの内容を表示します。 サイドバーはデフォルトキーのalt+m(マーク一覧のサイドバー)で表示、非表示ができます。

マークの移動は、>(次のマーク)と<(前のマーク)に加えて,によりマークの番号を指定して移動することもできます。サイドバーを非表示にしておいても,でマークの入力モードに入ったときにはマークの一覧が表示されます。このときに、先頭に+または-を入力することで、現在のマーク位置からの相対移動もできます。

mark number mark number

マークの一覧が表示されることで、これまであまり使われていなかったマーク機能が、より便利に使えるようになったと思います。

さらにマーク機能の強化として、検索パターンによってマッチした行を全部マークする機能を追加しました。

/,?,&による検索のように*を使って、パターンにマッチした行をマークすることができます。

mark search mark search

この機能は、例えば、特定の単語が含まれる行を全部マークして、その行だけを順番に見ていきたいときなどに便利です。