Vimコマンド 覚書

広告

広告

カーソル操作

最終更新
2005-03-10T00:00:00+09:00
この記事のURI参照
https://www.7key.jp/software/vi.html#r01
h左へカーソルを移動(5hで5文字左に移動)。BSも同様。
j下へカーソルを移動(5jで5行下に移動)。C-nも同様。
k上へカーソルを移動(5kで5行上に移動)。C-pも同様。
l右へカーソルを移動(5lで5文字右に移動)。Spaceも同様。
0カーソル行の行頭に飛ぶ。
^カーソル行の行頭に飛ぶ。ただし、行頭が空白であれば空白部分の右へ。
|(パイプ)現在行の指定する文字数目へ移動(5|で先頭から数えて5文字目へ移動)。
$カーソル行の行末に飛ぶ。
-(ハイフン)カーソル行より1行上の行頭に飛ぶ。
returnカーソル行より1行下の行頭に飛ぶ。
b左隣の単語の先頭へ飛ぶ(back-word)。
Bスペースで区切られた左隣の単語の先頭へ飛ぶ。
w右隣の単語の先頭へ飛ぶ(word)。
Wスペースで区切られた右隣の単語の先頭へ飛ぶ。
e単語の末尾へ飛ぶ。
H画面最上行の左端へ飛ぶ。
M画面中央行の左端へ飛ぶ。
L画面最下行の左端へ飛ぶ。
n%ファイル全体の上からn%の位置に飛ぶ。
nH表示中画面の上からn行目の先頭に飛ぶ。
nL表示中画面の下からn行目の先頭に飛ぶ。
G最後の行に飛ぶ。
1G1行目に飛ぶ。
nGファイルの先頭からn行目に飛ぶ。
C-oジャンプしてきた一つ前の位置に戻る。
C-i前の位置から次に指定した位置に飛ぶ(C-oの逆)。
t[string]カーソル位置から行末へ向かって[string](1文字指定)を検索し、あればその文字の直前(左)に移動する。
T[string]カーソル位置から行頭へ向かって[string](1文字指定)を検索し、あればその文字の直後(右)に移動する。
f[string]カーソル位置から行末へ向かって[string](1文字指定)を検索し、あればその文字の上に移動する。
F[string]カーソル位置から行頭へ向かって[string](1文字指定)を検索し、あればその文字の上に移動する。
;(セミコロン)最後に使ったfFtTコマンドを繰り返す(繰返し/カウント機能可能)。
,(カンマ)最後に使ったfFtTコマンドを向きを変えて(fならFとして)繰り返す(繰返し/カウント機能可能)。
%カーソルのある括弧の対括弧に移動する。
(現在の文の先頭に飛ぶ。
)現在の文の文末に飛ぶ。
{現在の段落の先頭に飛ぶ。
}次の段落の先頭に飛ぶ。
[[前の段落に移動。
]]次の段落に移動。
m[string][string](a-zA-Z、1文字指定)という名前のマークをカーソル位置に付ける(小文字の場合はファイル固有設定。大文字でグローバル)。
`[string][string]というマークの位置にカーソルを飛ばす。
'[string][string]というマークがある行の先頭にカーソルを飛ばす。
:marks有効なマークの一覧を表示する。
`"前のファイルから動いたときのカーソル位置。
`.最後に変更を加えた場所。

文字の操作

最終更新
2007-09-05T00:00:00+09:00
この記事のURI参照
https://www.7key.jp/software/vi.html#r05
iカーソルの直前でインサートモードに移る(insert)。
Iカーソル行の先頭でインサートモードに移る(^iと同じ)。
aカーソルの直後でインサートモードに移る(append)。
Aカーソル行の末尾でインサートモードに移る($aと同じ)。
oカーソル行の下に1行開けてインサートモードに移る。
Oカーソル行の上に1行開けてインサートモードに移る。
xカーソルのある文字を消してレジスタに格納。
dwカーソル位置から現単語末尾までを消してレジスタに格納。
cwカーソル位置の単語を消してインサートモードに移る。
ywカーソルのある単語をレジスタに格納。
pレジスタに格納されている内容をカーソルの直後に挿入(put)。
Pレジスタに格納されている内容をカーソルの直前に挿入。
Dカーソルのある文字から行末までを消してレジスタに格納。
X直前の1文字を消してレジスタに格納。
rカーソルのある文字を、次にタイプする文字で置き換える。
Rカーソル位置から複数の文字を置き換え。
sカーソルのある1文字を消してインサートモードに移る。
Sカーソルのある行全体を消してインサートモードに移る。ccも同様。
cf[string]カーソル位置から[string](1文字指定)の位置までを消してインサートモードに移る(Ftなども同様)。
Cカーソル位置から行末までを消してインサートモードに移る。
:&前回のsコマンドを繰り返す。
~(チルダ)カーソルのある文字の大文字と小文字を入れ替える。
C-aカーソル位置の数字を1増やす。
C-xカーソル位置の数字を1減らす。
"[string]y選択範囲をレジスタ[string](a-z、1文字指定)に記録。
"[string]Pレジスタ[string](a-z)の中身をカーソル位置に書込む(pも可)。
:regレジスタに格納されている情報を一覧表示。

行の操作

最終更新
2007-09-05T00:00:00+09:00
この記事のURI参照
https://www.7key.jp/software/vi.html#r04
ddカーソルのある行を消してレジスタに格納(切り取り)。n行分消す場合にはndd
:n,mdn行目からm行目までを消してレジスタに格納。
yyカーソルのある行をレジスタに格納(ヤンク)。Yも同様。n行ヤンクはnyy
d^カーソル位置から行頭までを消してレジスタに格納。
d$カーソル位置から行末までを消してレジスタに格納。
c^カーソル位置の左から行頭までを消してインサートモードに移る(レジスタにも格納)。
c$カーソル位置から行末までを消してインサートモードに移る(レジスタにも格納)。
y^カーソル位置の左から行頭までをレジスタに格納。
y$カーソル位置から行末までをレジスタに格納。
>>カーソル位置の行をインデントする。
<<カーソル位置の行を逆インデントする。
=(行範囲選択後)選択された行を自動でインデント。
df[string]カーソル位置から[string](1文字指定)の位置までを消してレジスタに格納(Ftなども同様)。
J現在カーソルのある行と次の行とを結合する。
nJカーソル行を含めたn行を結合する。

画面の操作

最終更新
2005-03-10T00:00:00+09:00
この記事のURI参照
https://www.7key.jp/software/vi.html#r02
C-f1ページ分下に画面を移動。
C-b1ページ分上に画面を移動。
C-d半ページ分下に画面を移動。
C-u半ページ分上に画面を移動。
C-e画面を1行下にスクロール。カーソルの位置は元の位置のまま。
C-y画面を1行上にスクロール。カーソルの位置は元の位置のまま。
C-l画面を再描画。カーソルの位置や画面は移動しない。
C-g現在の行番号を表示
zreturn現在行が画面の上端になるようスクロール。5zreturnで5行目が画面の上端になるようにスクロール。カーソルは現在行の行頭へ移動。
z.現在行が画面の中央になるようスクロール。カーソルは現在行の行頭へ移動。
z-現在行が画面の下端になるようスクロール。カーソルは現在行の行頭へ移動。
:split画面を上下(水平)に分割する。
:vsplit画面を左右(垂直)に分割する。
:close現在カーソルのあるウィンドウを閉じる。
:only現在カーソルのあるウィンドウ以外を全て閉じる。
:new画面を上下に分割し、新しいバッファを開く。
:vnew画面を左右に分割し、新しいバッファを開く。
{height}C-w+現在カーソルのあるウィンドウを{height}分上下に広くする。
{height}C-w-現在カーソルのあるウィンドウを{height}分上下に狭くする。
{height}C-w<現在カーソルのあるウィンドウを{height}分左右に広くする。
{height}C-w>現在カーソルのあるウィンドウを{height}分左右に狭くする。
C-wkカーソルを上のウィンドウに移動させる(h,j,lも向きは違うがそれぞれ同様)。
C-wK現在のウィンドウ位置を一番上に移動させる(H,I,Jも向きは違うがそれぞれ同様)。
C-wC-w分割したウィンドウ間を順番に移動する。

システム関連

最終更新
2005-03-10T00:00:00+09:00
この記事のURI参照
https://www.7key.jp/software/vi.html#r03
:q終了(quit)。編集されている場合は警告を出す。
:q!ファイルに変更があっても保存せず、強制的に終了。
:wq保存して終了。
ZZ内容が変更されていた場合のみ保存して終了。
escコマンドモードに戻る。
u直前の動作を取り消し(undo)。
C-rやり直し(redo)(undoの逆操作)。
Uカーソル行に対して行った変更を全部取り消し。
:w上書き保存(write)。
:w!無理やり上書き保存。
:w [filename][filename]で保存をする(viは元のファイル上)。
:n,m [filename]n行目からm行目までを[filename]で保存。
:w >> [filename][filename]の末尾に追加保存する。
:e [filename][filename]を読み込む(edit)。現在の編集バッファは破棄される。
:r [filename]カーソルの下行に[filename]の内容を挿入(read)。
.(ドット)直前の動作を繰り返す。
:!cmdシェルコマンドからcmdを実行。
!!cmdシェルコマンドからcmdを実行し、結果をカーソル位置に挿入。
:範囲指定!cmd選択範囲のバッファをcmdの標準入力に流し込み、代わりにcmdの出力で置換する。例えば:%!sortを実行すれば、バッファ全行がsortされる。
:args編集中ファイル一覧を表示する。
:pwdカレントディレクトリを表示する。
:n複数のファイルを編集時、次のファイルを編集対象とする。
:e#一つ前の編集ファイルに戻る。
:ab [string] [replace][string]と入力すると[replace]と置き換えるよう設定する。
:unab [string]置き換えの設定を解除する。
:ab置き換えの設定一覧を表示する。
:edit.ファイルエディタの表示(c:表示中のディレクトリをカレントディレクトリに設定/R:選択中のファイル名を変更する/D:選択中のファイルを削除する/o:選択中のファイルを新ウィンドウで開く)。
q[string]レジスタ[string](a-z、一文字指定)へコマンドの記録を開始する。
q[string]レジスタ[string](A-Z、一文字指定)へコマンドの記録を追記する(大文字にすることでその小文字のレジスタへの追記となる)。
q(レジスタ記録中)記録を終了する。
@[string][string]に記録されたコマンドを再生する。
@@最後に実行したレジスタを再生する。
v範囲選択を行う。選択された範囲は、yxなどで操作可能。
V行を範囲選択する。
C-vブロック単位での範囲選択を行う。
gv前回選択していた範囲を再選択する。
:lsバッファの一覧を表示する。
:bdelete現在表示中のバッファを消す。
:b[number][number]番バッファを表示する。
:bn次のバッファを表示する。
:bp前のバッファを表示する。
:bw現在表示中のバッファを完全に消す。
ga現在カーソルのある文字列の文字コードの値を表示する。
:hヘルプの表示。
:cd pathカレントディレクトリをpathに移動する。
:cd %:hカレントディレクトリを現在編集中のファイルがあるディレクトリとする。

検索、置換

最終更新
2005-03-10T00:00:00+09:00
この記事のURI参照
https://www.7key.jp/software/vi.html#r06
/[string][string]を下方向で探す。
/return(n)前回と同じ文字列を再度下方向で探す。
?[string][string]を上方向で探す。
?return(N)前回と同じ文字列を再度上方向で探す。
*現在のカーソル位置にある単語を下方向に検索する。
#現在のカーソル位置にある単語を上方向に検索する(*の逆)。
/C-r*ヤンクされている文字列を検索。
:s/[string]/[replace]/gcカーソルがある行の[string][replace]で置換する。gを付けなければ最初の[string]のみ置換、cを付けると置き換えて良いか許可を求められる。
:%s/[string]/[replace]/gc文全体の[string][replace]で置換する。gを付けなければ最初の[string]のみ置換、cを付けると置き換えて良いか許可を求められる。
:m,ns/[string]/[replace]/gc[m]行目から[n]行目の[string][replace]で置換する。gを付けなければ最初の[string]のみ置換、cを付けると置き換えて良いか許可を求められる。
:.,+ns/[string]/[replace]/gc現在カーソルがある行から[n]行目までの[string][replace]で置換する。gを付けなければ最初の[string]のみ置換、cを付けると置き換えて良いか許可を求められる。

広告

Copyright (C) 2005-2006 七鍵 key@do.ai 初版:2005年03月10日 最終更新:2007年09月05日