Vi/Vimの一般的なコマンドといくつかのテクニック
1805 ワード
VIM常用コマンド及び応用テクニック
一般的なコマンド:
カーソルコマンド
k,j,h,l−−上下左右カーソル移動コマンドnG−−nは行数であり、このコマンドは直ちにカーソルを指定行にジャンプさせる.Ctrl+G-カーソル位置の行数と列数レポートw,b-カーソルを前または後ろに単語をスキップ
編集コマンド
i,a,r――カーソルの前、後、上に文字コマンド(i=insert,a=append,r=replace)cw,dw――カーソルのある単語を変更(置換)/削除するコマンド(c=change,d=delete)x,d$,dd―――――カーソルのある行末までのすべての文字、行全体のコマンド
検索コマンド
/string, ?string–カーソル位置から対応する文字列を後方/前方に検索するコマンド:nohlハイライト表示を解除する
コピーコピーコマンド
yy,p—–クリップボードに1行コピー/クリップボードの内容を取り出すコマンド
応用テクニック:
新しいファイルでファイルを読み込む
vim newfile :r/tmp/application-config.yml-–開いているファイルfileのカーソル位置に/tmp/アプリケーション-configを読み込む.yml :%s/:.*//g-–ファイルのコロンから行末までのすべての部分を削除します:3 r/tmp/application-config.yml--指定された行番号の後にファイル内容が読み込まれます.ファイル内のすべての空白行と#で始まるコメント行
ファイルへのユーザーの書き込み権限がありません
vi filename:w/tmp/filename—–一時的に/tmp/filename:21,66 w/tmp/filenameに保存/tmp/filename 21~66行目のみを保存/tmp/filename
コンテンツをすばやく削除
vim filename:set nu—–行番号を表示:set nonu—–行番号をキャンセル:dd—–カーソルの行を削除:211024 d 21~1024行の内容をすべて削除
行の先頭または末尾に文字列を追加
vi filename:3,$s/^/some string/–ファイルの最初の行から最後の行までの行の先頭にsome string:%s/$/some string/gを挿入します.ファイルの各行の行末にsome stringを追加します.
:%s/string 1/string 2/g-–string 1をファイル全体でstring 2に置き換えます:3,7 s/string 1/string 2/–ファイルの3~7行目のstring 1のみをstring 2に置き換えます.
note:sはsubstitute、%はすべての行、gはglobal
2つのファイルを同時に編集し、2つのファイルにコピーして貼り付けます.
vi file 1 file 2 yyは同時に2つのファイルを開き、ファイル1のカーソル位置で行をコピーする:nファイル2(n=next)pファイル2のカーソル位置でコピーした行を貼り付ける:Nファイル1に戻る
ファイルのパスを置換
:%s#/usr/bin#/bin#gファイル内のすべてのパス/usr/binを/binに変換するか、:%s//usr/bin//bin/gを'/'の前に記号で'/'が本物の単一文字'/'であることを示す
複数行コメント
複数行のコードに注釈を付けるには、「#」号を挿入し、jで次の行にジャンプして「.」を使うのが愚かです.前のコマンドを繰り返します.数百行コメントする場合は:.,+50 s/^/#/g—–注釈50行以降の行:10200 s/^/#/g—–注釈10~200行
一般的なコマンド:
カーソルコマンド
k,j,h,l−−上下左右カーソル移動コマンドnG−−nは行数であり、このコマンドは直ちにカーソルを指定行にジャンプさせる.Ctrl+G-カーソル位置の行数と列数レポートw,b-カーソルを前または後ろに単語をスキップ
編集コマンド
i,a,r――カーソルの前、後、上に文字コマンド(i=insert,a=append,r=replace)cw,dw――カーソルのある単語を変更(置換)/削除するコマンド(c=change,d=delete)x,d$,dd―――――カーソルのある行末までのすべての文字、行全体のコマンド
検索コマンド
/string, ?string–カーソル位置から対応する文字列を後方/前方に検索するコマンド:nohlハイライト表示を解除する
コピーコピーコマンド
yy,p—–クリップボードに1行コピー/クリップボードの内容を取り出すコマンド
応用テクニック:
新しいファイルでファイルを読み込む
vim newfile :r/tmp/application-config.yml-–開いているファイルfileのカーソル位置に/tmp/アプリケーション-configを読み込む.yml :%s/:.*//g-–ファイルのコロンから行末までのすべての部分を削除します:3 r/tmp/application-config.yml--指定された行番号の後にファイル内容が読み込まれます.ファイル内のすべての空白行と#で始まるコメント行
#cat squid.conf.default | grep -v '^$' | grep -v '^#'
を削除します.ファイルへのユーザーの書き込み権限がありません
vi filename:w/tmp/filename—–一時的に/tmp/filename:21,66 w/tmp/filenameに保存/tmp/filename 21~66行目のみを保存/tmp/filename
コンテンツをすばやく削除
vim filename:set nu—–行番号を表示:set nonu—–行番号をキャンセル:dd—–カーソルの行を削除:211024 d 21~1024行の内容をすべて削除
行の先頭または末尾に文字列を追加
vi filename:3,$s/^/some string/–ファイルの最初の行から最後の行までの行の先頭にsome string:%s/$/some string/gを挿入します.ファイルの各行の行末にsome stringを追加します.
:%s/string 1/string 2/g-–string 1をファイル全体でstring 2に置き換えます:3,7 s/string 1/string 2/–ファイルの3~7行目のstring 1のみをstring 2に置き換えます.
note:sはsubstitute、%はすべての行、gはglobal
2つのファイルを同時に編集し、2つのファイルにコピーして貼り付けます.
vi file 1 file 2 yyは同時に2つのファイルを開き、ファイル1のカーソル位置で行をコピーする:nファイル2(n=next)pファイル2のカーソル位置でコピーした行を貼り付ける:Nファイル1に戻る
ファイルのパスを置換
:%s#/usr/bin#/bin#gファイル内のすべてのパス/usr/binを/binに変換するか、:%s//usr/bin//bin/gを'/'の前に記号で'/'が本物の単一文字'/'であることを示す
複数行コメント
複数行のコードに注釈を付けるには、「#」号を挿入し、jで次の行にジャンプして「.」を使うのが愚かです.前のコマンドを繰り返します.数百行コメントする場合は:.,+50 s/^/#/g—–注釈50行以降の行:10200 s/^/#/g—–注釈10~200行