sakawork @ ウィキ

メニュー

▼プログラミング言語関連
▼プロトコル関連
▼Web関連



ページ編集支援





リンク





UNIX > vi


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Top > UNIX > vi


vi/viewコマンド

 vi :エディタ
 view:ビューワ(書き込みが出来ない) 操作方法がviと同じ
    ※ただしviewでも、保存時に ! をつければ保存可能( :w! :wq! など)

実行オプション

オプション 動作
-R 読み取り専用モードで起動(viewと同義)
-r 強制終了させられたりクラッシュしたviを復元
+ 起動時に最終行からファイルオープン
+ n 起動時に n 行目からファイルオープン
+ / xxxx 起動時に xxxxの文字列の最初の行からオープン
+ ? xxxx 起動時に xxxxの文字列の最後の行からオープン

viコマンド

ほとんどのコマンドは、nコマンド (nは数字)として実行すると
n回繰り返されます。

以下のコマンド一覧では、忘れたor使ったことがないコマンドは灰色にしてあります。
編集コマンド
コマンド 動作
挿入
i, a  カーソルの前/後にテキストを挿入
I, A  行の先頭/末尾にテキストを挿入
o, O  カーソルの↓/↑に行を追加しテキストを挿入
変更
r  次にタイプする1文字で置き換える
R  文字列を重ね書きする
\~  大文字小文字の変換
c m  ジャンプコマンド m で指定されるテキストブロックを変更
cc  カレント行を変更
C  カーソル位置から行末まで変更
s  文字をテキストで置き換える
S  カレント行をテキストで置き換える
カット
x  文字の削除
X  カーソルより前の文字を削除
d m  ジャンプコマンド m で指定されるテキストブロックを削除
dd  行を削除
D  カーソル位置から行末まで削除
コピー(ヤンク)
y m  ジャンプコマンド m で指定されるテキストブロックをコピー
yy, Y  カレント行のコピー
" a y m  バッファ a
ジャンプコマンド m で指定されるテキストブロックをコピー
" a yy  バッファ a にカレント行をコピー
ペースト
p, P  (コピーまたはカットした)テキストをカーソルの後/前挿入
" a p  バッファ a の中身をカーソルの後に挿入
" a P  バッファ a の中身をカーソルの前に挿入
その他
.  直前のコマンドを繰り返す
u  最後の操作のアンドゥ
U  カレント行の復元
J  次の行をカレント行の後ろに連結
Ctrl-L, Ctrl-R  画面の書き直し

ジャンプコマンド
コマンド 動作
文字単位ジャンプ
h, j, k, l  左, 上, 下, 右へ一文字移動
←, ↑, ↓, → 
単語単位ジャンプ
w, W, b, B  単語単位でひとつ前/後への移動
(大文字は句読点を無視)
e, E  単語の末尾へ移動
(大文字は句読点を無視)
段落単位ジャンプ
), (  次/前の文の先頭
}, {  次/前の段落の先頭
]], [[  次/前のセクションの先頭
行単位ジャンプ
0(ゼロ), $  行の先頭/末尾へ移動
^ 行の先頭(スペース/タブ以外の文字)へ移動
+, -  次/前の行の先頭の文字へ移動
n |  カレント行の n 文字目に移動
H  画面の最上行
n H  上から n 行目の行
M  画面の中央行
L  画面の最下行
n L  下から n 行目の行
行番号ジャンプ
Ctrl+G  カレント行番号の表示
n G  行番号 n に移動
G  最終行に移動
マークとジャンプ
m x   現在のカーソル位置を x にマーク
` x  マークした x へジャンプ
' x  マークした x のある行の先頭へジャンプ
` `  直前のマークまたは文脈に戻る
' '  直前のマークを含む行の先頭に戻る
スクロール
Ctrl-F, Ctrl-B  次/前の画面へスクロール
Ctrl-D, Ctrl-U  ↑/↓に半画面スクロール
Ctrl-E, Ctrl-Y  カーソルを固定したまま↑/↓へ一行スクロール
z(enter), z . , z -  カレント行を可能な限り
画面の一番上/中央/一番下にスクロール
検索コマンド
/ xxxx, ? xxxx  xxxx を順方向/逆方向に検索
n, N  以前の検索と同じ検索を同方向/逆方向に行う
※前回が順方向(↓)ならnで順方向(↓),Nで逆方向(↑)
以前の検索が逆方向(↑)ならnで逆方向(↑),Nで順方向(↓)
/(enter), ?(enter)  以前の検索と同じ単語で順方向/逆方向に検索
f x  カレント行でカーソル位置より→にある文字 x に移動
F x  カレント行でカーソル位置より←にある文字 x に移動
t x  カレント行でカーソル位置より→にある文字 x の一文字前(←)に移動
T x  カレント行でカーソル位置より←にある文字 x の一文字後(→)に移動
;  直前の t, T, f, Fコマンドを繰り返す
,  直前の t, T, f, Fコマンドを逆方向に繰り返す


exコマンド
コマンド 動作
: exを起動
:sh シェルを起動(Ctrl-Dでviに復帰)
:! command commandを実行
※UNIXコマンドを実行できる
:r file 現在位置にfileの内容を書き込む
:r !command commandの実行結果を現在位置に書き込む
:n  行番号 n に移動
:d 行の削除
:m 行の移動
:co, ;t  行のコピー
:%s/xxx/yyy/g xxxyyyに置換する
:m,nm. カレント行のあとにmn行を移動
エイリアス(マッピング)
:map x コマンド羅列 xキーを押したときの操作が コマンド羅列 になる
:unmap x xキーのエイリアスを解除
:map! x コマンド羅列 (入力モードで)xキーを押したときの操作が コマンド羅列 になる
:unmap! x xキーの(入力モード)エイリアスを解除
:ab xyz xxxxxx 入力モードでxyzをコマンドするとxxxxxxに変換される
exコマンド入力時にも変換される
:unab xyz xyzのエイリアスを無効にする
オプション設定
:set option optionを設定
:set option=value optionvalueを設定
:set nooption optionの無効化
:set 設定したオプションの表示
:set all すべてのオプションを表示
:set option? optionの値を表示

保存/終了コマンド
コマンド 動作
ZZ セーブして終了
: x, : w q セーブして終了
: w セーブ
: w ! 強制セーブ
: m,nw file filemn行をセーブ
: m,nw >> file filemn行を追記
: w %.new 現在のファイルを ファイル名.new としてセーブ
:q セーブせず終了
:q! セーブせず強制終了
Q viを終了してexを起動
:e file viを終了せずそのままfileを開く
:n 複数ファイルをオープンしている場合に、次のファイルを開く
:e! 編集内容を無効にし、最後にセーブした状態に戻す
:e# 複数ファイルをオープンしている場合に、前に開いていたファイルを開く



その他 小技的なもの
操作 動作
入力モードでCtrl-V Ctrl-M 制御文字(^M)=CR(キャリッジリターン)を入力する
その他の制御文字も同様にCtrl-Vの後に続けて入力することが出来る

設定ファイル

エディタ ファイル名
vi .exrc
vim .vimrc (なければ .exrc)
設定できるオプション
設定 内容
set number 行番号の表示 number は nu と省略可能 "set nu"
set nonumber 行番号の非表示 number は nu と省略可能 "set nonu"
set tabstop=n タブ幅の設定をnにする
set autoindent 字下げ
" コメント文
  • .vimrcの例
"vimの設定ファイル( .vimrc )
"行数表示
set nu
"tab設定
set tabstop=4



Top > UNIX > vi

更新履歴

取得中です。


タグクラウド


アクセス

本日のアクセス
-
昨日のアクセス
-