3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Vim 2Advent Calendar 2020

Day 16

Vim お気に入り追加ショートカット

Last updated at Posted at 2020-12-18

2d 13h の遅延、申し訳ありません

Vim Advent Calender 2 の 16日目の記事です

なぜ書いたか

jj -> esc などの非常に使い勝手がよく、手になじむコマンドを広めたい
主に .vimrc での設定についてです

jj to esc

一番 Vim での作業効率が上がるコマンドだと思っている

imap jj <Esc>

多分ここを見て知った

普段入力する insert mode から カーソルを移動させたり行単位で削除やカット、複製をする normal mode への移動には
escctrl h を使っていたが、前者では大きく左上に、後者では少し右下に、左手をホームポジションから浮かせて動かさなければならない。一方 このマッピングで適用した jj ならばホームポジションのまま右の人差し指を二連打するだけで切り替えができる。
j を二つ使う単語や j で終わる単語があれば困るが、英単語にも日本語にも j が連続する単語はなく、j で終わる単語も

これなどを参考に見てもなさそうで、実際に使っていても遭遇したことがないので、干渉する事はないと思う。

VScode でも

ここを参考に

VScode の preferences -> setting をクリックして setting を開き

Screen Shot 2021-01-02 at 12.00.22.png

右上のアイコンの右から三番目のファイルマークのアイコンを開き、 設定ファイルを表示して

setting.json に

setting.json
  "vim.insertModeKeyBindings": [
    {
      "before": ["j", "j"],
      "after": ["<Esc>"]
    }
  ],

と書けば jj で インサートから ノーマルに抜けられる。
VScode でも非常に便利なのでおすすめ

cll to console.log()

おそらくこちらの gist からコピペして使っていたはず

imap cll console.log();<Esc>==f(a

js 限定だが、何かと使うことが多いのに入力数が多い console.log()

このマッピングをするとホームポジションのまま
左手中指を一段下げて一回、右手薬指をそのままの段で二連打するだけで、console.log() の 10文字が打てる。
しかもカーソルが()の内部に入っているのでさらにすぐ中身が書ける。

欠点としては普段 c を入力した後に数フレーム c が入力されずに入力待ちになるのが少し気になるかもしれない。

js で console.log() を打つのがめんどくさいと感じている人にはおすすめ

H/L で行の最初/最後に

これは出典不明です。わかり次第追記します

map H ^
map L $

H で空白以外の行頭
L で行末 にカーソルを一気に飛ばせる。

h で左に、l で右に移動するのが染み付いてくると、
シフト押しながら H で一気に一番行の左へ!!!!
シフト押しながら L で一気に一番行に右へ!!!!
と直感的でわかりやすい。

ホームポジションから左小指を少し下げるだけで手首の移動なしで入力できる。

yank と普段のコピーの統一

この辺を参考にコピペした

Linux, Mac, Win, で異なるので注意。私は Ubuntu でハマった

set clipboard=unnamed

vim を使っているときに yank する場所と普段のブラウザやエディタのクリップボードは違っている。
全部一つに統一してしまった方が私は捗るのでそうしている

これを適用して、vim でマークダウン書いて gg V G y で全部コピーして Qiita や Notion に CMD V で貼り付けしている

esc esc to delete search highlight

これも出典が見つからなかった。勉強会で直接教えてもらった記憶がある。

nnoremap <Esc><Esc> :nohlsearch<CR>

esc esc を No HighLight Search にマッピングする

普通に検索するなり間違えて単語の上で * を押すなりすると検索した単語がハイライトされる
VScode などなら x を押せば検索窓が終了してハイライトも消えるが、Vim ではコマンドで消さないと延々と残り続けて目障りなので、すぐに消せるように ESC 二連打にマップすると検索が終わった後に ハイライトを消せて楽。

まとめ

以上の

imap jj <Esc>

での jj でのインサート抜け

imap cll console.log();<Esc>==f(a

での cll での console.log()

set clipboard=unnamed

での vim と普段のクリップボードの統一

nnoremap <Esc><Esc> :nohlsearch<CR>

での esc esc で検索単語のハイライトの解除

が私のおすすめ Vim 追加コマンド(マッピング)でした。

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?