!!!vi *vi tips !!コマンド体系 大きく以下の3つに分けられる !カーソル移動系 ![[テキスト編集|vi テキスト編集コマンド]] !ラインエディタの便利さを提供するexコマンド !テキスト入力系 *http://www.ritsumei.ac.jp/~tomori/vi.html ,コマンド,内容 ,i,カーソルの左に文字を挿入 ,I,カーソル行の行頭に文字を挿入 ,a,カーソルの右に文字を挿入 ,A,カーソル行の行末に文字を挿入 ,o,カーソル行の下の行に空行を作って文字を挿入 ,O,カーソル行の上の行に空行を作って文字を挿入 ,c系,対象文字列を消して文字を挿入(つまり、変更) ,C,カーソル位置から行末までを消して文字を挿入 !!カーソル移動 コマンドモードで、以下のキーを押す {{ref_image vi_key_dirction.JPG}} *最初に数値を入力することにより、(3lなど)移動量を指定できる。 !位置移動 ,Key,内容,補足 ,0,行頭へ, ,$,行末へ, ,[数値]|,指定したカラムへ, !内容を考慮した移動 先頭に数値で、指定数分移動 ,Key,内容,補足 ,w,一単語次へ,特殊記号区切り ,b,一単語前へ,特殊記号区切り ,W,一単語次へ,空白区切り ,B,一単語前へ,空白区切り ,{,一段落次へ,空白区切り ,},一段落前へ,空白区切り ,%,対応した括弧へ, ,`[任意のアルファベット1文字],:m alpha でカーソル位置をマーキング !スクロール 先頭に数値で、指定数分移動 ,Key,内容,補足 ,H,画面上からn行目へ移動,デフォルト 0 ,M,画面中央へ移動, ,L,画面下からn行目へ移動,デフォルト 0 ,G,最終行へ ,Ctrl+b,前ページ, ,Ctrl+f,次ページ, ,Ctrl+u,半ページ上, ,Ctrl+d,半ページ下, !!検索 コマンドモードで、"/" もしくは、"?" 押下。最下段で検索後を入力してエンターキー押下 ,Key,内容 ,/,後方に向かって検索 ,?,前方に向かって検索 *検索後、"n" で同方向に再検索。"N"で逆方向に再検索。 *"*"、"."はメタキャラクタ !viの正規表現 ,文字,内容 ,.,1文字 ,*,前の文字の繰り返し ,^,行頭 ,$,行末 ,<,単語の先頭 ,>,単語の末尾 ,\,メタキャラクタのエスケープ ,[CharSet],CharSetの中の一文字 ,[^CharSet],CharSetに含まれない一文字 !置換 コマンドモードで、 :%s/oldstr/newstr/g とする。文字列に "/"が含まれる場合、 :%s;oldstr;newstr;g のように"/"を別の文字に変更する !!削除、移動、コピー、取り消し コマンドモードで、以下を行う ,Key,内容,補足 ,x,カーソルの1文字を削除,3xとすると、3文字削除される ,dd,1行削除,3ddとすると、3行削除される ,J,次の行と結合, ,v,範囲選択(文字単位),範囲選択しdで、範囲削除 ,V,範囲選択(行単位),範囲選択しdで、範囲削除 ,ctrl+v,範囲選択(矩形),範囲選択しdで、範囲削除 ,p,ペースト,xやddで削除した文字列の貼り付け !カットアンドペーストの方法 ""ctrl+v 〜 d で削除した文字列は、バッファに格納される。削除とペーストを組み合わせることでカットアンドペーストを実現 !ファイル内容の読み込み 読み込みたい場所にカーソルを移動し、以下 :r filename !!保存と終了 ,Key,内容,説明 ,w,保存,ファイル名を指定して保存する場合、:w filename ,w!,ファイル内容を強制保存, ,wq,ファイル内容を保存して終了, ,q!,ファイル内容を保存せず終了, !!文字コード {{category 文字化け}} *http://www.kawaz.jp/pukiwiki/?vim#cb691f26 !文字コードを指定してファイルを開きなおす :e ++enc=euc-jp !文字コードを変更して保存する :set fileencoding=cp932 !改行コードを変更する :set fileformat=改行コードの種類(dos, max, unix) ---- 多くは、以下の書籍からのメモです。 非常に丁寧、網羅的に説明されていて、助かります。 {{amazon 4774116823}}