Last update: 2016/12/22
Sincce before: 1996/4/22

続VIの使い方  (上級)

info -- Quick Ref. -- My Job -- Yashiro's home


Jump to part-1

  1. 編集の開始
  2.      % vi + filename  最終行から開始
         % vi +/string filename
    
         % vi file1 file2 file3
    	   :w ==> :n  (save & next)
    	   :n!        (abandon & next)
         % vi f1
    	   :w ==> :e f2 (save & next)
    	   :e! f2       (abandon & next)
    	   :w ==> :e #  (again previous file)
    	          :e + filename
    

  3. 編集
  4.   

    カーソルの移動

    $ 行末 0 行頭 ^, _ 行の最初の文字 fc 行末に向かって検索 Fc 行頭に向かって検索 ; 同一方向への検索繰り返し , 反対方向 2H 画面上端から2行目 2L   下端2行目

    挿入例

    10a*ESC 10個の * の追加 1行置きの空行の挿入(ex を使う) Q --> :1,$s/$/\RET /RET -->:vi

    削除

    dw 次の単語の先頭の直前まで d$, D  行末まで d0 行頭まで d/pattern pattern の直前まで dH 画面の最初の行まで dL 画面の最後の行まで d1G 先頭行まで dG 最終行まで ☆ c, y も同様の操作ができる g/^$/d 空行の削除

    変更

    3s 3文字削除==>文字列入力 ~. 大文字/小文字変換の繰り返し

    検索

    (変更コマンド) ==> n. 検索+変更の繰り返し /\string\/ 単語の検索

    単語単位の処理

    w, W 次の単語にカーソルを移動 e, E 次の単語の最後にカーソル b, B 前の単語にカーソルを移動 dw, dW 単語の削除 cw, cW 単語の置換 ☆ 小文字のコマンドは ' などを区切り文字とする(単語)処理である. 大文字のコマンドは, 単なる文字列とする処理である.

    行のシフト

    :set shiftwidth(sw)=8 シフト幅の変更 >> 現在行を左にシフト << 右に >G 現在行から文末まで >H 現在行から画面の最初の行まで >/pattern 現在行から pattern の直前まで

    マーク

    ma, mb, .. 設定 'a, 'b, .. マーク行への戻り :'a,.d 使用例: 削除

    保存と終了

    :w :.,$w file カーソル行から最後までを保存 :.,$w >> file 追加書き

  5. 行コマンドによる編集
  6. 置換

    :&, & 直前の s コマンドの繰り返し

    置換文字の例

    [abc] いづれか a[a-z]b    a-z のいづれか a.b      . は任意の1文字 [a-z 0-9 _]  英字, 数字, _ のいづれか [\.*$]     文字 . [^0-9] 数字以外 []^-] ], ^, - (並びに注意) a*b      a を 0回以上繰り返す r.*d      .* は任意 :s/[1-9][1-9]*/(&) 数字列 :s/\(.* \)\(.*\)/\2, \1 参照 first last ==> last, first VI ガイド, p124, 啓学出版(1988)

    UNIX コマンドの実行 (Bshell で実行される)

    :!command_name :!! (repeat)

    コマンドのフィルタリング

    !!date date の結果の挿入 !Gsort カーソル行から最後までの sort !Gsort +1 !!tr A-Z a-z カーソル行の大文字==>小文字

    テキスト入力の略記

    :ab string longstring :ab uos UNIX Operating System (.exrc に記述可) :unab string :ab 一覧表示

    タグ機能

    VI ガイド, pp71-72, 啓学出版(1988)

    vi コマンドの再マップ

    VI ガイド, pp142-150, 啓学出版(1988)

    オプション

    :set autoindent 自動 indention :set ignorecase 検索で大文字/小文字の区別なし :set showmatch () や {} の対応の報告 :set showmode 入力モードの表示

  7. 参考資料

  8. Jump to part-1