[Vim] Key¶
Ctrlに関するショートカットキー一覧¶
vimのnormal modeでctrlキーを使うキーマップ一覧 - Qiita
normal modeでctrlキーを使うキーマップ一覧
キー
動作
CTRL-@
割り当てなし
CTRL-A
カーソルの下にある数字を1つインクリメント
CTRL-B
スクリーンの幅だけ上にスクロール
...
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-1150d8b18a7c15795b701a55ae908f94.png?ixlib=rb-1.2.2&w=1200&mark=https%3A%2F%2Fqiita-user-contents.imgix.net%2F~text%3Fixlib%3Drb-1.2.2%26w%3D840%26h%3D380%26txt%3Dvim%25E3%2581%25AEnormal%2520mode%25E3%2581%25A7ctrl%25E3%2582%25AD%25E3%2583%25BC%25E3%2582%2592%25E4%25BD%25BF%25E3%2581%2586%25E3%2582%25AD%25E3%2583%25BC%25E3%2583%259E%25E3%2583%2583%25E3%2583%2597%25E4%25B8%2580%25E8%25A6%25A7%26txt-color%3D%2523333%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D54%26txt-clip%3Dellipsis%26txt-align%3Dcenter%252Cmiddle%26s%3D12e583c9de86385ce1f039ab7c98cc0d&mark-align=center%2Cmiddle&blend=https%3A%2F%2Fqiita-user-contents.imgix.net%2F~text%3Fixlib%3Drb-1.2.2%26w%3D840%26h%3D500%26txt%3D%254034ro%26txt-color%3D%2523333%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D45%26txt-align%3Dright%252Cbottom%26s%3D0093a0acdfdb4c0dbfd41eb239cf2a38&blend-align=center%2Cmiddle&blend-mode=normal&s=452728c54a4f6ccfed43b6ba75356343)
使う機会が多いけど忘れやすいもの¶
ウィンドウ系¶
コマンド | 説明 | 備考 |
---|---|---|
:sp | ウィンドウを上下に分割し現在のファイルを開く | splitの略 |
:vs | ウィンドウを左右に分割し現在のファイルを開く | vsplitの略 |
:on | アクティブウィンドウ以外を閉じる | onlyの略 |
:new | ウィンドウを上下に分割し新しいバッファを開く | |
:vnew | ウィンドウを左右に分割し新しいバッファを開く | |
ウィンドウの入れ替え |
ファイル操作系¶
コマンド | 説明 |
---|---|
:e | 現在のウィンドウにファイルを開く |
:e . | 現在のディレクトリを開く |
:enew | 現在のウィンドウに空バッファを開く |
:Sex | 新しい分割ウィンドウ(縦)にファイルを開く |
:Sex . | 新しい分割ウィンドウ(縦)に現在のディレクトリを開く |
:Vex | 新しい分割ウィンドウ(横)にファイルを開く |
:Vex . | 新しい分割ウィンドウ(横)に現在のディレクトリを開く |
:tabnew | 新しいタブを開く |
:w | 指定した範囲の内容でファイルを新しく作る |
:r | 指定したファイルの内容を貼り付ける |
画面スクロール系¶
コマンド | 説明 |
---|---|
Ctrl+e | 1行下にスクロール |
Ctrl+y | 1行上にスクロール |
z{Enter} | 現在行を一番上にスクロール |
zz | 現在行を中央にスクロール |
z- | 現在行を一番下にスクロール |
整形系¶
コマンド | 説明 |
---|---|
Ctrl+T | インデント(挿入モード時) |
Ctrl+D | 逆インデント(挿入モード時) |
オリジナル¶
VimがPython3に対応しており、以下の設定が.vimrc
に書かれている場合のみ使える
" Markdown h1 header
nnoremap <silent> <space>h= v:!python3 -c 'import sys; from unicodedata import east_asian_width; w=sys.stdin.read().strip(); l=sum(map(lambda x: 2 if east_asian_width(x) in "FWA" else 1, w)); print(w+"\n"+"="*l)'<cr>
" Markdown h2 header
nnoremap <silent> <space>h- v:!python3 -c 'import sys; from unicodedata import east_asian_width; w=sys.stdin.read().strip(); l=sum(map(lambda x: 2 if east_asian_width(x) in "FWA" else 1, w)); print(w+"\n"+"-"*l)'<cr>
コマンド | 説明 |
---|---|
<Space>h= |
見出し1のアンダーライン補完 |
<Space>h- |
見出し2のアンダーライン補完 |