Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

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

$
0
0

概要

このページは、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-vblockwise Visualモード
Ctrl-xカーソル下の数字を-1。もしカーソル下が数字ではない場合は、カーソルを右方向にある次の数字へ移動した後で-1
Ctrl-y画面のみを1行上にスクロール。カーソルは移動しない
Ctrl-zVimをサスペンド
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行下の行末へ移動

カーソル下の文字:
The quick brown
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 編集リクエスト していただけると幸いです。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>