viコマンド表

2023.1.16 Taka Kondo's personal command memos:   Linux   ROOT   C++   html   Perl   Python   TeX   TWiki   SVN   shell   vi   emacs | link to : UNIXコマンド表 | pawコマンド表 | html入門 | shell入門
  • viはどの計算機にも必ず入っているのでviさえ覚えればよい。 vi file.nameで起動できる。
  • viにはコマンドモードインサートモードの2つの状態がある。開くとコマンドモードに入る。
    その他 改行コード ^MCtrl+Vを押してからCtrl+Mを押すと改行コードの^Mが入力できる。:%s/^M//gで一括除去する。Windows上でtxtを作ると改行コード ^Mが追加されるのでshellコマンドが効かなくなる(2016.5.18)。
    起動と終了 vi +N file.nameN行目にカーソルを移動して起動する。
    vi +/XXX file.namefile中の検索文字列XXXを含む行にカーソルを移動して起動する。
    :q!quit(saveなし)。
    ZZsaveして終わる。
    :wsaveする。:wq(save and quit) :w file(fileでsave。:wq file):wq! file(overwriteのとき)
    vi -rネットワークが切れたときの復活(viがmail 出してくれる)
    日本語表示文字化け:set encoding=japanとすればいい。ホームディレクトリに.vimrcというファイルを作成して、set encording=japan(コロンなし)と書いておけば自動的になる。.vimrcに(set encoding=utf-8とset fileencodings=utf-8,euc-jp,sjis,iso-2022-jpとset fileformats=unix,dos,macを追加する)。
    2つのモード i直前でインサートモードに移る。自由に書き込みする。
    a直後でインサートモードに移る。自由に書き込みする。
    [esc] コマンドモードに戻る。
    I, AI(行の最初に挿入)、A(行の最後に挿入)
    行の操作 G最後のラインに飛ぶ。
    1Gトップラインに戻る。
    nGn行目のラインに飛ぶ。
    dd1行を消してbufferに入れる。n行分消す時はndd。
    Pbufferに入ってる行を直前の行に挿入する。
    J次の行と結合する。
    u直前のコマンド操作を取り消して元に戻る。
    文字操作 x今の文字を消す。
    r今の文字を次にタイプする文字で置き換える。
    D今の文字を含んで行末まで消してbufferに入れる。
    X直前の1文字を消す。
    行内操作 $行の最後の文字に飛ぶ。
    0行の最初の文字に飛ぶ。
    検索・置換・削除 /XXXXX文字列XXXXX(returnまで)を下向方向で探す。
    /[returmn]前回と同じ文字列を再度下向方向で探す。
    ?XXXXX文字列XXXXX(returnまで)を上向方向で探す。
    :%s/old/new/gc文字列AAAをBBBに置き換える。%は文全体(1,$)と同じ。(n,m)でもよい。%がなければ1行内のみ。gは行内全てでgなければ最初の項のみ。gcのcは許可願い。例 :.,.+3s/old/new/g :95,120s/old/new/g。[ ]などを1文字とみなして検索や置換するには\]とか\[と\を使う-> :%s/h\[link\]/h00/gcなど。/を含む部分を扱いたいときは:%s%ddd/jj/%kkk%gcとか:%s$ddd/jj/$kkk$gcなどと%や$を代わりに使えばいい。
    ma then :'a,.d最初の行をmaでマークしておき、最後の今の行(.)までを一括消去しbufferに入れる。


    Send your comments of this home page to Taka Kondo