## 概要 [[Obsidian]]のプラグイン以下2つを使って[[Vim]]の[[EasyMotion]]っぽい機能を実現する。 - [[Jump to link]] - [[Vimrc Support Plugin (Obsidian)|Vimrc Support Plugin]] 例によって基本はアルファベットや数字のみ。 ## 指定した単語に移動する はじめに移動対象となる文字列の正規表現を設定しておく。以下は一例。 ``` \b[\w.]{3,}\b ``` 機能は2つのいずれかを使う。 ### Jump to Anywhere Regex [[Vimium]]のように、実行するとジャンプできる箇所がすべて表示され、マーカーのキーを押すことで移動できる。 ### Lightspeed Jump [[EasyMotion]]のようにコマンド実行してから、さらに単語の先頭文字列で絞り込むコマンド。[[lightspeed]]をインスパイアしているらしく、先頭2文字を表示するとマーカーが表示される。 ## Vimモードでキーバインドを割り当てる [[Vimrc Support Plugin (Obsidian)|Vimrc Support Plugin]]を使って、vimrcのような設定を書けるようにする。 [[Vim]]モードを使わなければショートカットキーの割り当てで問題ない。[[Vim]]モードを使っている場合、NORMALモードからワンキーで起動したくなるのでそれを実現する。 [[ノーマルモード]]にて以下のように設定したい場合 - `s`で`Lightspeed Jump` - `gs`で`Jump to Anywhere Regex` [[Notes/obsidian.vimrc|.obsidian.vimrc]]を以下のように設定する。 ```vim:.obsidian.vimrc exmap jumpanywhere obcommand mrj-jump-to-link:activate-jump-to-anywhere nmap gs :jumpanywhere exmap jumpToLink obcommand mrj-jump-to-link:activate-lightspeed-jump nmap s :jumpToLink ``` ## 気になる点 - [[Vim]]のhistoryに記録されない - `Ctrl + I`や`Ctrl + O`で移動できない [^1]: `jumpanywhere`の部分はなんでもいい