[Vim] Key¶
Ctrlに関するショートカットキー一覧¶
vimのnormal modeでctrlキーを使うキーマップ一覧 - Qiita
normal modeでctrlキーを使うキーマップ一覧
キー
動作
CTRL-@
割り当てなし
CTRL-A
カーソルの下にある数字を1つインクリメント
CTRL-B
スクリーンの幅だけ上にスクロール
...
使う機会が多いけど忘れやすいもの¶
ウィンドウ系¶
| コマンド | 説明 | 備考 |
|---|---|---|
| :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のアンダーライン補完 |