gladevise Logo
HomeAboutContact

【Vim】カーソルを瞬間移動させるプラグインvim-easymotion


Vimのw,e,b,f,tを使ったVimの移動、面倒くさくないですか? 目的の場所に移動するために何度もwを押したり、行数を入力するために数字キーまで手を伸ばしたり、 そんなことをしている間に日が暮れてしまいそうです。

そんなあなたにオススメしたいのが、 vim-easymotion です。 このプラグインはいくつかのアルファベットの入力だけでカーソル自由自在に爆速で動かせるようになります。

Install vim-easymotion

vim-plugを使ってインストールする場合はvimrcに以下を追加してください。

Plug 'easymotion/vim-easymotion'

Settings vim-easymotion

vim-easymotionはデフォルトでも十分使えますが以下の設定を加えておくと、更に便利に使えます。

1つは easymotion-<motion-prefix>-f2 で任意の2文字から始まる文字列の先頭にジャンプすることができます。bdはBidirectionalの略で現在のカーソルから上下どちらにも移動することができます。overwinはウィンドウを飛び越えて移動できるモードです。

" s{char}{char} to move to {char}{char}
map <leader>s <Plug>(easymotion-bd-f2)
nmap <leader>s <Plug>(easymotion-overwin-f2)

<leader>sなどに設定しておくと便利です。

もう1つはeasymotion-bd-jkeasymotion-overwin-lineです。これらを下のように設定しておくと、<leader>lを押して任意の行に表示されたアルファベットを押すだけで、ウィンドウ内外問わず、その行に移動することができます。

" Move to line
map <leader>l <Plug>(easymotion-bd-jk)
nmap <leader>l <Plug>(easymotion-overwin-line)

これまで10G5kなど数字キーを使って行移動していましたが、これのお陰で数字を数えたり、読んだりすることなく、 より直感的に移動することができるようになりました!

Usage vim-easymotion

vim-easymotionでよく使う移動方法を下にまとめました。上の設定と合わせてご覧ください。

<leader><leader>w,W,e,E,b,Bで任意の単語へ移動できる <leader><leader>sで1文字を入力して移動するモード <leader>sで2文字を入力して移動する <leader>lで行移動モード

Reference

https://github.com/easymotion/vim-easymotion

Recent Posts

Next.jsでsitemap.xml生成する

Next.jsでSSRやnext-sitemapを用いてsitemap.xmlを生成する方法を紹介します。

Rust製の爆速端末Alacrittyのインストールと設定方法

Rust製のGPUで高速レンダリングするターミナルエミュレータAlacrittyのインストール方法、tmux、NeoVimでのTrue Color、カラースキーム、Font、デフォルトの端末の設定などの紹介をします。

react-modalを使ってModalコンポーネントを作る

react-modalを使ってModalコンポーネントを作る方法を解説します。モーダルの外側をクリックして閉じる、アニメーションを付ける等の基本的な機能から、CSS-in-JS(Emotion)を使ってタイリングの方法を説明します。

Emotionを使ってGatsbyでtailwindを使う方法

Gatsby & Emotion & tailwindの環境構築、スタイリング方法についてまとめました。twin.macroを使えば、classNameだけでなく、Styled Componentsやcss propでスタイリングできます。

GatsbyのLinter/Formatter, CSS-in-JS環境構築

Gatsbyのインストール方法、プロジェクトの作り方、Linter(ESLint, stylelint)/Formatter(prettier)、CSS-in-JS(styled-components, Emotion)、tailwindの設定方法を説明します。