vi(vim)コマンド集

提供: Wikiducca
2019年1月1日 (火) 13:13時点における開拓者 (ノート | 投稿記録)による版

移動: 案内検索

Wikiduccaは終了しました。今後はゴールドペディアをご利用ください。<nowiki>Wikiduccaは終了しました。今後はゴールドペディアをご利用ください。== 起動・ファイルを開く == 起動時は「コマンドモード」になっています。 <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>vi ファイル名</B></TD> <TD>対象ファイルを開く(複数ファイル可)</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>vi +n ファイル名</B></TD> <TD>n 行目から対象ファイルを開く</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>vi -r ファイル名</B></TD> <TD>壊れたファイルのリカバリ</TD> </TR> </TABLE> == 入力、編集 == 「コマンドモード」でここのコマンドを入力すると「入力(挿入)モード」になります。 <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>i</B></TD> <TD>カーソルの左から入力開始</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>I</B></TD> <TD>行頭から入力開始</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>a</B></TD> <TD>カーソルの右から入力開始</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>A</B></TD> <TD>行末から入力開始</TD> </TR> </TABLE> なお、「入力(挿入)モード」で「ESC キー」を押すことで 「コマンドモード」に切り替わります。 == 保存、終了(コマンドモード)== <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>ZZ</B></TD> <TD>vi を終了(内容が変更されている場合は保存)</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:wq</B></TD> <TD>ファイルに保存、vi を終了</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:#,# w</B></TD> <TD>#行目から#行目までを保存</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:q</B></TD> <TD>vi を終了(内容が変更されいる場合は警告)</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:q!</B></TD> <TD>vi を強制終了(内容が変更されていても保存しない)</TD> </TR> </TABLE> == バッファ(コマンドモード) == 一度開いたファイルはバッファとして管理されます。 <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:ls</B></TD> <TD>バッファリストの表示</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:b バッファ</B></TD> <TD>バッファを表示</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:bn</B></TD> <TD>次のバッファを表示</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:bp</B></TD> <TD>前のバッファを表示</TD> </TR> </TABLE> == カーソル移動<SPAN class=blue>(コマンドモード) == <TABLE border=1 cellPadding=5 NOSAVE class="rl3"> <TR align=middle NOSAVE> <TD></TD> <TD></TD> <TD></TD> <TD BGCOLOR=#FFCCFF><B>1 G (gg) <BR>ファイル先頭</B></TD> <TD></TD> <TD></TD> <TD></TD></TR> <TR align=middle NOSAVE> <TD></TD> <TD></TD> <TD></TD> <TD BGCOLOR=#FFCCFF><B>Ctrl-u <BR>半画面戻る</B></TD> <TD></TD> <TD></TD> <TD></TD></TR> <TR align=middle NOSAVE> <TD></TD> <TD></TD> <TD></TD> <TD BGCOLOR=#FFCCFF><B>H <BR>画面最上に戻る</B></TD> <TD></TD> <TD></TD> <TD></TD></TR> <TR align=middle NOSAVE> <TD></TD> <TD></TD> <TD></TD> <TD BGCOLOR=#FFCCFF><B>[n] k <BR>n 行戻る</B></TD> <TD></TD> <TD></TD> <TD></TD></TR> <TR align=middle NOSAVE> <TD></TD> <TD></TD> <TD></TD> <TD BGCOLOR=#FFCCFF><B>k、Ctrl-P <BR>1行戻る</B></TD> <TD></TD> <TD></TD> <TD></TD></TR> <TR align=middle NOSAVE> <TD BGCOLOR=#FFCCFF><B>0 <BR>行頭</B></TD> <TD BGCOLOR=#FFCCFF><B>[n] h <BR>n 文字戻る</B></TD> <TD BGCOLOR=#FFCCFF><B>h、BS <BR>1文字戻る</B></TD> <TD> カレントカーソル位置 </TD> <TD BGCOLOR=#FFCCFF><B>l、SPACE <BR>1文字進む</B></TD> <TD BGCOLOR=#FFCCFF><B>[n] l <BR>n 文字進む</B></TD> <TD BGCOLOR=#FFCCFF><B>$ <BR>行末</B></TD></TR> <TR align=middle NOSAVE> <TD></TD> <TD></TD> <TD></TD> <TD BGCOLOR=#FFCCFF><B>j、Ctrl-N <BR>1行進む</B></TD> <TD></TD> <TD></TD> <TD></TD></TR> <TR align=middle NOSAVE> <TD></TD> <TD></TD> <TD></TD> <TD BGCOLOR=#FFCCFF><B>[n] j <BR>n 行進む</B></TD> <TD></TD> <TD></TD> <TD></TD></TR> <TR align=middle NOSAVE> <TD></TD> <TD></TD> <TD></TD> <TD BGCOLOR=#FFCCFF><B>L <BR>画面最下に進む</B></TD> <TD></TD> <TD></TD> <TD></TD></TR> <TR align=middle NOSAVE> <TD></TD> <TD></TD> <TD></TD> <TD BGCOLOR=#FFCCFF><B>Ctrl-d <BR>半画面進む</B></TD> <TD></TD> <TD></TD> <TD></TD></TR> <TR align=middle NOSAVE> <TD></TD> <TD></TD> <TD></TD> <TD BGCOLOR=#FFCCFF><B>G <BR>ファイル末尾</B></TD> <TD></TD> <TD></TD> <TD></TD></TR> </TABLE> == 削除、コピー、貼り付け <SPAN class=blue>(コマンドモード) == [n] +キー入力と書いているものは、n 文字(行)分の処理も可能です。 <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B> [n] x</B></TD> <TD>カーソル上の1文字削除</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B> [n] X</B></TD> <TD>カーソルの左の文字を1文字削除</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>[n] d 目的語 <br >d [n] 目的語</B></TD> <TD> 目的語一覧:<br> w - カーソル位置から空白を含む単語の末尾まで削除<br> e - カーソル位置から空白を含まない単語の末尾まで削除<br> $ - カーソル位置から行末まで削除<br> d - 1行削除切り取り(カット) </TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B> [n] yy</B></TD> <TD>1行バッファにコピー </TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B> p</B></TD> <TD>バッファ内のテキストを挿入(文字はカーソルの右、行はカーソルの下に挿入) </TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B> P</B></TD> <TD>バッファ内のテキストを挿入(文字はカーソルの左、行はカーソルの上に挿入) </TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:r [ファイル名]</B></TD> <TD>ファイルの中身を挿入する </TD> </TR> </TABLE> == 検索(コマンドモード) == less や man コマンド内でも利用する標準操作です。 <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>/<文字列></B></TD> <TD>文字列 を検索する(順方向)</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>?<文字列></B></TD> <TD>文字列を検索する(逆方向)</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>n</B></TD> <TD>順方向へ検索する </TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>N</B></TD> <TD>逆方向へ検索する</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>%</B></TD> <TD>(,[に対して対応する ),] や } を検索</TD> </TR> </TABLE> == 置換、変更<SPAN class=blue>(コマンドモード) == <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>r</B></TD> <TD>カーソルの下の文字を置き換える</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>[n] c 目的語 <br >c [n] 目的語</B></TD> <TD> 目的語一覧:<br> w - 単語の一部を変更する<br> $ - 行の一部を変更する<br> </TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:s/[old]/[new]</B></TD> <TD> [old]を[new]に置換する <pre> 現在行の最初の old を new に置換する :s/old/new 現在行の全ての old を new に置換する :s/old/new/g 2つの # 間で語句を置換する :#,#s/old/new/g ファイルの中の全ての検索語句を置換する: :%s/old/new/g 'c' を加えると置換の度に確認を求める :%s/old/new/gc </pre> </TD> </TR> </TABLE> == 位置とファイル情報 <SPAN class=blue>(コマンドモード)== <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>CTRL-g</B></TD> <TD>ファイル内での位置とファイルの状態を表示</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>[n] Shift-g</B></TD> <TD>ファイル内のn行に移動(nが無ければファイル末に移動)</TD> </TR> </TABLE> == ウインドウ操作 <SPAN class=blue>(コマンドモード)== <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:sp [ファイル]</B></TD> <TD>ウインドウを横に分割</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:vs [ファイル]</B></TD> <TD>ウインドウを縦に分割</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>: q , :only</B></TD> <TD>カーソルのあるウィンドウ以外を全部閉じる</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:new</B></TD> <TD>空の横ウインドウを開く</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:vnew</B></TD> <TD>空の縦ウインドウを開く</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>Ctrl-w w</B></TD> <TD>次のウインドウに移動</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>Ctrl-w p</B></TD> <TD>前のウインドウに移動</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>Ctrl-w o</B></TD> <TD>現在のウインドウ以外を閉じる</TD> </TR> </TABLE> == 取り消し、繰り返し、再描画 <SPAN class=blue>(コマンドモード) == <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>u</B></TD> <TD>直前の操作を取りやめる</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>U</B></TD> <TD>行全体の操作を取りやめる</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>Ctrl-R</B></TD> <TD>取り消しの取り消し</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>.</B></TD> <TD>直前の操作の繰り返し</TD> </TR> </TABLE> == 外部コマンドの利用 <SPAN class=blue>(コマンドモード)== <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:! [外部コマンド]</B></TD> <TD>外部シェルコマンドが実行</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>U</B></TD> <TD>行全体の操作を取りやめる</TD> </TR> </TABLE> == その他 (コマンドモード) == <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=5 class="rl3"> <TR BGCOLOR=#333333><TH><FONT COLOR=white>キー入力</FONT></TH> <TH><FONT COLOR=white>動作</FONT></TH></TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:set number、 :set nu</B></TD> <TD>行番号を表示</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:set no number、 :set nonu</B></TD> <TD>行番号の表示をやめる</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:set showmode</B></TD> <TD>現在のモードを表示</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:set showmatch</B></TD> <TD>() や {} の対応を報告</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:set ignorecase</B></TD> <TD>大文字/小文字の区別なく検索</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:set autoindent</B></TD> <TD>自動インデントモード</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:set noautoindent</B></TD> <TD>自動インデントモードをやめる</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:set all</B></TD> <TD>すべてのオプションを表示</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:e [ファイル]</B></TD> <TD>ファイルを開く</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:syntax on</B></TD> <TD>キーワードをハイライト表示する</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:vert diffsplit [ファイル]</B></TD> <TD>今のファイルと、他のファイルとの差分を取るコマンド</TD> </TR> <TR BGCOLOR="#FFFFFF"> <TD BGCOLOR=#FFCCFF><B>:Tutorial</B></TD> <TD>30分程度のVi利用方法のチュートリアル</TD> </TR> </TABLE> == 参考・引用 == http://uguisu.skr.jp/Windows/vi.html [[Category:vim]]