7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Vimの1文字コマンドをまとめてみる (記号・特殊キー・Ctrl編)

Last updated at Posted at 2016-10-22

概要

このページは、Vimの1文字で操作内容が決まるコマンドをフォーカスしてまとめたページです。
アルファベット編の続きとなります(背景・1文字コマンドの定義などは下記ページを参照してください)。

前ページ:アルファベット編
Vimの1文字コマンドをまとめてみる(アルファベット編)

このページでは、ノーマルモードで記号・特殊キー・Ctrl同時押しから始まる1文字コマンドをまとめる。

予備知識

  • {motion}: カーソル移動系のコマンドを表す。具体的には、表内で太字で示されているコマンド (hjkl...) などを表す
  • {char}: 任意の1文字を表す
  • 行頭・行末:ファイル1行の始めと終わり
  • 文頭・文末:vimにおける"sentence"の始めと終わり。sentenceは.!?のいずれかで終わる。詳細は:help sentence 参照
  • 文節:vimにおける"paragraph"。空行の後から始まる文章のまとまり。詳細は:help paragraph参照

ノーマルモード:記号・特殊キー編

太字で示したコマンドは {motion} に対応するコマンドである。

コマンド 説明
<BS> カーソルを左へ移動(コマンドhと同様)
<NumLock> カーソルを下へ移動(コマンドjと同様)
<Space> カーソルを右へ移動(コマンドlと同様)
0 カーソルを行頭へ移動(インデントの影響を受けない)
^ カーソルを行頭へ移動(空白文字を除いた最初の文字)
$ カーソルを行末へ移動
- カーソルを1行上の行頭へ移動
<CR> カーソルを1行下の行頭へ移動
+ カーソルを1行下の行頭へ移動(コマンドと同様)
_ (コマンド前の数字Nを指定したとき)カーソルをN-1行下の行頭へ移動。つまり _ はカレント行の先頭へ移動
% カーソル下、もしくは右方向にある次の括弧に対応する括弧へカーソルを移動
( カーソルをひとつ前の文頭へ移動
) カーソルをひとつ次の文頭へ移動
{ カーソルをひとつ前の文節の頭へ移動
} カーソルをひとつ後ろの文節の頭へ移動
| カーソルをカレント行の1文字目に移動。コマンド前に数字Nを指定した場合はN文字目
'{a-zA-Z0-9} カーソルをマーク{a-zA-Z0-9}の行頭へ移動
`{a-zA-Z0-9} カーソルをマーク{a-zA-Z0-9}へ移動
. 最後の変更を再実行
@{a-z} レジスタ{a-z}に記録されたコマンドを実行
/{pattern} 文字列{pattern}を下方向に検索し、カーソルを次へ移動
?{pattern} 文字列{pattern}で上方向に検索し、カーソルを前へ移動
* カーソル下の単語で検索し、ひとつ次の同一単語にカーソルをに移動
# カーソル下の単語で検索し、ひとつ前の同一単語にカーソルをに移動
; 最後に行ったf, t, F, Tコマンドでの検索を再実行
, 最後に行ったf, t, F, Tコマンドでの検索を、前回と反対方向に再実行
<{motion} {motion}で指定した行全体を左へ移動(移動量はshiftwidth
={motion} {motion}で指定した行のインデントを整える(移動量はshiftwidth
>{motion} {motion}で指定した行全体を右へ移動(移動量はshiftwidth
~ tildeopがオフのとき、カーソル下の文字の小文字/大文字を切り替える
~{motion} tildeopがオンのとき、{motion}で指定したテキストの小文字/大文字を切り替える
<Tab> カーソルをジャンプリストに記録されたひとつ次の位置へ移動
<F1> helpを開く
: Ex commandモード

ノーマルモード:Ctrl編

太字で示したコマンドは {motion} に対応するコマンドである。

コマンド 説明
Ctrl-a カーソル下の数字を+1。もしカーソル下が数字ではない場合は、カーソルを右方向にある次の数字へ移動した後で+1
Ctrl-b 画面とカーソルを画面1枚上へ移動。カーソルは移動先の行頭へ移動
Ctrl-c 現在の(検索)コマンドを中止
Ctrl-d 画面とカーソルをscroll(デフォルト:画面半分の行数)だけ下へ移動 。カーソルは移動先の行頭へ移動
Ctrl-e 画面のみを1行下にスクロール。カーソルは移動しない
Ctrl-f 画面とカーソルを画面1枚下へ移動。カーソルは移動先の行頭へ移動
Ctrl-g ファイル名・行数・カーソル位置を表示
Ctrl-h カーソルを左へ移動(コマンドhと同様)
Ctrl-i カーソルをジャンプリストに記録されたひとつ次の位置へ移動(コマンド<Tab>と同様)
Ctrl-j カーソルを下へ移動(コマンドjと同様)
Ctrl-l 画面を再描画
Ctrl-m カーソルを1行下の文頭へ移動(コマンド<CR>と同様)
Ctrl-n カーソルを下へ移動(コマンドjと同様)
Ctrl-o カーソルをジャンプリストに記録されたひとつ前の位置へ移動
Ctrl-p カーソルを上へ移動(コマンドkと同様)
Ctrl-r リドゥ
Ctrl-t カーソルをタグスタック内のひとつ前の位置へ移動
Ctrl-u 画面とカーソルをscroll(デフォルト:画面半分の行数)だけ上へ移動 。カーソルは移動先の行頭へ移動
Ctrl-v blockwise Visualモード
Ctrl-x カーソル下の数字を-1。もしカーソル下が数字ではない場合は、カーソルを右方向にある次の数字へ移動した後で-1
Ctrl-y 画面のみを1行上にスクロール。カーソルは移動しない
Ctrl-z Vimをサスペンド
Ctrl-] カーソル下のキーワードでカーソルをタグジャンプさせる
Ctrl-^ 代替ファイル(ひとつ前に編集したファイル)に移動

※ 1文字コマンドが存在しないCtrl-アルファベット

Ctrl-w {char} : Window commandに続く
Ctrl-k, Ctrl-q, Ctrl-s : 単体ではなし

動作がわかりにくい 数字+1文字コマンド

コマンドの前に数字を加えることで、繰り返し回数や行数の指定できる。
しかし、その結果がわかりにくいコマンドがいくつかあるため、ここではそのコマンドをまとめる。
なおここでは、コマンド前に付与した数字を N とする。

数字をつけて実行できないコマンド

  • 0 : カーソルを行頭へ移動(インデントの影響を受けない)

数字をつけても操作内容が変化しないコマンド

  • <F1> : helpを開く
  • : (colon) : Ex commandモード
  • Ctrl-v : blockwise Visualモード
  • Ctrl-z : Vimをサスペンド

$: カーソルを文末へ移動

N-1行下の行末へ移動

カーソル下の文字:

fox jumps
over the lazy dog```の```T```
コマンド:```3$```
↓
移動先の文字: ```g```

### %: カーソル下、もしくは右方向にある次の括弧に対応する括弧へカーソルを移動
別コマンドに変化するので注意

コマンド:```80%``` → ページ全体の行数の80パーセント目にあたる行へカーソルを移動

### <{motion}, >{motion}:	{motion}で指定した行全体を移動(移動量はshiftwidth)
「{motion}で指定→移動」をN回連続で行う(誤:移動量がN倍になる)

カーソル下の文字:
```The quick brown
 
fox jumps
 
over the lazy dog```の```T```
コマンド:```2>}``` ※ 文節2つ分の範囲を右に移動
↓
```  The quick brown
 
  fox jumps
 
over the lazy dog

Ctrl-d, Ctrl-u: 画面とカーソルをscroll(デフォルト:画面半分の行数)だけ移動 。カーソルは移動先の行頭へ移動

scroll=Nに設定した後、画面をスクロール。
次の呼び出し時にも、最後に設定したscroll値が使用されるため、スクロール量が変化

コマンド:5 Ctrl-u Ctrl-u → 画面とカーソルが計10行上(5行 x 2回)へ移動

最後に

より正確な情報は :help コマンド or :h コマンド で確認してください。
間違い・誤解しやすい表現がある場合は、ご指摘 or 編集リクエスト していただけると幸いです。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?