## 概要
[[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`の部分はなんでもいい