0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vim ショートカット中級編

0
Posted at

Vim で使うショートカットの内、初学者が真っ先に覚えるものを除いて紹介します。使用頻度は高くないかもしれませんが、扱えると便利です。

1. カーソル移動

ショートカット 機能説明
H / M / L 画面の最上端 (High) / 中央 (Middle) / 最下端 (Low) にジャンプ
zt / zz / zb 現在のカーソル行を、画面の最上端 / 中央 / 最下端にスクロール
Ctrl + f / Ctrl + b 1画面分 前にスクロール / 後ろにスクロール
Ctrl + d / Ctrl + u 半画面分 前にスクロール / 後ろにスクロール
ge / gE 前の単語の「末尾」に移動(gE は区切り文字を無視)
% 対応する括弧( (), {}, [] )の相方にジャンプ
f{char} / F{char} 行内で次(前)にある指定した文字 {char} にジャンプ
t{char} / T{char} 行内で次(前)にある指定した文字 {char} の「1文字前」にジャンプ
; / , ft の移動を順方向 / 逆方向に繰り返す
* / # カーソル下の単語を、次(前)に向かって検索する
gd カーソル下の変数・関数の定義元(Local Declaration)にジャンプ
'' (シングルクォート2回) 直前にいたカーソル位置(ジャンプ元)に戻る

2. テキスト編集・オペレータ

ショートカット 機能説明
. (ドット) 直前に行った編集操作(インサートモードの入力含む)を繰り返す
I / A 行頭の最初の非空白文字から挿入 / 行末から挿入
o / O カーソルの下 / 上に新しく行を挿入してインサートモード
s / S カーソル位置の1文字を消去して挿入 / 行全体を消去して挿入
C カーソル位置から「行末まで」を消去してインサートモード(c$ と同じ)
D カーソル位置から「行末まで」を削除(d$ と同じ)
g~ 選択範囲またはモーション範囲の文字の「大文字・小文字」を反転
gu / gU モーション範囲をすべて 小文字化 / 大文字化
J カーソル行と、その下の行を1行に結合(スペースを自動挿入)
gJ スペースを挟まずに、下の行と結合
Ctrl + a / Ctrl + x カーソル位置の数値を 1 加算(インクリメント) / 1 減算(デクリメント)
>> / << カレント行を右(インデント深く) / 左(インデント浅く)にシフト
== カレント行のインデントを自動で整形する

3. ビジュアルモード・矩形選択

ショートカット 機能説明
Ctrl + v 矩形(ブロック)ビジュアルモードを開始(縦方向の選択)
gv 最後に選択していたビジュアルモードの範囲を再選択
o (ビジュアルモード中) 選択範囲の「開始位置」と「終了位置」のカーソルを入れ替える
I{text}<Esc> (矩形選択中) 選択した複数行の先頭に、同じ文字列 {text} を一括挿入
A{text}<Esc> (矩形選択中) 選択した複数行の末尾に、同じ文字列 {text} を一括挿入
r{char} (ビジュアルモード中) 選択範囲の文字をすべて指定した1文字 {char} に置き換える

4. 検索・置換・レジスタ・マクロ

ショートカット 機能説明
/{pattern}/e 検索時、マッチした文字列の「末尾」にカーソルを合わせる
:%s/foo/bar/gc ファイル全体の foobar に**確認付き(c)**で置換
& 直前に行った :s (置換) コマンドをカレント行に再適用
"{register}y 指定したレジスタ(a-z など)にテキストをヤンク(コピー)
"{register}p 指定したレジスタからテキストを貼り付け
"0p 直前にヤンクしたテキストだけを貼り付け(d で上書きされない)
q{register} マクロの記録を開始(qa でレジスタ a に記録開始、再度 q で終了)
@{register} 記録したマクロを実行(@a で実行、@@ で直前のマクロを再実行)
q: コマンドラインの履歴をウィンドウとして開き、編集・実行する

5. ウィンドウ・タブ・画面分割

ショートカット 機能説明
:sp (:split) 画面をに分割
:vsp (:vsplit) 画面をに分割
Ctrl + wh / j / k / l 分割されたウィンドウを 左 / 下 / 上 / 右 に移動
Ctrl + ww 次のウィンドウへ循環移動
Ctrl + wr 分割ウィンドウの配置をローテーション(入れ替え)
Ctrl + w_ (アンダースコア) 現在のウィンドウの「高さ」を最大化
Ctrl + w ➔ ` ` (パイプ)
Ctrl + w= 分割されたすべてのウィンドウのサイズを均等にする
:tabnew 新しいタブページを開く
gt / gT 次のタブ / 前のタブ に切り替える
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?