LoginSignup
1
1

More than 5 years have passed since last update.

vimのノーマルモードのコマンドまとめ(その3)

Last updated at Posted at 2016-09-18

vimのノーマルモードのコマンドまとめ(その1)の続き
Ctrl + w,[,]打鍵が必要なノーマルモードのコマンドのまとめ

version

vim 7.4.2210

^wの機能

ウィンドウサイズ変更
ウィンドウの配置を変更する
ウィンドウ間でカーソルの移動を行う
ウィンドウを開く/閉じる
カーソル位置のタグ名/ファイル名を開く

[ ]の機能

キー 動作 キー 動作
c diffの差分の移動 d (C言語等の)マクロ定義の表示
f ファイルを開く※gfと同じ i キーワードを表示
m メソッドの{}に移動 p インデント調整して貼り付け
s スペルミスの単語に移動 z 折り畳みの先頭/末尾に移動
' マーク位置の行先頭へ移動 * C言語のコメントの始まり/終わりに移動
( ) (,)へ移動 ` マーク位置へ移動
/ C言語のコメントの始まり/終わりに移動 { } {,}へ移動
[ ] セクション移動 # #if #else #endif の間を移動

Index

^w

| ^wb ^w^b | ^wc ^w^c | ^wd ^w^d | ^wf ^w^f | ^wF | ^wgF | ^wgf | ^wg] | ^wg} |
| ^wh ^w^h | ^wH | ^wi ^w^i | ^wj ^w^j | ^wJ | ^wk ^w^k | ^wK | ^wl ^w^l | ^wL |
| ^wn ^w^n | ^wo ^w^o | ^wp ^w^p | ^wP | ^wq ^w^q | ^wr ^w^r | ^wR | ^ws ^w^s | ^wS |
| ^wt ^w^t | ^wT | ^wv ^w^v | ^ww ^w^w | ^wW | ^wx ^w^x | ^wz ^w^z |
| ^w+ | ^w- | ^w< | ^w= | ^w> | ^w| | ^w] ^w^] | ^w^ ^w^^ | ^w_ ^w^_ | ^w} |
| ^w<Down> | ^w<Left> | ^w<Right> | ^w<Up>

[ ]

| [c ]c | [d ]d [D ]D [^d ]^d | [f ]f | [i ]i [I ]I [^i ]^i |
| [m ]m [M ]M | [p ]p [P ]P | [s ]s [S ]S | [z ]z |
| [' ]' | [* ]* | [( ]) | [` ]` | [/ ]/ | [{ ]} |
| ]] ][ [[ [] | ]# [# |

ウィンドウサイズ変更

以下キーで操作

^w= ^w+ ^w- ^w> ^w< ^w_ ^w^_ ^w|

^w=

全てのウィンドウの高さと幅の大きさをほぼ同じにする

^w+ ^w- ^w> ^w< ^w_ ^w^_ ^w|

以下表に従い、カレントウィンドウのサイズを変更する

キー 方向 説明
^w+ 高+ 1 カレントウィンドウを1行分高くする
^w- 高- 1 カレントウィンドウを1行分低くする
^w_ 高+ Max カレントウィンドウの高さを可能な限り高くする
^w^_ 高+ Max ^w_と同じ
^w> 幅+ 1 カレントウィンドウを1桁分広くする
^w< 幅- 1 カレントウィンドウを1行分狭くする
^w| 幅+ Max カレントウィンドウの幅を可能な限り広くする

Indexへ

ウィンドウの配置を変更する

以下キーで操作

^wr ^w^r ^wx ^w^x ^wR ^wK ^wJ ^wH ^wL ^wT

動作は下記表を参照

キー 動作 説明
^wr 右/下回転 同じ段/列のウィンドウの位置を右/下に1回転し、再配置する
^w^r 右/下回転 ^wrと同じ
^wR 左/上回転 同じ段/列のウィンドウの位置を左/上に1回転し、再配置する
^wx 交換 カレントウィンドウと次のウィンドウの配置を入れ替える
※次のウィンドウがない場合は前のウィンドウ
^w^x 交換 ^wxと同じ
^wK 最上段 カレントウィンドウを最上段に再配置し、幅を最大にする
^wJ 最下段 カレントウィンドウを最下段に再配置し、幅を最大にする
^wH 最左列 カレントウィンドウを最左列に再配置し、高さを最大にする
^wL 最右列 カレントウィンドウを最右列に再配置し、高さを最大にする
^wT 新規タブ 新規タブを開き、カレントウィンドウをそこに配置する

Indexへ

ウィンドウ間でカーソルの移動を行う

以下キーで操作

^wh ^w^h ^w<Left> ^wj ^w^j ^w<Down>
^wk ^w^k ^w<Up> ^wl ^w^l ^w<Right>
^ww ^w^w ^wW ^wt ^w^t ^wb ^w^b ^wp ^w^p ^w^P

動作は下記表を参照

キー 位置 説明
^wh ^w^h ^w<Left> 左のウィンドウにカーソルを移動
^wj ^w^j ^w<Down> 下のウィンドウにカーソルを移動
^wk ^w^k ^w<Up> 上のウィンドウにカーソルを移動
^wl ^w^l ^w<Right> 右のウィンドウにカーソルを移動
^ww ^w^w 次のウィンドウにカーソルを移動
^wW 前のウィンドウにカーソルを移動
^wt ^w^t 最初 一番左上のウィンドウにカーソルを移動
^wb ^w^b 最後 一番右下のウィンドウにカーソルを移動
^wp ^w^p 直前 直前のウィンドウにカーソルを移動
^wP - プレビューウィンドウにカーソルを移動

Indexへ

ウィンドウを開く/閉じる

以下キーで操作

^ws ^w^s ^wS ^wv ^w^v ^wn ^w^n ^w^ ^w^^
^wc ^w^c ^wq ^w^q ^wo ^w^o ^wz ^w^z

動作は下記表を参照

キー 概要 詳細
^ws ^w^s ^wS 横分割 カレントウィンドウを横に分割
^wv ^w^v 縦分割 カレントウィンドウを縦に分割
^wn ^w^n 新規 新規ウィンドウを開く
^w^ ^w^^ 前を開く 直前のバッファを新規ウィンドウで開く
:sp #と同じ
^wc ^w^c 閉じる カレントウィンドウを閉じる
^wq ^w^q 終了 カレントウィンドウを終了する(:quitと同じ)
^wo ^w^o 他を閉じる カレントウィンドウ以外を全て閉じる(:onlyと同じ)
^wz ^w^z プレビューを閉じる プレビューウィンドウを閉じる

補足

  • ^w^c^cのキーバインドが「中断」だと使えない
  • 閉じる処理(^wc ^wo)に関し、hiddenオプションがonの場合、閉じたファイルは隠れバッファとなる

Indexへ

カーソル位置のタグ名/ファイル名を開く

以下キーで操作

^w] ^w^] ^wg] ^wf ^w^f ^wF ^wgf ^wgF
^wd ^w^d ^wi ^w^i ^w} ^wg}

動作は下記表を参照

キー 動作
^w] ^w^] カーソル配下の宣言元を新規ウィンドウで開く
^wg] カーソル配下の宣言元を新規ウィンドウで開く
^wf ^w^f カーソル配下のファイルを新規ウィンドウで開く
^wF カーソル配下のファイルを新規ウィンドウで開く
[^w} カーソル配下の宣言元をプレビューウィンドウで開く
[^wg} カーソル配下の宣言元をプレビューウィンドウで開く
^wgf カーソル配下のファイルを新規タブで開く
^wgF カーソル配下のファイルを新規タブで開く
^wd ^w^d カーソル配下のキーワードを含むマクロ定義を
新規ウィンドウで開く
^wi ^w^i カーソル配下のキーワードの最初の1行目に移動して、
新規ウィンドウを開く

Indexへ



[c ]c

diff差分の前/次に移動する

Indexへ

[d ]d [D ]D [^d ]^d

[d

カーソル下のマクロをファイルの先頭から検索して、定義を表示

]d

カーソル下のマクロを現在位置から検索して、定義を表示

[D

カーソル下のマクロをファイルの先頭から検索して、ファイル名、行番号、定義内容を表示

]D

カーソル下のマクロを現在位置から検索して、ファイル名、行番号、定義内容を表示

[^d

カーソル下のマクロをファイルの先頭から検索して、マクロの定義位置にジャンプする

]^d

カーソル下のマクロを現在位置から検索して、マクロの定義位置にジャンプする

注意
ここでいうマクロはC言語等で扱うマクロのことを指す

Indexへ

[f ]f

カーソル配下もしくは後ろにあるパスを開く
例えば)
tmp.txt 2なら./tmp.txtを開く
gfと同じ。非推奨

Indexへ

[i ]i [I ]I [^i ]^i

[i

カーソル下のキーワードをファイルの先頭から検索して、キーワードを含む1行を表示

]i

カーソル下のキーワードを現在位置から検索して、キーワードを含む1行を表示

[I

カーソル下のキーワードをファイルの先頭から検索して、キーワードを含む1行とファイル名、行番号を表示

]I

カーソル下のキーワードを現在位置から検索して、キーワードを含む1行とファイル名、行番号を表示

[^i

カーソル下のキーワードをファイルの先頭から検索して、キーワードを含む1行にジャンプする

]^i

カーソル下のキーワードを現在位置から検索して、キーワードを含む1行にジャンプする

補足

検索にて、コメント文とみなした行は無視する

# 以下vim helpからcommentsの説明を引用
'comments' 'com'    文字列   (既定では
                "s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-")
            バッファについてローカル

Indexへ

[m ]m [M ]M

[m ]m

前/次のメソッドの初めの{に移動する。前/次のメソッドがない場合はクラスの初め/終わりに移動する

[M ]M

前/次のメソッドの終わりの}に移動する。前/次のメソッドがない場合はクラスの初め/終わりに移動する

Indexへ

[p ]p [P ]P

]p

インデント調整して、後ろに貼り付け

[p ]p [P ]P

インデント調整して、前に貼り付け

補足

  • インデント調整する点を除き、p Pと同じ動作
  • 貼り付け内容が一行以下の場合はインデント調整しない

Indexへ

[s ]s [S ]S

以下の表に従い、スペルミスの単語の前/次へ移動する

キー 方向 動作
[s 次のスペルミスの単語へ移動。
]s 前のスペルミスの単語へ移動。行をまたぐ単語は認識しない
[S 次のスペルミスの単語へ移動。他地域、まれな単語へ移動しない
]S 前のスペルミスの単語へ移動。他地域、まれな単語へ移動しない

補足

該当機能使用のため:set spellの実行が必要

Indexへ

[z ]z

現在開いている折り畳みの先頭([z)/末尾(]z)に移動する。
すでに先頭([z)/末尾(]z)にいる場合は外側の折り畳みの
先頭([z)/末尾(]z)に移動する

Indexへ

[' ]'

カーソル位置より一番近い前/次の小文字のマークがある行の最初の非空白文字へ移動

参考
vimのノーマルコマンドまとめ(その1)-m

Indexへ

[* ]*

前/次のCコメントの始まり/終わりに移動する
※1.Cコメントの始まり/終わりは/* */を指す
※2. [/ ]/と同じ

Indexへ

[( ])

[(

カーソルから前の位置にあるマッチがない(へ移動する

])

カーソルから後ろの位置にあるマッチがない)へ移動する

Indexへ

[` ]`

カーソル位置より一番近い前/次の小文字のマーク位置へ移動

参考
vimのノーマルコマンドまとめ(その1)-m

Indexへ

[/ ]/

前/次のCコメントの始まり/終わりに移動する
※1.Cコメントの始まり/終わりは/* */を指す
※2. [* ]*と同じ

Indexへ

[{ ]}

[{

カーソルから前の位置にあるマッチがない{へ移動する

]}

カーソルから後ろの位置にあるマッチがない}へ移動する

Indexへ

]] ][ [[ []

]]

セクション前方、もしくは{ではじまる次の場所に移動する

][

セクション前方、もしくは}ではじまる次の場所に移動する

[[

セクション後方、もしくは{ではじまる次の場所に移動する

[]

セクション後方、もしくは}ではじまる次の場所に移動する

補足

セクションはsectionsオプションで定義することができる。
値はnroff(Unixで使用している画面整形システム)のマクロで定義する。
例えば、既定値のSHNHH HUnhsh.SH.NH.H.HU.nh.shを表す。
参考

Indexへ

]# [#

#if #else #endif の間を行き来する

補足

C言語等の「#if #else #endif」移動のための専用コマンド

Indexへ

1
1
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
1
1