2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GUIをぐいぐい使ってた人間がVimmerになるためのショートカット&コマンド集

2
Last updated at Posted at 2026-03-17

GUIをぐいぐい使ってた人間がVimmerになるためのショートカット&コマンド集

WSL2 + WezTerm + Zsh 環境で使っている、自分がよく忘れるショートカットとコマンドをまとめたメモです。


このショートカット集やプラグイン構成は、以下の方々の記事・動画を大変参考にさせていただいております。
多大なる影響を受けました。ありがとうございます。


環境

  • ターミナル: WezTerm(Windows)
  • シェル: Zsh on WSL2 (Ubuntu)
  • プラグイン: zoxide, fzf, ghq

各ツールの設定ファイルは https://github.com/AutoFor/dotfiles を参照してください。


WezTerm

Leader キーは Ctrl+q(2秒タイムアウト)。

Workspace

ショートカット 動作 由来
<leader> →w workspace 一覧を表示して切り替え workspace
Alt+E 現在の workspace 名を変更 Edit name
<leader> →Shift+W 新規 workspace を作成 Workspace(大文字=新規)

Tab

ショートカット 動作 由来
Ctrl+t 新規タブを開く ブラウザ由来(tab)
Ctrl+w 現在のタブを閉じる ブラウザ由来(window close)
Ctrl+Tab 次のタブへ移動 ブラウザ由来
Ctrl+Shift+Tab 前のタブへ移動 上記の逆
Ctrl+1Ctrl+9 タブ番号で切り替え(9 は最後のタブ) 番号=タブ位置
Alt+, タブを左に移動 , = <(左向き)と同キー
Alt+. タブを右に移動 . = >(右向き)と同キー
Alt+e 現在のタブ名を変更 edit name

| <leader> →Shift+P | PowerShell タブを新規で開く | PowerShell |
| <leader> →l | ランチャーメニューを表示(PowerShell / WSL 等) | launch |

Pane

ショートカット 動作 由来
<leader> →r ペインを左右に分割 right(左右に分かれる)
<leader> →d ペインを上下に分割 down(上下に分かれる)
<leader> →x 現在のペインを閉じる × 印(消す)
Alt+h/l/k/j 左/右/上/下のペインへ移動 vim の hjkl
Ctrl+Shift+[ ペインを番号で選択 vim の [ ナビゲーション慣習
<leader> →z 現在のペインをズーム(トグル) zoom
<leader> →sh/l/k/j ペインサイズを調整(Enter で終了) size
Alt+n / Alt+p ペインを次/前に回転して入れ替え Emacs 由来(next / previous)
<leader> →p ペインをオーバーレイ表示して番号で選択(tmux display-panes 相当) pane
<leader> →q ペイン一覧をオーバーレイ表示(Esc で閉じる) query(一覧照会)
<leader> →! 現在のペインを新規タブに切り出す tmux の !(break-pane)由来

コピーモード(vi ライク)

ショートカット 動作 由来
<leader> →[ コピーモードを起動 vim の [ ブラケット慣習
h/j/k/l 左/下/上/右に移動 vim 由来(ホームポジション)
w 次の単語の先頭へ前進 word
b 前の単語の先頭へ後退 backward
e 次の単語の末尾へ前進 end
E 前の単語の末尾へ後退 vim の ge 相当(end の逆方向)
^ / $ 行の最初の文字 / 行末に移動 正規表現の行頭・行末アンカー
0 行の左端に移動 列 0(ゼロ番目)
gg / G バッファ先頭 / 末尾に移動 go(gg = 先頭、G = 末尾)
Ctrl+f / Ctrl+b 1ページ下/上にスクロール forward / backward
Ctrl+d / Ctrl+u 半ページ下/上にスクロール down / up
v 文字単位の選択モード visual
V 行単位の選択モード Visual line(大文字=行単位)
Ctrl+v ブロック選択モード visual block
y 選択範囲をクリップボードにコピー yank(vim 用語)
Enter 選択範囲をコピーしてモード終了 確定・実行
q / Escape / Ctrl+c コピーモードを終了 quit / 脱出

その他

ショートカット 動作 由来
Ctrl+Shift+c クリップボードにコピー OS 標準の copy
Ctrl+Shift+v クリップボードから貼り付け OS 標準の v = paste
Ctrl++ フォントサイズを拡大 + = 増加
Ctrl+- フォントサイズを縮小 - = 減少
Ctrl+0 フォントサイズをリセット 0 = デフォルト(ゼロ点)
Ctrl+p / Ctrl+Shift+p コマンドパレットを開く palette(VS Code 由来)
Ctrl+Shift+r 設定を再読み込み reload
Alt+Enter フルスクリーン切り替え Enter = 確定・最大化

WSL ドメイン設定(リサイズ安定化)

WezTerm は wsl_domains を明示設定することで、ConPTY 経由ではなく WezTerm ネイティブ WSL 統合を使用できる。
これにより、ウィンドウのリサイズ時に Claude Code などの TUI アプリが固まる問題が軽減される。

config.wsl_domains = {
  {
    name = "WSL:Ubuntu",
    distribution = "Ubuntu",
    default_cwd = "/home/yourname",
  },
}
config.default_domain = "WSL:Ubuntu"

なお、リサイズによる一時的な黒画面が起きた際は <leader> →z(ペインズーム)で回避しやすい。

SSH(Tailscale 経由)

外出先から Tailscale 経由でリモートマシンに接続するとき、通常の ssh コマンドの代わりに wezterm ssh を使うと、WezTerm のペイン分割などのローカル機能がそのまま使える。

# 通常の SSH(WezTerm の機能は使えない)
ssh user@tailscale-hostname

# WezTerm SSH(リモート側に WEZTERM_PANE が自動でセットされる)
wezterm ssh user@tailscale-hostname

Tailscale の IP(100.x.x.x)や MagicDNS 名がそのまま使える。

なぜ動くか: wezterm ssh は SSH 接続時に WezTerm のマルチプレクサをセットアップし、リモート側に WEZTERM_PANEWEZTERM_UNIX_SOCKET を自動でセットする。これにより wezterm cli split-pane などのコマンドがリモートからでも動作する。


Zsh キーバインド

ghq

ショートカット / コマンド 動作 由来
Ctrl+G 管理リポジトリを fzf で絞り込んで即 cd Git repo
ghq create <name> 新規リポジトリを作成(~/ghq/ 以下に配置) create
ghq get <URL> リポジトリをクローン(~/ghq/ 以下に配置) get = 取得
ghq list 管理リポジトリを一覧表示 list
ghq list -p フルパスで一覧表示 path
ghq root ghq のルートディレクトリを表示 root directory

Zsh コマンド

zoxide(スマートな cd

コマンド 動作 由来
z <キーワード> 履歴から部分一致して cd zoxide の頭文字
zi fzf で履歴からディレクトリをインタラクティブ選択 z + interactive
zoxide query <キーワード> ジャンプせずに候補リストだけ確認 query = 照会

よく行くディレクトリは z に任せると cd を打つより圧倒的に速い。

コマンド 動作 由来
cfd カレントディレクトリ直下のフォルダを fzf で選んで cd cd + fzf + directory
wcd "C:\..." Windows パスを WSL パスに変換して cd + Claude Code 起動 Windows cd
Alt+W ~/.git-worktrees/ 以下の worktree を fzf で選択して cd Worktree
gwb GitHub Issue 作成 + worktree 作成 + WezTerm 下分割で Claude 起動 git worktree branch
gwb r 同上・右分割 right
gwb d 同上・下分割(gwb と同じ) down

pptx-meiryo(PowerPoint フォント変換)

コマンド 動作
pptx-meiryo <file.pptx> 指定した .pptx のすべてのフォントを Meiryo UI に変換(元ファイルを上書き・.bak 自動作成)
pptx-meiryo <file.pptx> --output <out.pptx> 変換結果を別ファイルに出力
pptx-meiryo <file.pptx> --no-backup バックアップなしで上書き

WSL パス(/mnt/c/...)・Windows パス(C:\... / C:/...)どちらも受け付ける。
実体は C:\tools\pptx-meiryo\pptx-meiryo.exe(PowerPoint COM Interop、要 PowerPoint インストール済み)。


Neovim

Leader キーは Space

基本操作

起動・終了

コマンド 動作 由来
nvim <ファイル> ファイルを指定して起動 Neovim
nvim . カレントディレクトリを開いて起動 . = カレントディレクトリ
:qa 全ウィンドウを閉じて終了 quit all
:qa! 未保存の変更を破棄して強制終了 ! = 強制
:wqa 全ファイルを保存して終了 write + quit all

ファイル操作

キー / コマンド 動作 由来
:e ファイルをディスクから再読み込み(リロード) edit(再編集=再読み込み)
:w 保存 write
:q 閉じる quit
:wq 保存して閉じる write + quit

元に戻す/やり直す

キー 動作 由来
u 元に戻す(Undo) undo
Ctrl+r やり直す(Redo) redo

移動・検索・編集

文字移動

キー 動作 由来
h 左に1文字移動 vim hjkl(h = 左)
l 右に1文字移動 vim hjkl(l = 右)
0 行頭に移動 列 0(ゼロ番目)
^ 行頭の最初の文字に移動 正規表現の行頭アンカー
$ 行末に移動 正規表現の行末アンカー

単語移動

キー 動作 由来
w 次の単語の先頭へ移動 word
b 前の単語の先頭へ移動 backward
e 次の単語の末尾へ移動 end
ge 前の単語の末尾へ移動 e の逆方向

行番号移動

キー / コマンド 動作 由来
:行番号 指定行へジャンプ(例: :42 : = コマンドモード
行番号G 指定行へジャンプ(例: 42G Go to line
gg ファイルの先頭へ go(gg = 先頭)
G ファイルの末尾へ Go(末尾)
数字j 現在行から N 行下へ移動(例: 10j j = 下(vim hjkl)
数字k 現在行から N 行上へ移動(例: 10k k = 上(vim hjkl)

スクロール

キー 動作 由来
Ctrl+f 1画面分下にスクロール forward(1ページ)
Ctrl+b 1画面分上にスクロール backward(1ページ)
Ctrl+d 半画面分下にスクロール down(半ページ)
Ctrl+u 半画面分上にスクロール up(半ページ)
gg ファイルの先頭に移動 go(先頭)
G ファイルの末尾に移動 Go(末尾)

ウィンドウ移動

キー 動作 由来
<leader>h 左のウィンドウに移動 vim hjkl(h = 左)
<leader>l 右のウィンドウに移動 vim hjkl(l = 右)
<leader>j 下のウィンドウに移動 vim hjkl(j = 下)
<leader>k 上のウィンドウに移動 vim hjkl(k = 上)
<leader>w 次のウィンドウに移動(順番に切り替え) window
<leader>c 現在のウィンドウを閉じる close
:q 現在のウィンドウを閉じる quit
Ctrl+Home 左のウィンドウに移動(ノーマル・インサート・ターミナルモード共通) Home = 先頭・左端
Ctrl+End 右のウィンドウに移動(ノーマル・インサート・ターミナルモード共通) End = 末尾・右端

ファイル内検索

キー / コマンド 動作 由来
/キーワード カーソル以降を前方検索 / = 区切り・検索(vi 由来)
?キーワード カーソル以前を後方検索 ? = 疑問(逆方向探索)
n 次のマッチへ移動 next
N 前のマッチへ移動 Next(大文字=逆方向)
* カーソル下の単語を前方検索 * = ワイルドカード(単語全体にマッチ)
# カーソル下の単語を後方検索 * の逆(#* の隣キー)
:noh 検索ハイライトを消す no highlight

置換

キー / コマンド 動作 由来
:s/old/new/ 現在行の最初のマッチを置換 substitute
:s/old/new/g 現在行の全マッチを置換 global(行内全置換)
:%s/old/new/g ファイル全体の全マッチを置換 % = 全行 + global
:%s/old/new/gc ファイル全体を1件ずつ確認しながら置換 confirm
:'<,'>s/old/new/g ビジュアル選択範囲内の全マッチを置換(ビジュアルモードで : '<,'> = 選択範囲
:%s/\bold\b/new/g 単語境界付きで完全一致のみ置換(部分一致を除外) \b = boundary
:%s/old/new/gi 大文字小文字を無視して全置換 ignore case

確認モード(c オプション)の回答キー:

キー 動作
y この箇所を置換
n この箇所をスキップ
a 残りを全て置換
q 置換を中止
l この箇所だけ置換して終了

使用例:

やりたいこと コマンド
現在行の foobar に全部置換 :%s/foo/bar/g の代わりに :s/foo/bar/g
ファイル全体の変数名 oldNamenewName にリネーム :%s/oldName/newName/g
http://https:// に全置換(/ を含むため区切り文字を変更) `:%s
class という単語のみ置換(classname などは除外) :%s/\bclass\b/Class/g
1〜10行目だけ置換 :1,10s/foo/bar/g
確認しながら安全に全置換 :%s/foo/bar/gc
選択範囲内の TODODONE に置換(ビジュアルで範囲選択後 : :'<,'>s/TODO/DONE/g
; を改行に置換(置換文字列側では \n が改行) :%s/; /\n/g

文字削除

キー 動作 由来
x カーソル下の1文字を削除 × 印(消す)、または excise
X カーソルの左の1文字を削除 x の逆方向(大文字=逆)
dw 単語を削除(次の単語の先頭まで) delete word
db 単語を後方に削除 delete backward
dd 行全体を削除 delete(dd = 行全体)
D カーソルから行末まで削除 Delete to end(大文字=行末まで)
d0 カーソルから行頭まで削除 delete to 0(行頭)
diw 単語全体を削除(空白は残す) delete inner word
daw 単語全体+前後の空白を削除 delete around word
di" "..." の中身を削除 delete inner "
da" "..." ごと削除(引用符含む) delete around "
c d と同じ範囲を削除してインサートモードへ change

折りたたみ(fold)

カーソル下の fold 操作:

キー 動作 由来
zo 1段階だけ開く open
zO カーソル位置の fold を再帰的にすべて開く Open all(大文字=再帰)
zc 1段階だけ閉じる close
zC カーソル位置の fold を再帰的にすべて閉じる Close all(大文字=再帰)
za fold をトグル(1段階) alternate
zA fold を再帰的にトグル Alternate all(大文字=再帰)
zv カーソル行が隠れていれば必要な分だけ開く view cursor line

ファイル全体の fold 操作:

キー 動作 由来
zR 全ての fold を開く Reduce all folds
zM 全ての fold を閉じる More folds

よく使うパターン:

やりたいこと 操作
今いるメソッド配下を一気に展開 zO
今いるメソッド配下を一気に畳む zC
全部畳んでカーソル行だけ表示 zM → 移動 → zv

プラグイン

Telescope

ファジーファインダー。ファイル名・テキスト・バッファ・履歴などをインクリメンタルに検索できる。

キー 動作 由来
<leader>ff ファイル名で検索して開く find files
<leader>fg プロジェクト全体をテキスト検索(live grep) find grep
<leader>fw カーソル下の単語でテキスト検索 find word
<leader>fb 開いているバッファ一覧 find buffers
<leader>fr 最近開いたファイル一覧 find recent

nvim-tree

左サイドバーにファイルツリーを表示するエクスプローラー。

ツリー操作
キー 動作 由来
Ctrl+n ファイルツリーを開閉 nvim-tree
<leader>ef nvim-tree にフォーカス(閉じていれば開く) explorer focus
<leader>ee エディタにフォーカスを戻す explorer exit
<leader>eR ツリーを最新状態に更新 explorer Reload(大文字=更新)
<leader>er カーソル下のディレクトリをルートに変更して再表示 explorer root
Ctrl+] フォルダを nvim-tree 内部のルートに変更(:pwd は変わらない) ] = 深く潜る(vim 慣習)
W ツリー全体を折りたたむ(collapse all) 大文字で全体操作
E ツリー全体を再帰的に展開(expand all) 大文字で全体操作
絞り込み
キー 動作 由来
f ファイル名でライブフィルター(絞り込み) filter
F フィルターをクリア Filter clear(大文字=リセット)
ファイル・フォルダ操作
キー 動作 由来
a 新規ファイル/ディレクトリを作成(末尾に / でディレクトリ) add
A フォルダのみ作成(プロンプトに名前入力) Add directory(大文字=ディレクトリ専用)
d 削除 delete
r リネーム(パスごと書き換えで移動も可) rename
x カット(移動元としてマーク) excise(切り取り)
c コピー(コピー元としてマーク) copy
p カット/コピーしたファイルをカーソル位置のディレクトリに貼り付け paste
ファイルを開く
キー 動作 由来
Enter ファイルを開く / フォルダを展開 確定・実行
Tab フォーカスを保ったままファイルをプレビュー タブ=仮表示
e 水平分割で開く edit horizontal split
パスコピー
キー 動作 由来
gy 絶対パス(Linux)をクリップボードにコピー get yank
gW Windows パスをクリップボードにコピー(WSL2用) get Windows path
gr 相対パスをクリップボードにコピー get relative path

glow

Markdown をターミナル内でレンダリングしてプレビューするプラグイン。

キー 動作 由来
<leader>md 右ペインで glow プレビューを開く(markdown ファイルのみ) markdown
Alt+q<leader>c glow プレビューを閉じる(ターミナルモード抜け → ウィンドウ閉じる) quit terminal → close

outline.nvim

LSP シンボルや Markdown 見出しをサイドバーにアウトライン表示するプラグイン。

キー 動作 由来
<leader>o アウトラインを開閉(Markdown の見出し一覧/LSP シンボル) outline

octo.nvim

Neovim から GitHub の Issue・PR・Discussion を操作するプラグイン。

キー 動作 由来
<leader>oi GitHub Issue 一覧を開く octo issue
<leader>op GitHub Pull Request 一覧を開く octo pull request
<leader>od GitHub Discussion 一覧を開く octo discussion
<leader>on GitHub Notification 一覧を開く octo notification
<leader>oI GitHub Issue を作成 octo Issue create(大文字=作成)
<leader>os Issue/PR を検索 octo search
<leader>oC Issue をクローズ(Issue バッファ内) octo Close(大文字)
<leader>oR Issue を再オープン(Issue バッファ内) octo Reopen(大文字)
<leader>ola ラベルを追加(Issue/PR バッファ内) octo label add
<leader>olr ラベルを削除(Issue/PR バッファ内) octo label remove
<leader>opa 親 Issue を追加(Issue バッファ内) octo parent add
<leader>opr 親 Issue を解除(Issue バッファ内) octo parent remove
<leader>ope 親 Issue を編集(Issue バッファ内) octo parent edit
<leader>oca 子 Issue を追加(Issue バッファ内) octo child add
<leader>ocr 子 Issue を削除(Issue バッファ内) octo child remove

AI 連携

claudecode.nvim

Neovim から Claude Code を操作するプラグイン。右パネルにターミナルを表示し、ファイル追加・選択範囲送信などが行える。

キー 動作 由来
<leader>ac Claude Code を開閉(:Claude でも可) ai claude
<leader>af Claude Code にフォーカス ai focus
<leader>ab 現在のファイルを Claude Code に追加 ai buffer
<leader>as 選択範囲を Claude Code に送信(ビジュアルモード) ai send
<leader>av 縦分割(vertical)で Claude Code を開く(MCP連携あり) ai vertical
<leader>ah 横分割(horizontal)で Claude Code を開く ai horizontal

codex.nvim

Neovim から OpenAI Codex CLI を操作するプラグイン。サイドパネルに Codex ターミナルを表示する。

キー 動作 由来
<leader>cx Codex を開閉(:Codex でも可) codex
<leader>cf Codex にフォーカス(閉じていれば開く) codex focus

Claude Code 再起動

Neovim 内の Claude Code は「閉じて再度開く」ことで再起動できる(claudecode.nvim の既知仕様)。

キー / コマンド 動作 由来
<leader>ac(Claude Code フォーカス中) Claude Code パネルを閉じる(=セッション終了) ai claude(トグル)
<leader>ac(閉じた後) 新しい Claude Code プロセスを起動(=再起動) 同上(トグル)
:ClaudeCodeClose パネルを明示的に閉じる コマンド名そのまま

ターミナル内の Claude Code プロセス自体を再起動したい場合:

コマンド 動作 由来
exit または Ctrl+D Claude Code セッションを終了 exit / EOF(D = end of file)
claude 新規セッションで Claude Code を起動 コマンド名そのまま
claude -r <セッション名> 指定セッションで再開 resume
claude da 権限確認をスキップして起動(danger mode) danger の略

Claude Code ゾンビプロセス防止

コマンド / 操作 目的
Ctrl+D(セッション終了時) 明示的に閉じてゾンビプロセスを防ぐ
ps aux | grep claude 残存する不要な claude プロセスを確認

Claude Code プロンプト入力

キー 動作 由来
Ctrl+J プロンプト内で改行(送信せずに次の行へ) J = 下方向(vim hjkl)
Ctrl+L プロンプトをクリアして入力欄を空にする terminal の clear を連想しやすい

ターミナルモード (Claude Code, Codex)

キー 動作 由来
Alt+q ターミナルモード → ノーマルモードに戻る quit terminal mode
Esc+Esc ターミナルモードを抜けて左ウィンドウへ移動 二度押しで確定(Claude Code → エディタ)
Ctrl+Home ターミナルモードを抜けて左ウィンドウへ移動 Home = 先頭・左端
Ctrl+End ターミナルモードを抜けて右ウィンドウへ移動 End = 末尾・右端

Slack(Windows)

とりあえずの入口

ショートカット 動作 由来
Ctrl+/ ショートカット一覧を表示 / = ヘルプ・コマンド入力の慣習
Ctrl+K / Ctrl+T どこでも会話にジャンプ(クイックスイッチャー) Slack 独自(Key navigation / To channel)
Ctrl+, 設定(Preferences)を開く , = 設定・オプションの慣習

ナビゲーション・未読処理

ショートカット 動作 由来
Ctrl+Shift+A 全未読ビューを開く All unreads
Alt+↓ / Alt+↑ 次/前のチャンネル・DMへ移動 矢印キー = 方向
Alt+Shift+↓ / Alt+Shift+↑ 次/前の未読チャンネル・DMへ移動 Shift = 未読に絞り込み
Ctrl+Shift+L チャンネル一覧を開く List channels
Ctrl+Shift+K DM一覧を開く Slack 独自(Key = DM)
Ctrl+Shift+M メンション/アクティビティを開く Mentions
F6 / Shift+F6 セクション間フォーカス移動 F6 = フォーカス移動の慣習
Esc 現在のチャンネル/DMを既読にする Esc = 離脱・完了
Shift+Esc 全チャンネル・DMを既読にする Shift = 全体に拡張

スレッド・サイドバー

ショートカット 動作 由来
Ctrl+Shift+T スレッドビューを開く Threads
Ctrl+. 右サイドバーを開閉 . = 右側(> の方向)

メッセージ入力・編集

ショートカット 動作 由来
Shift+Enter 改行のみ(送信せずに次の行へ) Enter だけだと送信されるため Shift で抑制
Ctrl+B 太字 Bold
Ctrl+I 斜体 Italic
Ctrl+Shift+X 打ち消し線 × 印(消す)
Ctrl+Shift+9 引用 Slack 独自(9 に特定の意味なし)
Ctrl+Shift+C インラインコード Code
Ctrl+Alt+Shift+C コードブロック Code block(修飾キーを増やして区別)
Ctrl+Shift+7 番号付きリスト Slack 独自(7 に特定の意味なし)
Ctrl+Shift+8 箇条書きリスト Shift+8 = *(アスタリスク=箇条書き記号)
2
3
0

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
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?