[Vim] Key¶
Ctrlに関するショートカットキー一覧¶
Qiita
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のアンダーライン補完 |