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になるためのショートカット&操作メモ

Windows の WezTerm からクラウド開発サーバー(Azure devbox)の tmux + Zsh に接続する構成で使っている、自分がよく忘れるショートカット・コマンド・操作手順をまとめたメモです。


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


環境

  • ターミナル: WezTerm(Windows。表示器 + SSH クライアント)
  • 開発サーバー: Azure VM (devbox, Ubuntu 24.04)。セッション層は tmux(ssh devboxtm でどの端末からも同じセッションに入れる)
  • シェル: Zsh on devbox
  • プラグイン: zoxide, fzf, ghq

各ツールの設定ファイルは https://github.com/AutoFor/dotfiles を参照してください。
(旧構成の WSL2 は #212 で引退。WSL 前提の記述は削除済み)


WezTerm + tmux

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

#214 以降、Window / Tab / Pane の管理は devbox 上の tmux に一本化した。
WezTerm はただの表示器 + SSH クライアントで、以下のタブ/ペイン系キーはすべて tmux の
prefix シーケンスに自動変換される(ローカルの PowerShell ペインでは何もしない)。
階層の対応: WezTerm の Window/Tab/Pane ≒ tmux の Session / Window / Pane

Session(旧 Workspace 相当)

セッション = タブ構成ごと切り替えられる作業文脈の単位。リモート側に永続し、切断・再起動・別端末からの接続でもそのまま復帰する。

ショートカット / コマンド 動作 由来
tm main セッションに attach(無ければ作成)。シェルで実行 tmux main
tm <名前> 別セッションに attach(無ければ作成) 同上
<leader> →s セッション/ウィンドウ一覧から選択して切り替え session
Ctrl+b → d セッションから detach(セッションは生存継続) detach

Tab(実体は tmux ウィンドウ)

タブ一覧は WezTerm のタブバー(ヘッダー)に従来どおりの見た目(矢羽根 + 小さめ UI フォント)で表示される。仕組みは tmux がウィンドウ構成の変化を wezterm-tabs-sync で WezTerm に通知し、WezTerm がタブ風に描画する表示専用の連携。クリックでは切り替えられないので Ctrl+Tab / Ctrl+数字 を使う。tmux 自身のステータスラインは非表示。

ショートカット 動作 由来
Ctrl+t 新規タブ ブラウザ由来(tab)
Ctrl+w 現在のタブを閉じる(確認なしで即クローズ) ブラウザ由来(window close)
Ctrl+Tab 次のタブへ移動 ブラウザ由来
Ctrl+Shift+Tab 前のタブへ移動 上記の逆
Ctrl+1Ctrl+9 タブ番号で切り替え 番号=タブ位置
Alt+1Alt+9 タブ番号で切り替え(プレフィックス不要。Termius 等 WezTerm 以外の端末でも効く) 番号=タブ位置
Shift+← / Shift+→ 前/次のタブへ移動(プレフィックス不要。どの端末でも効く。代償としてペイン内アプリに Shift+矢印は届かない) 矢印=方向
Alt+, タブを左に移動 , = <(左向き)と同キー
Alt+. タブを右に移動 . = >(右向き)と同キー
<leader> →t 現在のタブ名を変更 tab の名前
<leader> →w タブ一覧から選択 window

Pane(tmux ペイン)

複数ペインのウィンドウでは、各ペインの上辺ボーダーに 番号: 名前名前バーが常時表示される
(アクティブペインは青太字)。名前を付けていないペインは実行中のコマンド名(claude / nvim / zsh 等)が
自動で出るので、1 画面のどのペインで何が動いているか一望できる。1 ペインだけのウィンドウでは非表示。

ショートカット 動作 由来
<leader> →r ペインを左右に分割 right(左右に分かれる)
<leader> →d ペインを上下に分割 down(上下に分かれる)
<leader> →x 現在のペインを閉じる(確認なしで即クローズ) × 印(消す)
Alt+h/l/k/j 左/右/上/下のペインへ移動(端まで来たら nvim 等のアプリへ透過) vim の hjkl
Alt+p 現在のペインに名前を付ける(空 Enter で解除して自動表示に戻る。<leader> →p / Ctrl+b → Shift+T でも可。名前は 15 分ごとに保存され、VM 再起動後も tmux-resurrect の復元と一緒に戻る) pane name
Alt+r / Alt+Shift+r ペインを次/前に回転して入れ替え rotate
<leader> →z 現在のペインをズーム(トグル) zoom
<leader> →q ペイン番号をオーバーレイ表示して選択 tmux の prefix+q と同じ
Ctrl+b → H/J/K/L ペインサイズを調整(連打可。マウスの境界ドラッグでも可) vim hjkl の大文字
Ctrl+b → Shift+E ペインサイズを均等に整える(分割構成はそのまま、幅/高さだけ揃える。3分割の幅を揃えたいときはこれ) Even(均等)
Ctrl+b → Alt+1Alt+5 プリセットレイアウトに一発切替(1=左右に均等 / 2=上下に均等 / 3=メイン上+残り横並び / 4=メイン左+残り縦並び / 5=タイル状) tmux 標準レイアウト
<leader> →j 最後に通知が来た Claude Code のペインへジャンプ jump
<leader> →f ファイラー(yazi)をどのペインにも属さない浮遊ポップアップで開く(アクティブペインの cwd 起点。Enter でファイルをポップアップ内 nvim で開き、q で閉じる) filer

接続・起動

ショートカット 動作 由来
<leader> →a devbox の tmux main セッションを新規タブで開く(VM 停止中でも自動起動してから attach。休止/切断後の復帰はこれ) azure
<leader> →l ランチャーメニューを表示(tmux main / mux フォールバック / PowerShell) launch
<leader> →Shift+P ローカル PowerShell タブを開く(切り分け用) PowerShell
<leader> →Shift+A 旧 wezterm mux ドメインに attach(切り分け用フォールバック。通常は使わない) Attach
<leader> →Shift+D 旧 wezterm mux ドメインから detach(切り分け用フォールバック) Detach

iPad / iPhone からの接続(Tailscale + Termius)

前提: Tailscale アプリ(VPN トグル ON、devbox と同じアカウント)と Termius(無料版で十分)。
SSH 鍵は端末ごとに Termius の Keychain で生成(ED25519)し、公開鍵を devbox の ~/.ssh/authorized_keys に登録する(端末ごとに別鍵にすると紛失時にその端末だけ無効化できる)。

項目
Address 100.126.96.27(devbox の Tailscale IP。不変)
Username azureuser(タイプミス注意)
Key その端末で生成した鍵

接続したら tm で main セッションに入る。tmグループセッション(ウィンドウ共有・ビュー独立)で attach するため:

  • 画面下部に tmux のステータスライン(タブ一覧)が表示される(PC は WezTerm タブバーがあるので非表示のまま)
  • PC と別のタブを独立して表示できる(タブの中身・増減は全端末で共有)
  • 切断するとビュー用セッションは自動削除される(タブは devbox に残る)

モバイルでの操作は「プレフィックスなしキー」「タッチ」「prefix 直打ち」の3通り。

プレフィックスなしキー(ハードウェアキーボード向け)

PC の Ctrl+Tab / Ctrl+数字 は WezTerm がキーを prefix シーケンスに変換して送る仕組みのため、
Termius からはそもそも送信できない。代わりに標準シーケンスで届くキーを tmux 側に用意している:

操作 キー 備考
前/次のタブ Shift+← / Shift+→ どのアプリでも届く。代償としてペイン内アプリに Shift+矢印は届かない
ペイン間移動 Ctrl+矢印 どのアプリでも届く。代償としてペイン内アプリの Ctrl+矢印(単語ジャンプ等)は使えない
タブ番号で移動 Alt+1Alt+9 Termius は設定で Option を Esc(Meta)扱いにすると使える
ペイン間移動(vim 風) Alt+h/l/k/jAlt+矢印 でも可) 同上

タッチ操作(mouse on で tmux が反応する)

操作 動作
ペインをタップ そのペインへフォーカス移動
ステータスラインのタブ名をタップ そのタブへ切り替え
ペイン境界をドラッグ ペインサイズ調整
2本指スクロール copy-mode に入って履歴をさかのぼる

prefix 直打ち(Ctrl+b のあとに。Termius のキーボードバーの ctrl を使う)

ソフトウェアキーボードだけの iPhone でも打てる、どの端末でも確実に効く経路:

操作 キー(Ctrl+b のあとに)
新しいタブ c
次/前のタブ n / p
タブ番号で移動 19
タブ名変更 ,
タブを閉じる &(確認なしで即クローズ)
ペイン分割(左右 / 上下) | / -
ペイン間移動 矢印キー
ペイン番号を表示して選択 q → 番号
ペインサイズ調整 H/J/K/L(連打可)
ペインサイズを均等に整える E(Shift+e)
ズーム(1ペイン全画面をトグル) z
ペインに名前を付ける T(Shift+t。空 Enter で解除)
ペインを閉じる x(確認なし)
セッション/ウィンドウ一覧から選択 s
コピーモード [
切断(セッションは残る) d

注意: devbox は毎日 22:00 に自動停止する。モバイルから VM を起こす手段は未整備なので、
停止中は PC 側で WezTerm を開くか devbox.ps1 up で起動する(issue #214 Phase 4 の残タスク)。

コピーモード(tmux copy-mode / vi ライク)

<leader> →[ は tmux の copy-mode にブリッジされる(ローカルペインでは WezTerm copy mode)。
マウスホイールでのスクロールでも自動で copy-mode に入る。キーは vi 準拠:

ショートカット 動作 由来
<leader> →[ コピーモードを起動 vim の [ ブラケット慣習
h/j/k/l w/b/e 0/^/$ gg/G vi と同じカーソル移動 vim 由来
Ctrl+f / Ctrl+bCtrl+d / Ctrl+u 1ページ/半ページ スクロール forward / back / down / up
/キーワード ?キーワードn/N 前方/後方検索 → 次/前のマッチ vim 由来
v 文字単位の選択開始 visual
V 行単位の選択開始 Visual line
y 選択範囲をコピーして終了(OSC 52 で Windows のクリップボードに載る) yank
q / Escape コピーモードを終了 quit / 脱出

マウスでのコピー(tmux 構成での正解)

操作 動作
ドラッグして離す 離した瞬間に Windows クリップボードへ入る(OSC 52)。その後の Ctrl+Shift+C は不要 — 押すと WezTerm 側の空選択で上書きされるので押さないこと
ダブルクリック カーソル下のスペース区切りトークンを即コピー。URL やパスは - @ ? を含んでも、複数行に折り返していても一発で全体が取れる
トリプルクリック そのを即コピー(折り返し行は繋いで 1 行になる)
<leader> →u QuickSelect: 画面上の URL / パス / ハッシュ等にラベルが振られ、ラベルを打つとそれをコピー。行の途中にある URL をマウス無しで拾える(url)
<leader> →y 画面に見えているペイン全体をまるごとコピー(選択操作なし。表示中のコード/ログを全部持っていく最終手段。yank)
Shift+ドラッグ tmux を素通りして WezTerm ネイティブ選択(ペイン border やステータスをまたいで選びたいとき用。こちらは Ctrl+Shift+C でコピー)
Ctrl+クリック カーソル下の URL を Windows 側の既定ブラウザで開く(tmux がマウスを掴んでいても WezTerm が横取りする。.wezterm.luamouse_bindingsmouse_reporting = true を指定)。折り返した URL は先頭行しか検出できないので、その場合は <leader> →o を使う
<leader> →o 画面上の URL を fzf ポップアップで選んでブラウザで開くopen)。行末で切れた URL は次行を推測で継ぎ足すので、tmux の折り返しも Claude Code 等の TUI がハード改行した URL も完全な形で開ける(断片と結合後の両方が候補に出るので、誤結合していたら選び分ける)。表示テキストと URL が別になっている埋め込みリンク(OSC 8。Claude Code の青いリンク等)も候補に出る。1 件だけなら選択なしで即開く(tmux-open-url → SetUserVar open_url → WezTerm が既定ブラウザ起動)

nvim などマウスを自前で使うアプリのペインでは、クリック/ドラッグはアプリ側に渡る(nvim 内のコピーは nvim の y)。

その他(WezTerm 本体に残る機能)

ショートカット 動作 由来
Ctrl+Shift+c クリップボードにコピー OS 標準の copy
Ctrl+Shift+v クリップボードから貼り付け OS 標準の v = paste
Ctrl+; / Ctrl+- / Ctrl+0 フォントサイズを拡大 / 縮小 / リセット(拡大は Ctrl++ でも可。JIS では + に Shift が要るので Shift 不要の Ctrl+; を主とする)。変更したサイズは ~/.wezterm-font-size に保存され、WezTerm を閉じても次回起動に引き継がれる ;+ と同じキー
Ctrl+p / Ctrl+Shift+p コマンドパレットを開く palette(VS Code 由来)
Ctrl+Shift+r 設定を再読み込み reload
Ctrl+Shift+l デバッグオーバーレイ(問題調査用) log
Alt+Enter 通常 ⇔ 最大化(タスクバーを残す)を切り替え Enter = 確定・最大化

Claude Code 通知連携

Claude Code の Stop / Notification hook は ~/.claude/notify.sh を呼び、OSC 1337 SetUserVar(claude_notify)を発行して手元の WezTerm に届ける。タイトルに [ホスト名:ディレクトリ名] が付くので、複数タブで Claude Code を並行実行していてもどのセッションの通知か区別できる。

WezTerm 側では以下が動く:

  • 通知元ペインのタブタイトルに 🔔 ディレクトリ名 のマークが付く(そのペインにフォーカスすると元のタイトルに復元)
  • クリック可能な Windows トーストが出る。クリックすると WezTerm がフォーカスされ、通知元の tmux ウィンドウ/ペインまで自動で切り替わる(BurntToast + wezterm-jump: カスタム URI。初回のみ windows/bin/register-wezterm-jump.ps1 で URI スキームを HKCU に登録する。管理者権限不要)
  • <leader> →j でも「最後に通知が来たペイン」へジャンプできる(トーストを消してしまった後の代替。tmux 側の切り替えまで行う)
  • 見ているペインからの通知はマークもトーストも出さない

ジャンプの tmux 側切り替えは devbox の ~/.local/bin/tmux-jump-pane が行う。tm のグループセッションで
複数クライアントが繋がっている場合は「同一セッション > 同一グループ > その他」の優先順で、最後に
アクティブだったクライアントの表示を切り替える。

iPhone / Apple Watch へのプッシュ通知(ntfy)

devbox の ~/.config/ntfy-topic(git 管理外)にトピック名を置くと、notify.sh
tmux にクライアントが 1 つも attach していない(= 誰も画面を見ていない)ときだけ
ntfy.sh にプッシュを送る。席にいるときは WezTerm トーストだけになり、二重通知しない。

  • 本文に (セッション名:ウィンドウ番号 ウィンドウ名 %ペインID) が入るので、どのセッションが
    返事待ちかが外出先でも分かる(iPad の Termius で入って該当ウィンドウへ移動する)
  • iPhone に ntfy アプリを入れて同じトピックを購読すれば、Apple Watch にも自動でミラーされる
  • トピック名は実質パスワードなので推測されにくいランダム文字列にする(例: claude-devbox-<乱数>
  • ファイルが無ければ何もしない。セルフホストは環境変数 NTFY_SERVER で切り替え

なお tmux を挟む場合(#214 以降の標準構成)は、.tmux.confset -g allow-passthrough on に加えて、
送信側が OSC を ESC Ptmux; ... ESC \ の passthrough 形式でラップする必要がある(notify.sh / zshrc の
__term_emit / nvim の agent_terminal.lua が対応済み)。素の OSC 7 や OSC 1337 は tmux に飲まれて届かない。

右上ステータスに接続状態を表示

タブバー右端のステータスに 接続状態・アクティブなキーテーブル・日時 を常時表示している。

接続状態はラベルと色で見分けられる(#214 で tmux 移行後):

表示 意味
devbox ssh + tmux の通常運用(セッションはリモート tmux が保持。切断しても生き残る)
MUX:devbox オレンジ 旧 wezterm mux ドメイン(切り分け用フォールバック)
SSH:ホスト名 devbox からさらに別ホストへ素の ssh をした状態(切断するとセッションも消える)
local ローカル(Windows)

仕組み: 通常運用は SSH ドメイン名(devbox-tmux)で判定。加えてシェルが OSC 7 で報告するホスト名(pane:get_current_working_dir().host)を併用し、devbox から先へのネスト SSH を検出している(リモート側のシェルが OSC 7 を発行していることが前提。dotfiles の zsh 設定なら tmux 越しでも発行される)。

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 などのコマンドがリモートからでも動作する。

trzsz(SSH 経由のファイル転送)

ターミナルの中だけでローカル ⇔ リモートのファイル転送ができるツール。scp のようにローカル側で別コマンドを打つ必要がなく、リモート側で trz と打つとローカルにファイル選択ダイアログが開く

コマンド 実行する場所 動作 由来
tssh user@host 接続元 trzsz でラップした SSH 接続(trzsz -d ssh のエイリアス) trzsz + ssh
trz リモート 接続元にファイル選択ダイアログが開き、選んだファイルをアップロード trzsz receive → z(rz 互換)
trz -d リモート ディレクトリごとアップロード directory
tsz <file> リモート ファイルを接続元にダウンロード trzsz send → z(sz 互換)

注意: trzsz は「ssh コマンドを打つ側」にインストールする(GUI ダイアログには zenity 等が必要)。
現構成(Windows → devbox)では、Windows ⇔ devbox のファイル転送は scp devbox:... で行うのが簡単
ssh devbox エイリアスが scp にも効く)。trzsz は devbox からさらに先のホストに入るときの選択肢。


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

ghq create <name> の既定 owner は ai-foo
別の組織に作るときは owner/repo-name で指定する。

コマンド 動作
ghq create repo-name ai-foo/repo-name に作成
ghq create owner/repo-name 指定した owner に作成

zoxide(スマートな cd

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

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

コマンド 動作 由来
cfd カレントディレクトリ直下のフォルダを fzf で選んで cd cd + fzf + directory
lrm 1 つ上に移動してから、元いたディレクトリを確認付きで削除 local remove

注意: lrm は現在のディレクトリ自体を消す。内部で 1 つ上に移動してから確認プロンプトを出すため、rm -rf . を直接打つより安全寄り。

Git Worktree

コマンド 動作 由来
Alt+W ~/.git-worktrees/ 以下のイシューベース worktree(issue-* パターン)を fzf で選択して cd(プレビュー表示付き) Worktree
gwb GitHub Issue 作成 + worktree 作成 + WezTerm 下分割で Claude 起動 git worktree branch
gwb r 同上・右分割 right
gwb d 同上・下分割(gwb と同じ) down
gwb t 同上・新規タブで worktree ディレクトリに cd tab

pplx(Perplexity API 連携)

コマンド 動作
pplx 対話モード(pplx> プロンプトで複数ターンの会話、exit/quit/Ctrl+D で終了、/reset で履歴クリア)
pplx "質問文" 単発モード。1回answerして終了
pplx -m sonar-pro "質問文" モデルを指定(既定は sonarPPLX_MODEL 環境変数でも上書き可)

Web 検索で根拠付けされた回答を返す Perplexity Sonar API(/v1/sonar)を呼び出す。
APIキーはローカルに保存せず、起動のたびに Azure Key Vault(既定: autofor-kv / シークレット名: perplexity-api-key)から取得する。これにより毎回の起動時に Azure へのログイン状態・Key Vault への権限が正しいかを確認できる(az login が必要な場合はエラーで案内される)。テスト用に PERPLEXITY_API_KEY 環境変数を設定すると、その値が優先され Key Vault 取得はスキップされる。
実体は linux/.local/bin/pplx(devbox 上で実行)。


Git

初期化

コマンド 動作 由来
mkdir <repo-name> && cd <repo-name> 作業用ディレクトリを作って入る 新規作成の定番
git init その場を Git リポジトリとして初期化 init = 初期化
git branch -M main 最初のブランチ名を main にそろえる Move / rename
git status Git 管理状態を確認 status = 状態確認
git add . 現在のファイルをまとめてステージング add = 追加
git commit -m \"first commit\" 最初のコミットを作る commit = 記録
git remote add origin <URL> GitHub などのリモートを登録 origin = 既定リモート名
git push -u origin main 初回 push と upstream 設定をまとめて実行 -u = 追跡設定

ブランチ操作

branch / checkout / switch は役割が似て見えるが、担当が違う。
今は「作る・一覧を見る」は branch、「切り替える」は switch を基本にすると整理しやすい。
checkout は昔の万能コマンドで、ブランチ切替とファイル復元の両方を担っていたため混乱しやすい。

コマンド 動作 ひとことでいうと
git branch ブランチを一覧・作成・削除する ブランチ管理
git checkout ブランチ移動 / 作成 / ファイル復元までできる 昔の万能コマンド
git switch ブランチ切替専用 切替担当

一覧・作成・削除 - branch

コマンド 動作 由来
git branch ブランチ一覧を表示 branch = 枝
git branch feature/test 新しいブランチを作成する。今いるブランチはそのまま 作るだけで移動しない
git branch -d feature/test ブランチを削除する -d = delete

旧コマンド - checkout

コマンド 動作 由来
git checkout -b feature/test ブランチを作ってそのまま切り替える -b = branch

切替 - switch

コマンド 動作 由来
git switch main ブランチを切り替える switch = 切り替え
git switch -c feature/test ブランチを作って切り替える -c = create

今のおすすめは、作成・一覧は git branch、移動は git switch
git checkout は古い記事や README にまだよく出るので、「読むための知識」として押さえておくと混乱しにくい。

リモート

origin = リモートリポジトリ(GitHub 等)につけた短い別名。git remote -v で確認できる。

初回接続

コマンド 動作 ひとことでいうと
gh repo create AutoFor/TicketRadar --private --source=. --remote=origin GitHub の repo を作って、ローカルの origin も設定する GitHub につなげる初回コマンド

gh repo create ... --source=. --remote=origin で GitHub 側の repo 作成とローカルの接続をまとめて行う。

接続確認

コマンド 動作 ひとことでいうと
git remote -v origin などのリモート URL を表示する -v = verbose(詳しく表示)
git fetch origin GitHub のリモートへ実際にアクセスできるか確認する 通信確認

git remote -v で GitHub の URL が出ていれば、リモート設定はできている。git fetch origin が通れば、実際に GitHub と接続できていると見てよい。

毎回の push

コマンド 動作 ひとことでいうと
git push ローカルの変更をリモートへ送る 普段の送信
git push -u origin main 初回 push と upstream 設定をまとめて実行する 最初の送信と追跡設定

git push は毎回の送信に使う。初回だけ git push -u origin main にすると、upstream も同時に設定できる。

同期 / 強制上書き

pull = 足す(ローカルを残しながら統合)、reset --hard = 捨てて合わせる(ローカル作業が消える)。

コマンド 動作 ローカル変更
git pull fetch + merge(または rebase)でリモートを統合 残る(コンフリクトあり得る)
git reset --hard origin/main 現在ブランチを origin/main と同じ状態に強制上書き 消える(未コミット・add 済み・ローカルコミットすべて)

よくある使い分け:

状況 コマンド
普段の更新 git pull --rebase
ローカルがぐちゃぐちゃで GitHub 状態に戻したい git fetch origin && git reset --hard origin/main

Linux コマンド集

パス記号

記号 意味
. カレントディレクトリ(自分がいる場所) ./script.sh
.. 1つ上の階層 cd ..
../.. 2つ上の階層 cd ../..
~ ホームディレクトリ(/home/ユーザー名 cd ~
/ ルートディレクトリ(最上位) cd /
- 直前にいたディレクトリ cd -

ホームディレクトリ vs ルートディレクトリ

ルート / ホーム ~
場所 ファイルシステムの最上位 /home/ユーザー名/ の中
誰のもの システム全体 自分専用
Windows で言うと C:\ C:\Users\ユーザー名\
普段使う? ほぼ触らない ここで作業する

ディレクトリ移動

操作 コマンド
ホームへ移動 cd ~ または cd
ルートへ移動 cd /

ファイル操作

コマンド 動作
cp src dst ファイルをコピー
cp -r src dst ディレクトリを再帰的にコピー
mv src dst ファイル/ディレクトリを移動またはリネーム
rm file ファイルを削除
rm -r dir ディレクトリを再帰的に削除
mkdir dir ディレクトリを作成
mkdir -p a/b/c 中間ディレクトリも含めて作成
touch file 空ファイルを作成(または更新日時を更新)
ls ファイル一覧を表示
ls -la 隠しファイル含む詳細一覧を表示
pwd 現在のディレクトリのパスを表示(pwdPrint Working Directory の略。Print = 表示する、Working Directory = 現在作業しているディレクトリ)
cat file ファイルの内容を表示
less file ファイルをページ送りで表示(q で終了)

圧縮ファイルの解凍

unzip archive.zip は Linux シェルで打つコマンド。Neovim のコマンドラインで実行する場合は、Ex コマンドではなくシェルコマンドとして渡す必要があるので :!unzip archive.zip のように先頭に ! を付ける。

場所 コマンド 動作
Linux シェル unzip archive.zip 現在のディレクトリに zip を解凍
Linux シェル mkdir -p archive && unzip archive.zip -d archive archive/ を作ってその中に zip を解凍
Neovim 内 :!unzip archive.zip Neovim からシェルを呼び出して zip を解凍
Neovim 内 :!mkdir -p archive && unzip archive.zip -d archive Neovim からシェルを呼び出し、archive/ を作ってその中に zip を解凍

Neovim

Leader キーは Space

Normal モード

起動・終了

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

ファイル操作

キー / コマンド 動作 由来
:e ファイルをディスクから再読み込み(リロード) edit(再編集=再読み込み)
:w 保存 write
:q 閉じる quit
:wq 保存して閉じる write + quit
:!<コマンド> Neovim 内からシェルコマンドを実行(例: :!cp -r src . ! = シェルコマンド実行

コピー・貼り付け・切り取り

この dotfiles では clipboard=unnamedplus を使っているので、通常の y / p はそのままシステムクリップボードと連携する。
一方で d / x は黒穴レジスタに捨てる設定なので、削除してもクリップボードは汚れない。

キー 動作 由来
yy 現在行をコピー yank line
yw 単語をコピー yank word
y$ カーソル位置から行末までコピー yank to end
p カーソル後ろ / 次の行に貼り付け paste
P カーソル前 / 前の行に貼り付け Paste before
dd 現在行を削除(切り取りではなく削除のみ) delete line
dw 単語を削除(切り取りではなく削除のみ) delete word
x 1文字削除(切り取りではなく削除のみ) excise

元に戻す/やり直す

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

文字削除

キー 動作 由来
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 "
vi' '...' の中身を選択(引用符は含まない) visual inner '
va' '...' ごと選択(引用符含む) visual around '
di' '...' の中身を削除 delete inner '
da' '...' ごと削除(引用符含む) delete around '
ci' '...' の中身を削除して挿入モードへ change inner '
yi' '...' の中身をコピー yank inner '
c d と同じ範囲を削除してインサートモードへ change

:normal コマンドを使うと、全行に対してノーマルモードの操作を一括適用できる:

コマンド 動作 内訳
:%normal 0x 全行の先頭1文字を削除 % = 全行、0 = 行頭へ移動、x = 1文字削除

行結合

キー 動作 由来
J 現在の行と次の行を結合して、改行を削除(1行にする) Join
gJ スペースを挟まずに結合 g を付けて別バリエーションの join

文字移動

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

単語移動

キー 動作 由来
w 次の単語の先頭へ移動 word
b 前の単語の先頭へ移動 backward
e 次の単語の末尾へ移動 end
ge 前の単語の末尾へ移動 e の逆方向
W 次の WORD 先頭へ移動(空白区切り、- 等を含む) WORD
B 前の WORD 先頭へ移動(空白区切り) Backward WORD
E 次の WORD 末尾へ移動(空白区切り) End of WORD

w/eiskeyword 定義の単位(- で区切られる)、W/E/B はスペースまでを 1 かたまりとして扱う。apxi-yasdfa-ffff 全体を一気に選ぶなら vE

行番号移動

キー / コマンド 動作 由来
:行番号 指定行へジャンプ(例: :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

折りたたみ(fold)

この設定では nvim-ufo を使っており、YAML は yamlls の fold 情報を優先して使う。
そのため、VS Code っぽく YAML の階層をそのまま畳める。

カーソル下の 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
YAML の階層をざっと閉じてから必要箇所だけ見る zM → 移動 → za or zo

Insert モード

モード移動

キー 動作 由来
Esc Insert モードを抜けて Normal モードに戻る Escape = モード離脱

ウィンドウ移動

キー 動作 由来
Ctrl+Home 左のウィンドウに移動 Home = 先頭・左端
Ctrl+End 右のウィンドウに移動 End = 末尾・右端

Visual モード

範囲選択

キー 動作 由来
v 文字単位で選択開始 visual
V 行単位で選択開始 Visual line(大文字=行単位)

コピー・貼り付け・切り取り

キー 動作 由来
y 選択範囲をコピー yank
p 選択範囲を貼り付けで置き換え paste
d 選択範囲を削除(切り取りではなく削除のみ) delete
x 選択範囲を削除(切り取りではなく削除のみ) excise

置換・コマンド実行

キー / コマンド 動作 由来
: 選択範囲付きでコマンドラインを開く '<,'> が自動で入る
:'<,'>s/old/new/g 選択範囲内の全マッチを置換 '<,'> = 選択範囲

WezTerm ペインへの送信

キー 動作 由来
<leader>y 選択範囲の ファイル:行 または ファイル:開始行-終了行 を右ペインに送信 yank to pane

Terminal モード

モード移動

キー 動作 由来
Alt+q ターミナルモードから Normal モードに戻る quit terminal mode
Esc+Esc ターミナルモードを抜けて左ウィンドウへ移動 二度押しで確定(Claude Code → エディタ)

ウィンドウ移動

キー 動作 由来
Ctrl+Home ターミナルモードを抜けて左ウィンドウへ移動 Home = 先頭・左端
Ctrl+End ターミナルモードを抜けて右ウィンドウへ移動 End = 末尾・右端

プラグイン

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>tf nvim-tree にフォーカス(閉じていれば開く) tree focus
<leader>ef エディタにフォーカスを戻す editor focus
<leader>tR ツリーを最新状態に更新 tree Reload(大文字=更新)
<leader>tr カーソル下のディレクトリをルートに変更して再表示 tree 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
m ファイル/フォルダをマーク(複数選択)/再度押すと解除 mark
bmv マークしたファイルをカーソル位置のディレクトリに一括移動 bulk move
x カット(マーク済みがあれば一括、なければカーソル下を対象) excise(切り取り)
c コピー(マーク済みがあれば一括、なければカーソル下を対象) copy
p カット/コピーしたファイルをカーソル位置のディレクトリに貼り付け paste

注意: c / x / p は同一 Neovim インスタンス内でのみ有効。別ウィンドウの Neovim との間ではクリップボードが共有されないため、ターミナルで mv / cp コマンドを使う。

mv "ファイルパス" .      # 現在のディレクトリ直下に移動
cp "ファイルパス" .      # 現在のディレクトリ直下にコピー
ファイルを開く
キー 動作 由来
Enter ファイルを開く / フォルダを展開 確定・実行
Tab フォーカスを保ったままファイルをプレビュー タブ=仮表示
e 水平分割で開く edit horizontal split

補足: zip / tar / gz / 7z は nvim-tree 上には表示されるが、Enter / Tab ではエディタに開かない設定。解凍コマンドは上の「Linux コマンド集 > 圧縮ファイルの解凍」を参照。

補足: pptx / ppt / pdf は nvim-tree 上に表示され、Enter / Tab ではエディタに展開せず Windows の既定アプリ(PowerPoint / PDF ビューア等)で開く設定(explorer.exe 経由、WSL2用)。

パスコピー
キー 動作 由来
gy 絶対パス(Linux)をクリップボードにコピー get yank
gW Windows パスをクリップボードにコピー(WSL2用) get Windows path
gE Windows の File Explorer で開く。ファイルは選択状態、フォルダはそのまま開く get/go Explorer
gV VSCode(WSL Remote 経由)でカーソル下のノードを開く g = go / V = VSCode
gr 相対パスをクリップボードにコピー get relative path
<leader>y ノードのパスを右 WezTerm ペイン(Claude Code 等)に送信 yank to pane

glow

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

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

scratch.nvim

フローティングウィンドウでサッと書ける一時メモ用プラグイン(reybits/scratch.nvim)。

キー 動作 由来
<leader>n スクラッチパッドを開く / 閉じる note

タイムスタンプ付き一時メモ

スクラッチパッドと違い、ファイルとして残したい一時メモ用。zsh の memo コマンド一発でタイムスタンプ付きメモが開き、追加のメモは nvim 内から <leader>N で作れる。

キー / コマンド 動作 由来
memo(zsh) メモディレクトリ(~/memoMEMO_DIR で変更可)に yyyymmddhhmmss.md を作成して nvim で開く memo
<leader>N カレントディレクトリに yyyymmddhhmmss.md を作成して開く New note(<leader>n の Shift 版)

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 -y / claude da 権限確認をスキップして起動(--dangerously-skip-permissions yes(codex -y と統一)/ danger の略

トークン使用量・コスト集計(ccusage)

ccusage で Claude Code / Codex の使用量とコストを集計。alias ccusage='npx ccusage@latest' で毎回最新版を実行(グローバルインストール不要)。

コマンド 動作 由来
ccusage / ccusage daily 日別のトークン使用量・コスト(デフォルト) daily
ccusage weekly 週別集計 weekly
ccusage monthly 月別集計 monthly
ccusage session 会話セッション別集計 session
ccusage blocks --live 5時間課金枠をライブ表示 blocks
ccusage daily --since 2026-06-01 --until 2026-06-18 期間指定 since/until
ccusage daily --json JSON 出力 json

Claude Code ゾンビプロセス防止

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

Claude Code プロンプト入力

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

Gmail

キーボードショートカットを使うには、設定 → すべての設定 → 全般 → 「キーボードショートカット:オン」にする必要あり。

受信トレイをさばく基本フロー

  • 常に gi で受信トレイへ戻る
  • j / k で次に読む候補のスレッドへ移動する
  • ちゃんと読むときは o または Enter で開く → 読んだら e でアーカイブ → u で一覧へ戻る
  • 要らないときは一覧上で x# で削除、または xe でアーカイブ

基本の検索ショートカット

ショートカット 動作
/ メール検索バーにカーソルを移動

メール操作

ショートカット 動作
j / k 一覧で上下に移動(カーソルを合わせる)
o / Enter カーソル中のスレッドを開く
x カーソルのスレッドを選択(チェックを入れる)
# 選択中のスレッドを削除(ゴミ箱へ移動)
e 現在のスレッド、または選択中のスレッドをアーカイブ
u スレッド表示から一覧へ戻る
+ または = 選択中のスレッドに重要マークを付ける
- 選択中のスレッドの重要マークを外す
*a 現在のページの全スレッドを一括選択
y 選択中のスレッドをアーカイブ(受信トレイから移動、削除ではない)
b 選択中のスレッドをスヌーズ(指定時刻まで非表示にして再通知)
Esc 検索ボックス・入力欄からフォーカスを外す(ショートカットが効かないときに押す)

注意: + / - / y / b は先に x でスレッドを選択してから押す。選択なしで押すと「スレッドが選択されていません」と表示される。
検索ボックスや本文入力中はショートカットが無効になるので、効かないときは先に Esc を押す。

新規作成

ショートカット 動作
c 新しいメールを作成(画面右下に作成ウィンドウ)
d 新しいメールを新しいタブで作成
Shift + c 新しいメールを新しいウィンドウでポップアウトして作成
Ctrl + Enter 作成中のメールを送信

画面移動

ショートカット 移動先
gi 受信トレイ(Inbox)
gs スター付き(Starred)
gt 送信済み(Sent
gd 下書き(Drafts)
gl ラベルへ移動(入力ボックスが開く → ラベル名を入力して Enter)

gl でラベル「重要」に移動する手順

  1. Esc でフォーカスを外す
  2. g を押す → l を押す(ラベル移動ボックスが開く)
  3. 重要 または Important と入力して Enter

検索クエリで代替する場合は、検索欄に is:important と入力して Enter

重要マークの仕組み

Gmailが機械学習でユーザーの操作履歴を学習し、自動で付けるフラグ。

判定に使われるシグナル:

  • よくやり取りする相手(頻度・返信速度)
  • 開封率・返信率
  • To 直接送信か、CC/メーリングリストか

手動で修正すると学習される:

  • マークがないのに重要 → x で選択 → + で付ける
  • 重要でないのにマークあり → x で選択 → - で外す

一括で重要マークを無効化するには:
設定 → すべての設定 → 受信トレイ → 「重要マーカー」→「マーカーなし」を選択。


Linear

ショートカット 動作 由来
GP 親イシュー(上の階層)に戻る。 Go to Parent issue

Azure CLI

Azure Key Vault

操作 コマンド
Key Vault 一覧 az keyvault list --output table
Key Vault の URL 確認 az keyvault show --name <vault-name> --query properties.vaultUri --output tsv
シークレット一覧 az keyvault secret list --vault-name <vault-name> --output table
シークレット追加・更新 az keyvault secret set --vault-name <vault-name> --name <key> --value <value>
シークレット値を取得 az keyvault secret show --vault-name <vault-name> --name <key> --query value --output tsv
シークレット削除 az keyvault secret delete --vault-name <vault-name> --name <key>

このプロジェクトの Key Vault

項目
Vault 名 autofor-kv
URL https://autofor-kv.vault.azure.net/
# シークレット追加の例
az keyvault secret set --vault-name autofor-kv --name my-api-key --value "my-secret-value"

# シークレット値を取得する例
az keyvault secret show --vault-name autofor-kv --name my-api-key --query value --output tsv

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 = *(アスタリスク=箇条書き記号)

devbox への接続

~/.ssh/config(dotfiles 管理: windows/.ssh/config)に Host devbox を定義しているので、どのツールからも同じ名前で入れる。

コマンド 動作
ssh devbox devbox に SSH(鍵・ユーザー名は config が解決)
ssh devbox -t tmux new -As main tmux の main セッションに直接 attach(WezTerm 外から)
scp devbox:~/path/file . devbox からファイル取得(アップロードは逆向き)
pwsh -File windows\bin\devbox.ps1 ensure VM 起動 + NSG の現在 IP 許可を担保(ネットワーク変更後の復旧はこれ or <leader> →a
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?