Linux勉強5日目(テキストエディタ(vi、vim)、モード、vimのコマンド、コマンドの作り方)

テキストエディタ(vi、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に書き込む

※ログインし直さないと適用されないので注意