LinuC-1 - 101試験 - 1.03:GNUとUnixのコマンド - 1.03.5 エディタを使った基本的なファイル編集の実行

Last Update : January 02 2021 16:07:25

     

a. viの使い方

viエディタはLinuxやUnixで標準的に使われるテキストエディタです。 vi エディタの特徴は、コマンドモードと入力モードの2つの動作モードがあり、それらを切り替えながら編集していきます。 viを起動した時点ではコマンドモードになっています。

1.vi の起動

まず、ターミナルで vi test と入力するとtest という名前で新規ファイルが作成されます。この時、test というファイルがカレントディレクトリ(現在いるディレクトリ)に存在しなくても構いません。仮に、test というファイルがあった場合は、既存のテキストファイルを開いて編集することができます。

# vi test


~
~
~
~
~
"test" [New File]

vi 起動時は、コマンドモードになっているため、キーボードをタイプしても何も入力できないようになっています。コマンドモードから入力モードに変更するには、i 、もしくは、a を入力します。i をタイプ後、何か文字を入力してみてください(以下図参照)。文字を入力したら、入力モードからコマンドモードに戻るためには、ESCキーをタイプします。

~
~
~
~
~
-- INSERT --


2.vi の終了

vi を終了させるにはコマンドモードに戻ってから実行します。現在、編集したファイルを保存せずに強制的に終了させるには、ESC:q!ENTERと順番にタイプしてください。なお、ここでのESCはコマンドモードに戻るために入力しているので実際には、「:q!」で強制終了します。保存して終了させるには、「:wq!」もしくはZZ、単に保存するだけでvi を終了させたくない場合は、「:w」と入力します。

以下に基本的な操作方法を記しましたので参考にしてください。なお、vi は入力モードの状態の場合は、単なるメモ帳として動作するのみで、以下に記す操作方法は全てコマンドモードの状態で実行します。入力モード中に使える操作はただ1つだけ、それはコマンドモードに戻るためのESCキーのみです。


3.文字の挿入

 i (insert) カーソルの手前に文字列を挿入
 a (add) カーソルの後ろに文字列を挿入
 o カーソルの下に新しい行を作成し、そこにテキストを挿入
 ESC テキストモードを終了し、コマンドモードに戻る


4.文字の削除/コピー/ペースト

 x カーソル位置の文字を削除
 X カーソルの手前の文字を削除
 dd カーソルのある行を削除or切り取り
5行削除したい場合は、"5dd" と入力する
 yy カーソルのある行をコピーする
 p 次の行に貼り付ける
 D カーソル位置から行末まで削除する


5.アンドゥ操作(繰り返し/やり直し)

 . 文字列編集を繰り返す
 u 文字列編集を元に戻す
 Ctrl + r 繰り返しの繰り返し。u コマンドで前に戻りすぎた場合に重宝します。


6.カーソルの移動

 0 行の先頭に移動する
 $ 行の末尾に移動する
  カーソルがある段落の先頭に移動
 } カーソルがある段落の末尾に移動
 Ctrl + f 1画面下に移動する
 Ctrl + b 1画面上に移動する
 Ctrl + d 半画面下に移動する
 Ctrl + u 半画面↑に移動する(Uの位置が遠すぎる 笑)
 h or 左に1文字移動
 j or 下に1文字移動
 k or 上に1文字移動
 l or 右に1文字移動
 w 次の単語に移動
 b 前の単語に移動
 :数字 何行目に移動するか指定する。":100"と入力すると100行目に移動する


7.ファイルの保存と終了

 :q! 編集中の文書を破棄して終了
 :q vi を終了させる
 :wq! 編集中の文書を保存して終了
 ZZ 編集中の文書を保存して終了
 :x 編集中の文書を保存して終了
 :e! 編集内容を無視して、最後の保存状態に戻る
 :w name name で指定したファイル名(別名)で保存する


8.文字列の検索

 /pattern "/"(スラッシュ)のあとに検索したい文字列を入力し、ENTERキーを入力する
(文末方向)
 ?pattern "?"(クエスチョンマーク)のあとに検索したい文字列を入力し、ENTERキーを入力する
(文頭方向)
 n 検索を文末方向に繰り返します。"word"という用語がいくつもある場合、"n"を連続してタイプすると"word"の検索を繰り返します。
 N 検索を文頭方向に繰り返します。


9.行番号の表示

 :set nu 行の番号を左端に表示する
 Ctrl + g カーソル行の行番号表示する


10.便利なコマンド

 :! <コマンド> vi 操作中に一時的にコマンドが入力できます(コマンドモードにて実行する)。
 :sh vi 操作中に一時的にシェルに戻る。再び、vi 操作に戻るにはexit と入力(コマンドモードにて実行する)。


11.文字列の置換

 :%s/aa/AA ファイル内にある「aa」を「AA」に置換。
 :1s/aa/AA 先頭行だけ「aa」を「AA」に置換。
 :1,2s/aa/AA/g
1~2行目に表れる「aa」を「AA」に置換。
 :s/aa/AA カーソルのある行の「aa」を「AA」に置換。


z. 出題範囲概要

概要 :
  • viを使ってテキストファイルを編集できる。これには、viのモード切り替え、テキストの検索、編集、保存、終了が含まれる。
  • エディタの変更ができる。

詳細 :
  • viのモードを切り替えて、編集、保存、終了ができる。
    i, o, a, ESC
    h,j,k,l
    ZZ, :w!, :q!, :e!
    c, d, p, y, dd, yy
  • テキストを検索する。
    /, ?
  • 標準のエディタを切り替える。
    EDITOR, nano, emacs

  [ 例題 ] 


         

    www.it-shikaku.jp