Linux勉強5日目(テキストエディタ(vi、vim)、モード、vimのコマンド、コマンドの作り方)
- :q → 終了、後ろに!がつくと強制終了
- :w → 保存(書き込み)、後ろに!がつくと強制保存
- :wq → 保存と終了、後ろに!がつくと強制保存と終了
- ファイルを開くにはvi(vim)半角スペースでファイル名
- カーソルの移動は矢印キー、もしくはh(←)j(↓)k(↑)l(→)で
- hjklはノーマルモードのみで使える
3つのモード
- テキストエディタを起動すると最初はノーマルモードになる
- ノーマルモードと、コマンドを入力するコマンドモードとテキストを操作するインサートモードの3つがある
- いろんなモードからノーマルモードに戻るにはEscを押す
- ノーマルモード→コマンドモードの場合:を入力
- ノーマルモード→インサートモードの場合、iaIAのいずれかを入力する
- i → カーソルの前に追加
- a → カーソルの後に追加
- I(大文字のi) → 行頭に追加
- A → 行末に追加
- インサートモード⇔コマンドモードの場合はEsc+:を入力
vi、vimで使うコマンド
基本
- Ctrl+f → 次の画面へ、fをbに変えると前の画面へ移動できる
- :n → n行目へ移動
- :$ → 最終行へ移動
- Ctrl+g → カーソルの位置の行数と全体行数の表示
- ^で行の先頭へ、$で行の末尾へ
- oで次の行に行を追加する、小文字で↓大文字で↑
- :!コマンド → 外部コマンドを実行
- :r ファイル名 → ファイル名の中身を今のファイルに挿入
- x → 1文字削除
- dd → 1行削除、nddでn行削除
- yy → 1行コピー、nyyでn行分コピー
- p → カーソルの次の文字、または次の行にペースト、大文字のPだとカーソルの前、前の行になる
- u → カットやペーストを1回やり直し、大文字のUで一番最初の状態へ戻す
- v → 範囲選択
- 上では削除と書いたが、実際は削除されずにレジスタに格納されるのでpで貼り付けることができる
検索と置換
- /検索文字列で検索、nで下方向へ繰り返し検索、大文字のNだと上方向へ
- :対象の行s/検索文字列/置換文字列/オプションで置換、m,nでm行目~n行目、%で全体、省略で現在の行の置換ができる
- オプションにgをつけると行内の全ての単語を置換する、オプションをつけないと1回だけ置換
- 検索や置換の前にset icと入力すると大文字と小文字を区別せずに行ってくれる
単語、文字列操作
- dw → 空白を含む単語削除
- de → 空白を含まない単語削除
- ndw → 今いる行のn個分の単語を削除
- ne → 今いる行のn個目の単語へ飛ぶ
- r → 今いるカーソルの文字を置き換えることができる、大文字のRで今いるカーソルからの文字を置き換えれる
- cw → カーソルの位置から単語の終わりまでを変更
- c$ → カーソルの位置から行末まで変更
vimを入れた後にvimtutor jaを開くとvimの練習ができる
コマンドの作り方
alias x='y'で、xと入力するとyと表示されるようになる、これを.bashrcに書き込む
※ログインし直さないと適用されないので注意