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

# version

vim 7.4.2210


# Index

|[A](#a)|[B](#b)|[C](#c)|[D](#d)|[E](#e)|[F](#f)|[G](#g)|[H](#h)|[I](#i)|[J](#j)|[K](#k)|[L](#l)|[M](#m)|[N](#n)|
|[O](#o)|[P](#p)|[Q](#sfuta-id-q)|[R](#r)|[S](#s)|[T](#t)|[U](#u)|[V](#v)|[W](#w)|[X](#x)|[Y](#y)|[Z](#z)|
| [0](#0) | [!](#!) | [#](##) | [$](#$) | [?](#?) | [\ ](# ) | [@](#@) | [_](#_) | [~](#~) |
| [`](#`) | ['](#') | ["](#") | [:](#:) | [;](#;) | [,](#,) | [.](#.) |
| [\^](#^) | [%](#%) | [&](#&) | [|](#|) | | [+](#+) | [*](#*) | [-](#-) | [/](#/) | [=](#=) |
| [()](#()) | [\[\]](#\[\]) | [\<\>](#<>) | [{}](#{}) |
|[\<Space\>](#\<Space\>)|[\<Enter\>](#\<Enter\>)|[\<Esc\>](#\<Esc\>)|


#\<A\>

## a

右に一文字移動して挿入モード

## A

行末に移動して挿入モード

## ^a

カーソルから右方向にある数値をインクリメント

```
3days
  ↓
4days
```

※^x：デクリメント


[Indexへ](#index)

#\<B\>

## b

前単語先頭へ移動

- 単語はアルファベット、数値、その他の非空白文字の連続で構成  
- 区切り文字はスペース、タブ、\<EOL\>  
※例えば`abc_123あいう 567<<>>`なら、`abc_123`,`あいう`,`567`, `<<>>`の4単語

※w：次単語先頭へ移動

## B

前単語先頭へ移動

- 単語は非空白文字の連続で構成  
- 区切り文字はスペース、タブ、\<EOL\>  
※例えば`abc_123あいう 567<<>>`なら、`abc_123あいう`,`567<<>>`の2単語

※W：次単語先頭へ移動

## ^b
PageUp
※^f：PageDown

[Indexへ](#index)

#\<C\>

## c
d(切り取り)と同様の動作後に挿入モード

## C
Dと同様の動作後に挿入モード

## ^c
(検索)コマンド中断

[Indexへ](#index)

#\<D\>

## d

切り取り

### 補足

切り取り範囲の指定は以下の方法がある
※c, yと同様

- 移動系のコマンドとの併用。d[移動系コマンド]で実行  
**例)** dw:単語削除, dgg:カーソル位置から先頭行まで削除等
- dd:行切り取り
- visualモードとの併用

## D

行末まで切り取り

## ^d

半PageDown
※^u：半PageUp

[Indexへ](#index)

#\<E\>

## e

次単語末尾へ移動

- 単語はアルファベット、数値、その他の非空白文字の連続で構成
- 区切り文字はスペース、タブ、\<EOL\>  
※例えば`abc_123あいう 567<<>>`なら、`abc_123`, `あいう`,`567`, `<<>>`の4単語

※ge：前単語末尾へ移動

## E

次単語末尾へ移動

- 単語は非空白文字の連続で構成  
- 区切り文字はスペース、タブ、\<EOL\>  
※例えば`abc_123あいう 567<<>>`なら、`abc_123あいう`,`567<<>>`の2単語

※gE：前単語末尾へ移動

## ^e
1行下にスクロール（※カーソルは動かない）
※^y：1行上にスクロール（※カーソルは動かない）

[Indexへ](#index)

#\<F\>

## f

fxでカーソルの右に位置するxにカーソル移動(※xは任意の文字)
※tと類似

## F

Fxでカーソルの左に位置するxにカーソル移動(※xは任意の文字)
※Tと類似

## ^f

PageDown

[Indexへ](#index)

#\<G\>

## g

prefix的なコマンド,gxx(xxは任意のキー入力)で様々な動作を実行する

### 補足
g打鍵後、入力対象のキーおよび動作は下記リンクを参照
[vimのノーマルモードのコマンドまとめ(その2)](http://qiita.com/sfuta/items/2d646396a6117c8e53e5)

## G

最終行の行頭へ移動

## ^g

ステータスラインにカーソル情報表示

[Indexへ](#index)

#\<H\>

## h

左に一文字移動。\<Left\>と同じ

## H

画面表示されてる範囲の先頭行にカーソル移動

## ^h

左に一文字移動(改行またぐ)
※\<BS\>と同じ動作

[Indexへ](#index)

#\<I\>

## i

挿入モードに切替

## I

行頭(空白文字を除く)に移動して挿入モードに切替

## ^i

ジャンプリストの次の位置へ移動
※^o：ジャンプリストの前の位置へ移動

### 補足
ジャンプリストはジャンプコマンドの履歴。履歴は`:ju[mps]`で確認できる
※ジャンプコマンド：バッファ間移動,検索,マーク移動,`gg`,`G`等

[Indexへ](#index)

#\<J\>

## j

次行に移動(移動前の行のカラム位置は移動後の行のカラム位置となる)。\<Down\>と同じ
※gj：下に一文字移動(行折り返し時は同行に移動)

## J

間にスペース文字を入れて次行と行連結
※gJ：間にスペースを入れず次行と行連結

## ^j

jと同じ
※^n：jと同じ

[Indexへ](#index)

#\<K\>

## k

前行に移動(移動前の行のカラム位置は移動後の行のカラム位置となる)。\<Up\>, ^pと同じ
※gj：上に一文字移動(行折り返し時は同行に移動)

## K

カーソル下の単語を引数にコマンド実行。デフォルトのコマンドは`man -s`
コマンドは`set keywordprg`で変更

## ^k

未定義

[Indexへ](#index)

#\<L\>

## l

右に一文字移動。\<Right\>と同じ

## L

画面表示されてる範囲の最下行にカーソル移動

## ^l

再描画

[Indexへ](#index)

#\<M\>

## m

mxで現在のカーソル位置をマーク（xはマーク記号）
※`xでマークした位置に移動、'xでマークした位置の行頭へ移動

### 補足

- xはa~z,A~Z,\[ \] \> \< ` 'が指定可能
- オペレータコマンド(d等)と併用可能  
例) d'x：現在位置から'xマーク位置まで切り取り
- 大文字のマークはファイルをまたいだ移動が可能  
※ファイルをまたぐ場合はオペレータコマンドとの併用不可
- マークの一覧は`:marks`で確認可能

### 参考
```vim
:help mark
```

## M

画面表示されてる範囲の中央行にカーソル移動

## ^m

次行の最初の非空白文字へ移動
※+と同じ

### 補足

端末では^mは\<Enter\>を意味する

[Indexへ](#index)

#\<N\>

## n

次検索(検索未実行時は何もしない)

## N

前検索(検索未実行時は何もしない)

## ^n

次行に移動(移動前の行のカラム位置は移動後の行のカラム位置となる)
※jと同じ


[Indexへ](#index)

#\<O\>

## o

下に行を追加して、追加行に移動してから挿入モード

## O

上に行を追加して、追加行に移動してから挿入モード

## ^o

ジャンプリストの前の位置へ移動
※^i：ジャンプリストの次の位置へ移動

[Indexへ](#index)

#\<P\>

## p

カーソル位置から後ろに貼り付け

## P

カーソル位置から前に貼り付け

## ^p

前行に移動(移動後の行のカラム位置は移動前の行のカラム位置となる)
※kと同じ

[Indexへ](#index)

#<span id="sfuta-id-q"></span>\<Q\>

## q

- qxでキー操作の記録を開始、xは記録先レジスタ名(下記参照)
- qでキー操作の記録を終了

### 補足

- xはa~z, A~Z, 0~9が指定可能
- @xで記録したキー操作を再実行
- @@で直前に実行したキー操作を再実行

## Q

Exモードの切り替え
※現在のファイルをExエディタで開く

## ^q

未定義。
※Windowsにて^Vが貼り付けとなっている場合、^qで矩形選択になる

[Indexへ](#index)

#\<R\>


## r

rxでカーソル配下の文字をxで置き換え(※xは任意の文字)

## R

Replaceモード(上書きモード)に切り替え

- 全角文字1文字は半角文字1文字で置き換わる(行末までの文字が前に移動してくる)
- gR なら全角文字1文字は半角文字2文字で置き換わる(行末までの文字移動しない)

## ^r

redo


[Indexへ](#index)

#\<S\>

## s

カーソル配下の文字を切り取りしてから、挿入モード
※clと同じ

## S

行切り取り(※改行は含まない)してから、挿入モード
※ccと同じ

## ^s

未定義。
※端末によって画面スクロールロックが有効になることがある。その場合は^qで画面スクロールロック解除。

[Indexへ](#index)

#\<T\>

## t

txでカーソルの右に位置するxの手前にカーソル移動(※xは任意の文字)
※fと類似

## T

Txでカーソルの左に位置するxの手前にカーソル移動(※xは任意の文字)
※Fと類似

## ^t

タグで移動していた場合、移動前の位置に戻る

[Indexへ](#index)

#\<U\>

## u

undo

## U

現在行のみの変更を戻す

## ^u

半PageUp
※^d：半PageDown

[Indexへ](#index)

#\<V\>

## v

通常のvisualモードに切り替え

## V

行選択のvisualモードに切り替え

## ^v

矩形選択のvisualモードに切り替え
※Windowsにて^vが貼り付けとなっている場合^qで矩形選択になる

[Indexへ](#index)

#\<W\>

## w

次単語先頭へ移動

- 単語はアルファベット、数値、その他の非空白文字の連続で構成  
- 区切り文字はスペース、タブ、\<EOL\>  
※例えば`abc_123あいう 567<<>>`なら、`abc_123`,`あいう`,`567`, `<<>>`の4単語

※b：前単語先頭へ移動

## W

次単語先頭へ移動

- 単語は非空白文字の連続で構成  
- 区切り文字はスペース、タブ、\<EOL\>  
※例えば`abc_123あいう 567<<>>`なら、`abc_123あいう`,`567<<>>`の2単語

※B：前単語先頭へ移動

## ^w

prefix的なコマンド,^wxx(xxは任意のキー入力)で主にWindow操作を実行する


### 補足
^w打鍵後、入力対象のキーおよび動作は下記リンクを参照
[vimのノーマルモードのコマンドまとめ(その3)](http://qiita.com/sfuta/items/fd78f3ece8861f8142ee)


[Indexへ](#index)

#\<X\>

## x

カーソル配下の文字を切り取り
※dlと同じ

## X

カーソル手前の文字を切り取り
※dhと同じ

## ^x 

カーソルから右方向にある数値をデクリメント

```
3days
  ↓
2days
```

※^a：インクリメント

[Indexへ](#index)

#\<Y\>

## y

コピー

### 補足

コピー範囲の指定は以下の方法がある
※c, dと同様

- 移動系のコマンドとの併用。y[移動系コマンド]で実行  
**例)** yw:単語コピー, ygg:カーソル位置から行頭までコピー等
- yy:行コピー
- visualモードとの併用

## Y

行コピー
※yyと同じ

## ^y

1行上にスクロール（※カーソルは動かない）
※^e：1行下にスクロール（※カーソルは動かない）

[Indexへ](#index)

#\<Z\>

## z

prefix的なコマンド,zx(xは任意のキー入力)で様々な動作を実行する

### 補足
z打鍵後、入力対象のキーおよび動作は下記リンクを参照
[vimのノーマルモードのコマンドまとめ(その2)](http://qiita.com/sfuta/items/2d646396a6117c8e53e5)

## Z 

- ZZ：変更点があれば保存して、終了
- ZQ：保存せず、終了（変更点は破棄）

## ^z

vimを中断（端末上で^z打鍵した状態にする）

[Indexへ](#index)

# 0

行頭へ移動

- ^ は空白を除く行頭に移動

[Indexへ](#index)

# <span id="sfuta-id00"></span>\!

## \!

\![移動系コマンド]で対象範囲のテキストを外部プログラム(bash等)の指定したコマンドで処理する

### 補足

- テキスト範囲は行単位  
※そのため、移動系コマンドがh等の場合は行が変化しないため、対象は現在行のみになる
- \!打鍵後は外部プログラムのコマンドを適当に入力

### 例
現在行から下3行にあるスペース文字を除去
1. `!3j`と入力
2. `tr -d " "`と入力してEnter


## \!\!

現在行のテキストを外部プログラム(bash等)の指定したコマンドで処理する
※`!l`または`!h`と同じ

[Indexへ](#index)

# <span id="sfuta-id01"></span>&#35;

現在位置から最も近い単語の後方検索を実行
※ \*：現在位置から最も近い単語の前方検索を実行

### 補足

最も近いの基準は以下

1. カーソル位置の単語
2. 現在行の、カーソルの後ろの最初の単語       

[Indexへ](#index)

# <span id="sfuta-id02"></span>$

行末に移動
※\<End\>と同じ

[Indexへ](#index)

# <span id="sfuta-id03"></span>?

## ?

?\[検索文字\]の入力後、Enterで入力した検索文字の後方検索を実行

※ /\[検索文字\]：前方検索実行
※ n：次検索(前方再検索)
※ N：前検索(後方再検索)

## ??

最後に検索した文字列で後方検索を実行
※ //：最後に検索した文字列で前方検索実行

## ?\[検索文字\]?\[offset\]と??\[offset\]

?, ??での後方検索実行後、指定したoffset位置に移動

### 補足([/](#sfuta-id22)の補足と同様の内容)

・n：現在の検索文字で次検索実行, N：現在の検索文字で前検索実行
・**offset**

|指定内容   |動作|
|:-- |:-- |
| \[数値\]  |\[数値\]行下、1 桁目に移動|
|+\[数値\]  |\[数値\]行下、1 桁目に移動|
|-\[数値\]  |\[数値\]行上、1 桁目に移動|
|e\[+数値\] |\[数値\]文字右に終わりの場所から移動|
|e\[-数値\] |\[数値\]文字左に終わりの場所から移動|
|s\[+数値\] |\[数値\]文字右に初めの場所から移動|
|s\[-数値\] |\[数値\]文字左に初めの場所から移動|
|b\[+数値\] |s\[+数値\] と同じ|
|b\[-数値\] |s\[-数値\] と同じ|
|;|検索位置から続けて検索<br>**例)** `/aaa/;?bbb?`|


- 検索文字列は正規表現。ただし、デフォルトでは一部のメタ文字はエスケープ「\\」の指定が必要
- メタ文字のエスケープ指定は検索文字の前にオプションを指定することで変更可  

参考：
[Vimでパターン検索するなら知っておいたほうがいいこと](http://deris.hatenablog.jp/entry/2013/05/15/024932)
vim上で`:help magic`

[Indexへ](#index)

# <span id="sfuta-id04"></span>\\

## \\

未定義

## ^\\

未定義

[Indexへ](#index)

# <span id="sfuta-id05"></span>@

## @x

xに記録したキーマクロを実行

### 補足

キーマクロの記録方法は以下(※[q](#sfuta-id-q))

- qx：キーマクロをxに記録開始
- q:キーマクロの記録を終了する

## @@

直前に実行したキーマクロを再度実行する

## @:

直前に実行したコマンド(`:[command]`)を再実行する

[Indexへ](#index)

# <span id="sfuta-id06"></span>_

## _

非空白な行頭位置へ移動
※g_：非空白な行末位置へ移動

### 補足

- `^`と異なり、回数指定が可能
- `[数値]_` で\(\[数値\] - 1\)行下の非空白な行頭位置へ移動


##  ^_

未定義

[Indexへ](#index)

# <span id="sfuta-id07"></span>~

## ~

カーソル下の文字を大文字を小文字、小文字を大文字に切り替えてカーソルを右に移動


[Indexへ](#index)

# </span><span id="sfuta-id08"></span><span id="sfuta-id09">` '

## `\[a-z\], '\[a-z\]

- `xでxにマークしてある位置へジャンプ
- 'xでxにマークしてある行の非空白な行頭位置へジャンプ
- ファイルをまたいでの移動は不可


## `\[A-Z0-9\], '\[A-Z0-9\]

- `xでxにマークしてある位置へジャンプ
- 'xでxにマークしてある行の非空白な行頭位置へジャンプ
- ファイルをまたいで、移動可  
※ファイルをまたぐ場合はオペレータコマンド(y等)との併用不可

### 補足

- \[a-zA-Z\]はmxでマークできる(※[m](#m))
- \[0-9\]はvim終了時の位置が記録してある  
※ 端末にて`vim -c "normal '0"`で最後に終了したファイルを表示

## \`\[ '\[ \`\] '\] \`\< '\< \`\> '\> \`\` '' \`" '" \`^ '^ \`. '.


|文字|移動場所|
|:--------|:--|
|\`\[,'\[  |直前に変更もしくはコピーしたテキストの最初の文字位置(\`),位置行頭(')|
|\`\],'\]  |直前に変更もしくはコピーしたテキストの最後の文字位置(\`),位置行頭(')|
|\`\<,'\<  |visualモードで最後に選択したエリアの最初の文字位置(\`),位置行頭(')|
|\`\>,'\>  |visualモードで最後に選択したエリアの最後の文字位置(\`),位置行頭(')|
|\`\`,''  |前のジャンプ位置(\`),位置行頭(')|
|\`",'"    |バッファを最後に終了した時点の位置(\`),位置行頭(')|
|\`^,'^   |最後に挿入モードを終了した時点の位置(\`),位置行頭(')|
|\`.,'.   |最後に変更した位置付近(\`),位置行頭(')|

### 補足

- "での移動は再度バッファを開くことで利用可（バッファを再表示するわけではない)
-  \],\[ は変更したテキストがなかった場合,  
\[ はファイルトップ、\]はファイルの最後に移動  
また、undoでテキストを戻した場合は行頭へ移動

**注意)**
上記補足はヘルプファイルに記載が見当たらず、私の環境で確認した動作のため、正式に定義してある動作ではありません


## \`\( '\( \`\) '\) \`\{ '\{ \`\} '\}

|文字|移動場所|
|:---------|:--|
|\`\(,'\(  |現在の文の最初に移動。 ( と同じ|
|\`\),'\)  |現在の文の最後に移動。 ) と同じ|
|\`\{,'\{  |現在の段落の最初に移動。 { と同じ|
|\`\},'\}  |現在の段落の最後に移動。 } と同じ|

### 補足

これらはマークではない(`:marks`で表示しない)

[Indexへ](#index)

# <span id="sfuta-id10"></span>"

## "[a-zA-Z0-9.%#:-"*][切り取り/コピー/貼り付けコマンド]

- "x[切り取り/コピーコマンド]でxレジスタに[切り取り/コピー]したテキストを格納
- "x[貼り付けコマンド]でxレジスタに格納してあるテキストを貼り付け

### 補足

- [切り取り/コピー/貼り付けコマンド]はd,y,x,c,s,p等が該当
- レジスタxに関しては以下表を参照

|x|名前|説明|
|:--:|:-- |:--|
|"   |無名レジスタ   |未指定で利用できるレジスタ<br>例えば、`Y`と`""Y`は同じ意味|
|a-z |名前付きレジスタ|格納先を(26個まで)指定可能なレジスタ|
|A-Z |名前付きレジスタ|該当のa~zレジスタに格納したテキストを追加する|
|0   |番号付きレジスタ|直近のコピーテキストを格納|
|1   |番号付きレジスタ|直近の一行超過の切り取りテキストを格納|
|-   |小削除用レジスタ|直近の一行以下の切り取りテキストを格納|
|2-9 |番号付きレジスタ|一行超過の切り取りテキストの履歴を2〜9に順次格納|
|.   |読取専用レジスタ|最後に挿入モードで入力したテキストを格納|
|%   |読取専用レジスタ|カレントファイル名を格納|
|:   |読取専用レジスタ|最後に実行したコマンドライン文字列を格納|
|#   |代替ファイルレジスタ|代替ファイル(大抵は一つ前に開いていたファイル名)|
|=   |Expressionレジスタ|vim scriptを実行し、出力する。※挿入モードで使用|
|*   |選択範囲レジスタ|クリップボードのテキストを格納|
|+   |選択範囲レジスタ|クリップボードのテキストを格納|
|~   |選択範囲レジスタ|ドラッグアンドドロップした際のテキストを格納|
|-   |ブラックホールレジスタ|テキストを削除する<br>※他のレジスタに影響を与えない|
|/   |最終検索パターン用レジスタ|最後に検索したテキスト文字列を格納|

**注意)**
*と+は参照する記憶領域に違いがある。
\*はプライマリバッファ、+はクリップボードバッファ
基本的はプライマリバッファを利用している\*を使用
参考：
　[vim-jp x11-selection](http://vim-jp.org/vimdoc-ja/gui_x11.html#x11-selection)
　[クリップボード-ArchWiki](https://wiki.archlinuxjp.org/index.php/%E3%82%AF%E3%83%AA%E3%83%83%E3%83%97%E3%83%9C%E3%83%BC%E3%83%89)


[Indexへ](#index)

# <span id="sfuta-id11"></span>:

コマンドモードに切り替え

[Indexへ](#index)

# <span id="sfuta-id12"></span>;


直前に実行したfx,tx,Fx,Txを実行する(※xは任意の文字)
※[F](#f), [T](#t)

[Indexへ](#index)

# <span id="sfuta-id13"></span>,


直前に実行したfx,tx,Fx,Txを反対方向へ実行する(※xは任意の文字)
※[F](#f), [T](#t)

[Indexへ](#index)

# <span id="sfuta-id14"></span>.


最後の変更を繰り返す(※コマンドラインコマンドは実行しない)

[Indexへ](#index)

# <span id="sfuta-id15"></span>\^


非空白の行頭文字へ移動

## Ctrl + ^

直前に編集していたバッファファイルに切り替え

## \[数値\]Ctrl + ^

\[数値\]番目のバッファファイルに切り替え

[Indexへ](#index)

# <span id="sfuta-id16"></span>%


現在位置に最も近い対応括弧に移動する
※括弧文字に関しては`set matchpairs`で決定する

[Indexへ](#index)

# <span id="sfuta-id17"></span>&

最後に実行した置換処理を再実行する

[Indexへ](#index)

# <span id="sfuta-id18"></span>|

## \[数値\]|

現在行の\[数値\]桁位置に移動

[Indexへ](#index)

# <span id="sfuta-id19"></span>+

次行の最初の非空白文字へ移動
※1.^mと同じ
※2.-：前行の最初の非空白文字へ移動

[Indexへ](#index)

# <span id="sfuta-id20"></span>*

現在位置から最も近い単語の前方検索を実行
※\#：現在位置から最も近い単語の後方検索を実行

[Indexへ](#index)

# <span id="sfuta-id21"></span>-

前行の最初の非空白文字へ移動
※+：次行の最初の非空白文字へ移動

[Indexへ](#index)

# <span id="sfuta-id22"></span>/

## /

/\[検索文字\]の入力後、Enterで入力した検索文字の前方検索を実行
※ ?\[検索文字\]：後方検索実行
※ n：次検索(後方再検索)
※ N：前検索(前方再検索)

## //

最後に検索した文字列で前方検索を実行
※ ??：最後に検索した文字列で後方検索実行

## /\[検索文字\]/\[offset\]と//\[offset\]

/, //での前方検索実行後、指定したoffset位置に移動

### 補足([?](#sfuta-id03)の補足と同様の内容)

・n：現在の検索文字で次検索実行, N：現在の検索文字で前検索実行
・**offset**

|指定内容   |動作|
|:-- |:-- |
| \[数値\]  |\[数値\]行下、1 桁目に移動|
|+\[数値\]  |\[数値\]行下、1 桁目に移動|
|-\[数値\]  |\[数値\]行上、1 桁目に移動|
|e\[+数値\] |\[数値\]文字右に終わりの場所から移動|
|e\[-数値\] |\[数値\]文字左に終わりの場所から移動|
|s\[+数値\] |\[数値\]文字右に初めの場所から移動|
|s\[-数値\] |\[数値\]文字左に初めの場所から移動|
|b\[+数値\] |s\[+数値\] と同じ|
|b\[-数値\] |s\[-数値\] と同じ|
|;|検索位置から続けて検索<br>**例)** `/aaa/;?bbb?`|


- 検索文字列は正規表現。ただし、デフォルトでは一部のメタ文字はエスケープ「\\」の指定が必要
- メタ文字のエスケープ指定は検索文字の前にオプションをしていすることで変更可  

参考：
[Vimでパターン検索するなら知っておいたほうがいいこと](http://deris.hatenablog.jp/entry/2013/05/15/024932)
vim上で`:help magic`

[Indexへ](#index)

# <span id="sfuta-id23"></span>=

## =\[移動系コマンド\]

\[移動系コマンド\]の範囲を`set equalprg`で設定してある処理を実行

## ==

`set equalprg`で設定してある処理を実行

### 補足

`equalprg`の値が未設定時は組込みの文整形処理を実行

[Indexへ](#index)

# <span id="sfuta-id24"></span>( )

## (

文の前方へ移動

## )

文の後方へ移動


[Indexへ](#index)

# <span id="sfuta-id25"></span>\[ \]

## \[ \]
prefix的なコマンド \[x・\]x (xは任意のキー入力)で主に移動系のコマンドを実行する
※p,Pを除き、全て移動系

### 補足
\[ ・\]打鍵後、入力対象のキーおよび動作は下記リンクを参照
[vimのノーマルモードのコマンドまとめ(その3)](http://qiita.com/sfuta/items/fd78f3ece8861f8142ee)


## ^\[

- 入力中のコマンドをキャンセル  
※キー操作記録等、キャンセルしないコマンドもある
- ノーマルモード切り替え
※\<Esc\>と同じ

## ^\]

カーソル配下のキーワード定義位置にジャンプ
※tagの設定が必要

[Indexへ](#index)

# <span id="sfuta-id26"></span>\<\>

## \>\[移動系コマンド\]

\[移動系コマンド\]の範囲を`set shiftwidth`設定値分、右にインデント

## \<\[移動系コマンド\]

\[移動系コマンド\]の範囲を`set shiftwidth`設定値分、左にインデント

## \>\>

`set shiftwidth`設定値分、右にインデント

## \<\<

`set shiftwidth`設定値分、左にインデント


[Indexへ](#index)

# <span id="sfuta-id27"></span>{}

## {

段落の前方へ移動

## }

段落の後方へ移動

[Indexへ](#index)

# <span id="sfuta-id28"></span>\<Space\>

右に一文字移動
※ lと同じ

[Indexへ](#index)

# <span id="sfuta-id29"></span>\<Enter\>

次行の最初の非空白文字へ移動
※^mと同じ

[Indexへ](#index)

# <span id="sfuta-id30"></span>\<Esc\>

- 入力中のコマンドをキャンセル  
※キー操作記録等、キャンセルしないコマンドもある
- ノーマルモード切り替え

[Indexへ](#index)


# 蛇足

## 動機

　当初はvimでバインドキー設定の際、割当対象のキーに迷わないよう、押しやすくかつ利用の少ないキーの一覧を作ってみようかと考えておりました。
　しかし、結局は全コマンドを確認する必要があると思ったので、折角だから勉強も兼ねてまとめてみることにしました。

## 感想

　作成してみたところ、思ったより疲れました。とはいえ、便利そうなコマンドの再発見もあり、結構勉強になったので、最終的にはやってよかったと思います。
　未記載のprefix的なコマンドである`^w,[,],g,z`の動作をまとめた記事と当初の目的である推奨バインドキー一覧をまとめた記事もその内作成したいと思います。

**2016/08/30 追記)**
`g,z`クリック後の動作まとめ作成しました。
[vimのノーマルモードのコマンドまとめ(その2)](http://qiita.com/sfuta/items/2d646396a6117c8e53e5)

**2016/0９/１８ 追記)**
`^w,[,]`クリック後の動作まとめ作成しました。
[vimのノーマルモードのコマンドまとめ(その3)](http://qiita.com/sfuta/items/fd78f3ece8861f8142ee)