Boostnote の Vim カスタムマッピングの追加方法
Markdown には Boostnote が便利
このあたりは以前記事にしましたので、そちらをご覧ください。
Vim Mode とは
Boostnote の公式で Vim Mode の紹介があります。ここのチュートリアルに沿ってやれば、キーバインドが Vim 準拠になります。ちゃんとノーマルモード やヴィジュアルモード 、インサートモード があり、移動のキーマッピングもほとんど実装されています。Boostnote の Vim mode はとても優秀です。
vimrc が欲しくなる
Boostnote に Vim mode があるから Boostnote を使っているといっても過言ではないぐらい Vim に依存している私です。Vim 使いとしては、vimrc みたいにカスタムキーマッピングを設定したいところ。個人的には kj
というキーマッピングを ESC
として使っているので、それがないのはとても辛い。
カスタムキーマッピングを設定する
ということで、色々中のコードを漁ってみました。すると、/usr/share/boostnote/resources/app/node_modules/codemirror/keymap/vim.js
というファイルに Vim のキーマッピングが設定されていることを見つけました。
このファイルの defaultKeymap
という配列に自分が追加したいキーマッピングを掘り込んでやれば、カスタムキーマッピングの登録が出来ました。どのように設定すればいいかは、同一のファイルの他のキーマッピングを参考すれば大体分かります。
先程のファイルの 41 行目あたりからです。
var defaultKeymap = [
{ keys: 'k', type: 'keyToKey', toKeys: 'gk'},
{ keys: 'j', type: 'keyToKey', toKeys: 'gj'},
{ keys: 'kj', type: 'keyToKey', toKeys: '<Esc>' , context: 'insert' },
// Key to key mapping. This goes first to make it possible to override
// existing mappings.
{ keys: '<Left>', type: 'keyToKey', toKeys: 'h' },
{ keys: '<Right>', type: 'keyToKey', toKeys: 'l' },
{ keys: '<Up>', type: 'keyToKey', toKeys: 'k' },
やっぱり ESC は kj でしょ!
ESC キーを jj
に設定している人を見かけますが、海外でもその設定が人気なようですが、同じキー2回って非効率じゃないですか?別々のキーを設定したほうがタイピングスピードがかなり早くなりますよね。ということで、kj
でA ESC
キーを設定するのはお薦めです!
Boostnote で快適 Vim ライフを!
というわけで、自分のカスタムキーマッピングをも設定できるようになった Boostnote は他の追従を許さない、一番の Markdown エディタとなったのでした。ぜひ、使ってみてくださいね!
コメント