編集の要約なし
4行目: 4行目:


==環境とシェル==
==環境とシェル==
{| class="wikitable" style="vertical-align: top; width: 100%" summary="環境とシェル"
{| class="wikitable" summary="環境とシェル"
|-
|-
!コマンド
!コマンド
31行目: 31行目:
==画面分割==
==画面分割==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="画面分割"
{| class="wikitable" summary="画面分割"
|-
|-
!コマンド
!コマンド
55行目: 55行目:
==テキスト移動==
==テキスト移動==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="テキスト移動"
{| class="wikitable" summary="テキスト移動"
|-
|-
!コマンド
!コマンド
82行目: 82行目:
==行移動==
==行移動==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="行移動"
{| class="wikitable" summary="行移動"
|-
|-
!コマンド
!コマンド
121行目: 121行目:
==スクロール==
==スクロール==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="スクロール"
{| class="wikitable" summary="スクロール"
|-
|-
!コマンド
!コマンド
139行目: 139行目:
==検索==
==検索==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="検索"
{| class="wikitable" summary="検索"
|-
|-
!コマンド
!コマンド
175行目: 175行目:
==置換==
==置換==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="置換"
{| class="wikitable" summary="置換"
|-
|-
!コマンド
!コマンド
199行目: 199行目:
==行番号とマークによるジャンプ==
==行番号とマークによるジャンプ==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="行番号とマークによるジャンプ"
{| class="wikitable" summary="行番号とマークによるジャンプ"
|-
|-
!コマンド
!コマンド
226行目: 226行目:
==挿入と変更==
==挿入と変更==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="挿入と変更"
{| class="wikitable" summary="挿入と変更"
|-
|-
!コマンド
!コマンド
268行目: 268行目:
==削除とヤンク==
==削除とヤンク==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="削除とヤンク"
{| class="wikitable" summary="削除とヤンク"
|-
|-
!コマンド
!コマンド
319行目: 319行目:
==その他==
==その他==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="その他"
{| class="wikitable" summary="その他"
|-
|-
!コマンド
!コマンド
346行目: 346行目:
==exアドレスと活用==
==exアドレスと活用==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="exアドレスと活用"
{| class="wikitable" summary="exアドレスと活用"
|-
|-
!コマンド
!コマンド
379行目: 379行目:
==保存と終了==
==保存と終了==


{| class="wikitable" style="vertical-align: top; width: 100%" summary="保存と終了"
{| class="wikitable" summary="保存と終了"
|-
|-
!コマンド
!コマンド

2019年1月30日 (水) 22:35時点における版

天才ビル・ジョイが作ったエディタ。

環境とシェル

コマンド 説明
:set nu 行番号表示をオン
:set hlsearch 検索時のハイライト表示をオン
:sh, ^D シェルを起動、終了
:!command コマンドを実行
:n,m! command n行目から m行目まで command でフィルタ処理
:r !command コマンドを現在のファイルに読み込む

画面分割

コマンド 説明
:sp filename filename を横分割で開く
:vsp filename filename を縦分割で開く
[Ctrl] + [W] + j/k/l/h 下/上/右/左のウィンドウに移動
[Ctrl] + [W] + [3+/3-] ウィンドウの横軸を3つ広げる/縮める
[Ctrl] + [W] + [3>/3<] ウィンドウの縦軸を3つ広げる/縮める

テキスト移動

コマンド 説明
h, j, k, l 左、下、上、右
w, W, b, B 前、後の単語(大文字は大きいジャンプ)
e, E 単語の末尾(大文字は大きいジャンプ)
), ( 次、前の文章へ
}, { 次、前の空行で区切られたブロックへ
% 括弧の終端へ

行移動

コマンド 説明
[Enter] 次の行
0, ^, $ カレント行の先頭、文字先頭、末尾
- 上の行の文字先頭
H Head。画面の最上行
M Middle。画面の中央行
L Last。画面の最下行
nH, nL 上、下から n行目
z[Enter] カーソル位置を画面の一番上に
z. カーソル位置を画面中央に
z- カーソル位置を画面の一番下に

スクロール

コマンド 説明
[Ctrl] + [Y], [Ctrl] + [E] 1行ずつ上、下にスクロール
[Ctrl] + [U], [Ctrl] + [D] 半画面ずつ上、下にスクロール
[Ctrl] + [B], [Ctrl] + [F] 1画面ずつ上、下にスクロール

検索

コマンド 説明
tx カレント行内でカーソルより後方にある x の直前にジャンプ
Tx カレント行内でカーソルより前方にある x の直前にジャンプ
fx カレント行内でカーソルより後方にある x にジャンプ
Fx カレント行内でカーソルより前方にある x にジャンプ
[;], [,] カレント行の文字検索を前方、後方に繰り返す
/pattern 前方にパターンを検索
?pattern 後方にパターンを検索
* カーソル上のテキストを検索
n, N 直近の検索を前方、後方に繰り返す

置換

コマンド 説明
:s/old/new/ カレント行の最初の old を new に置換
:s/old/new/g カレント行の全ての old を new に置換
:1,$s/old/new/g, :%s/old/new/g ファイル全ての old を new に置換
:%s/old/new/gc ファイル全ての old を逐一確認しながら new に変換
~ 大文字/小文字に変換

行番号とマークによるジャンプ

コマンド 説明
[Ctrl] + [G] ファイル名、状態、カレント行番号の表示
gg ファイル先頭にジャンプ
G ファイル末尾にジャンプ
:n n行目にジャンプ
mx 現在位置を x としてマーク
`x x にジャンプ

挿入と変更

コマンド 説明
i, a カーソルの前、後にテキストを挿入
I, A 行の先頭、末尾にテキストを挿入
O, o カーソルの上、下にテキストを挿入
r 一文字変更
cw 単語変更
cc カレント行を変更
c + [motion] モーションで指定した場所までを変更
C 行末まで変更
R 重ね書き
s, S 1文字、カレント行をテキストに変更
3iFOO FOO が3回入力。Vim によるテキスト編集はプログラミング

削除とヤンク

コマンド 説明
x, X 文字を前方、後方に削除
dw 単語を削除
dd カレント行を削除
D 行末までを削除
d + [motion] モーションで指定した場所までを削除
yw 単語のヤンク
yy, Y カレント行のヤンク
y + [motion] モーションで指定した場所までをヤンク
P, p 削除、ヤンクしたテキストをカーソルの前、後にペースト
"aY レジスタa にカレント行を登録
"aP カーソルの前に、レジスタa のテキストをペースト
:reg レジスタ一覧
[Ctrl] + [R] a (挿入モードで)レジスタa をペースト
[Ctrl] + [R] + (挿入モードで)クリップボードをペースト

その他

コマンド 説明
. 直近の編集コマンドの繰り返し
v, V 文字、行の選択
ggVG ファイル内全てを選択
u, U アンドゥ、カレント行の復元
[Ctrl] + [R] リドゥ
J 2行の連結

exアドレスと活用

コマンド 説明
1,$, % ファイル内全ての行
x,y x行目から y行目まで
[0], [.], [$] ファイルの先頭、カレント行、最終行
:3,5d 3行目〜5行目を削除
:.,$d カレント行からファイル最終行までを削除
:3,5m0 3行目〜5行目をファイル先頭に移動
:3,5m10 3行目〜5行目を10行目に移動
:3,5co$ 3行目〜5行目をファイル最終行にコピー

保存と終了

コマンド 説明
[ESC], [Ctrl] + [ 挿入モードへ
:e! 一番最初の状態へ戻す
:w, :w! 保存、強制的に保存
:3,5w newfile 3〜5行目を newfile として保存
:3,5w>>file 3〜5行目を file に追記
ZZ 保存して終了
:q, :q! 終了、変更を破棄して終了
Q viモードを終了して exモードに切り替える
:vi viモードに戻る