Vimメモ : vim-easymotionで簡単にカーソル移動
vim-easymotion
カーソル移動を簡単にするvim-easymotion
プラグインを試してみる。
Vimのカーソル移動と言えばhjkl
キーでの基本的な移動や、w
キーでのワード単位の移動などがある。
例えば、下記テキスト(ちなみに、このテキストはヘルプに書いてあったものだが出版、ウェブデザイン分野の典型的なダミーテキストらしい)でカーソルが行頭にあったとする。sit
の位置までカーソルを移動するためには、3ワード分進む必要があるため、3w
と入力すればよい。
<cursor>Lorem ipsum dolor sit amet.
もちろんこの方法でもよいが、vim-easymotion
を使うと見た目にわかりやすくカーソル移動ができる。vim-easymotion
をインストールした状態で<Leader><Leader>w
と入力すると以下のように各ワードの先頭がハイライトされる。
ここで赤色でハイライトされた文字を入力するとその場所に移動できる。sit
へカーソル移動したい場合はd
を入力すればよい。このように見た目にわかりやすくカーソル移動できるのがvim-easymotion
の基本的な考えらしい。テキストが長い場合などは非常に便利。
インストール
NeoBundleの場合は下記行をvimrc
に追加。
NeoBundle 'easymotion/vim-easymotion'
使い方
はじめに、easy-motion
のプレフィックスキーは他のプラグインとの衝突を避けるため<Leader><Leader>
となっているが、前バージョンのように<Leader>
としたい場合は下記行をvimrc
に追加する。
map <Leader> <Plug>(easymotion-prefix)
使い方はヘルプを見るといろいろなキーマッピングが紹介されているが使いこなせないのでREADME.md
に書かれていた最小設定を参考にする(なお、この設定ではデフォルトマッピングを無効にしているので冒頭で紹介した<Leader><Leader>w
は使えなくなる)。
map <Leader> <Plug>(easymotion-prefix) let g:EasyMotion_do_mapping = 0 " Disable default mappings " Jump to anywhere you want with minimal keystrokes, with just one key binding. " `s{char}{label}` " nmap s <Plug>(easymotion-overwin-f) " or " `s{char}{char}{label}` " Need one more keystroke, but on average, it may be more comfortable. nmap s <Plug>(easymotion-overwin-f2) " Turn on case insensitive feature let g:EasyMotion_smartcase = 1 " JK motions: Line motions map <Leader>j <Plug>(easymotion-j) map <Leader>k <Plug>(easymotion-k)
上記設定での使い方として下記のテキストを例に説明する。
まず<Leader>s
を入力すると下記コマンドラインが表示される。
ここで9行目のsqlite3
部分に移動したい場合は、検索文字列としてsq
の2文字を入力する。
そうすると下図のようにハイライトされるので、目的の位置のd
を入力すれば移動が完了する。
それ以外の移動方法としてj
の代替として<Leader>j
と入力すると図のようにカーソル以下の行がハイライトされるので行移動が簡単にできる。
- 作者: DrewNeil,新丈径
- 出版社/メーカー: KADOKAWA / アスキー・メディアワークス
- 発売日: 2014/01/28
- メディア: Kindle版
- この商品を含むブログ (3件) を見る