vi で編集したあと、どうやって保存して閉じるんかわからん
q 打っても文字が入るだけ
【疑問】vi から抜けられへん。保存・終了の :w :q! ZZ と検索 / ?、EDITOR とほかのエディタ【LPICレベル1】
前提のおさらい。vi はノーマルモード・挿入モード・コマンドラインモードに分かれ、挿入モードから Esc でノーマルモードに戻る。dd で行削除、yy でコピー、p で貼り付け
>>1
まず Esc でノーマルモードに戻ってから、: を打ってコマンドラインモードで命令する
>>3
保存と終了:w 保存:q 終了(変更が残ってると止められる):wq 保存して終了:q! 保存せずに終了:w! 強制的に保存ZZ 変更があれば保存して終了(: は要らない)
>>4ZZ と :wq は同じ?
>>5
ほぼ同じ。vim のヘルプでは ZZ は「変更があれば書き込んで閉じる」。変更がなければ書き込まずに閉じる。ZQ は :q! と同じ
>>1
検索は?
>>7
ノーマルモードで /文字列 で下に向かって、?文字列 で上に向かって探す。n で同じ向きに次、N で逆向き
>>8
置き換えはコマンドラインモードで :s/old/new/ がその行、:%s/old/new/g がファイル全体。sed の s と同じ書き方
>>1
crontab -e したら nano が開いた。vi にしたい
>>10
多くのコマンドは環境変数 EDITOR(や VISUAL)でエディタを選ぶ。export EDITOR=vi を ~/.bashrc などに書いとく
>>11
visudo の man には、SUDO_EDITOR、VISUAL、EDITOR の順に見ると書いてあった
>>11
Debian の crontab -e は sensible-editor を通してエディタを選ぶ(crontab の man)。VISUAL や EDITOR がなければ選んだ既定のエディタになるから、Debian では select-editor や update-alternatives --config editor でも変えられる。ほかのディストリビューションでは仕組みが違う
>>10
nano・emacs・vim もエディタの名前として範囲に入ってる
nano:画面の下に Ctrl のキーの一覧が出る、簡単なエディタ
emacs:Ctrl や Meta のキーの組み合わせで操作する多機能なエディタ
vim:vi を拡張したもの
>>4
Esc してから :wq か :q!。保存せずに逃げる :q! は覚えといて損ないな
管理人のひとこと
- 保存・終了はノーマルモードから : で。
:w保存、:q終了、:wq保存して終了、:q!保存せず終了、:w!強制保存。ZZは変更があれば保存して終了、ZQは:q!と同じ。 - 検索は
/文字列(下へ)・?文字列(上へ)、nで次・Nで逆向き。置換は:s/old/new/、全体は:%s/old/new/g。 - 多くのコマンドは EDITOR(や VISUAL)でエディタを選ぶ。visudo は SUDO_EDITOR・VISUAL・EDITOR の順。Debian の crontab -e は sensible-editor を使うなど、選び方はディストリビューションで違う。
- ほかのエディタ:nano(簡単)、emacs(多機能)、vim(vi の拡張)。