GeeksforGeeks
UNIX OSに付属するデフォルトのエディタはvi(ビジュアルエディタ)と呼ばれています。
構文:
vi filename
入力です。
Output:
viエディタの操作モード viには3つの操作モードがあります。
- コマンドモード。 viが起動すると、コマンドモードになります。 このモードでは、viは私たちが入力した文字をコマンドとして解釈するため、ウィンドウには表示されません。
他のモードからコマンドモードに入るには、キーを押す必要があります。 - 挿入モード。 このモードでは、ファイルにテキストを挿入することができます。 このモードで入力されたものはすべて入力として解釈され、最終的にはファイルに入れられます。 viは常にコマンドモードで起動します。 テキストを入力するには、挿入モードにしなければならない。 挿入モードになるには、単にiと入力します。挿入モードから抜け出すには、Escキーを押すと、コマンドモードに戻ります。
- 最終ラインモード(エスケープモード)。 行モードは、viがコマンドモードになっているときにコロン「 」を入力して起動します。 カーソルは画面の最終行にジャンプし、viはコマンドを待ちます。
viエディタの起動
viエディタを使い始めるには以下の方法があります:
コマンドとその説明
- vi filename: ファイルが存在しない場合は新しいファイルを作成し、存在する場合は既存のファイルを開きます。
- vi -R filename : 既存のファイルを読み取り専用で開きます。
- view filename : 既存のファイルを読み取り専用で開きます。
ファイル内での移動(ナビゲーション):
テキストに影響を与えずにファイル内を移動するには、コマンドモード(Escを2回押す)にする必要があります。
コマンドとその説明
- k : カーソルを1行上に移動
- j : カーソルを1行下に移動
- h : カーソルを1文字分左に移動。
- l : カーソルを右に1文字分移動
- 0 or | : カーソルを行頭に移動
- $ : カーソルを行末に移動
- W : カーソルを次の単語に移動
- B : カーソルを前の単語に移動
- C : カーソルを前の単語に移動。
- ( : カーソルを現在の文の先頭に移動する。
- ) : カーソルを次の文の先頭に移動する。
- H : 画面の先頭に移動する。
- nH : 画面の先頭から n 行目に移動する。
- M : 画面の中央に移動する。
- L : 画面の一番下に移動。
- nL : 画面の一番下から n 行目に移動。
- colon with x : コロンに続いて数字を入力すると、x で表される行番号にカーソルが移動します。
コントロールコマンド(スクロール)。
コマンドとその説明:
- CTRL+d : 1/2画面分進む。
- CTRL+f : 1/2画面分進む。
- CTRL+u : 1/2 画面後退。
- CTRL+b : 1 画面後退。
- CTRL+e : 画面を 1 行上に移動。
- CTRL+y :
- CTRL+u:画面を1/2ページ上に移動。
- CTRL+d:画面を1/2ページ下に移動。
- CTRL+b:画面を1ページ上に移動。
- CTRL+f:画面を1ページ下に移動。 画面を1ページ下に移動する。
- CTRL+I : 画面を再描画する。
ファイルの編集・挿入(文字の入力・置換)について。 ファイルを編集するには、挿入モードにする必要があります。 コマンドモードから挿入モードに入るには多くの方法があります。
- i : 現在のカーソル位置の前にテキストを挿入する。
- I : 現在の行の先頭にテキストを挿入する。
- a : 現在のカーソル位置の後にテキストを挿入する。
- A : 現在の行の最後にテキストを挿入する。
- o :
- O : カーソル位置の下にテキストを入力するための新しい行を作成する。
- O : カーソル位置の上にテキストを入力するための新しい行を作成する。
- r :
- R : カーソル下の一文字を次に入力された文字に置き換える。
- s :
- S :カーソル下の1文字を任意の数の文字に置き換える。
文字の削除。
- X Uppercase: カーソル位置より前の文字を削除する
- × 小文字 : カーソル位置の文字を削除する
- Dw :
- Dw : 現在のカーソル位置から次の単語まで削除する
- d^ : 現在のカーソル位置から行頭まで削除する
- d$ : 現在のカーソル位置から行末まで削除する
- Dd : カーソルがある行を削除する
コピー&ペーストコマンドです。
- Yy : 現在の行をコピーします。
- 9yy : 現在の行とその下の9行をヤンクします。
- p :
- P : カーソルの後にコピーされたテキストを置く。
exモードの保存と終了のコマンド。
- q : Quit
- q! : 変更を保存せずに終了する(変更を破棄する)
- r fileName : fileName と呼ばれるファイルからデータを読み込む
- wq :
- w fileName : fileName という名前のファイルに書き込み(別名で保存)
- w! fileName : fileName という名前のファイルに上書き(強制的に保存)
- !cmd : シェルコマンドを実行し、コマンドモードに戻る。
(exモード)での検索と置換:viには強力な検索と置換の機能もあります。 検索の正式な構文は次のとおりです。
:s/string
例えば、あるテキストから「geeksforgeeks」という文字列を検索したいとします。 以下のように入力し、Enterキーを押します。
:s/geeksforgeeks
Input:
Output: テキストの中で「geeksforgeeks」の最初のマッチを見つけると、ハイライト表示されます。
現在の行である文字列を別の文字列に置き換える構文は次のとおりです:
:s/pattern/replace/
ここで、”pattern “は古い文字列、”replace “は新しい文字列を表します。 例えば、ある行で「geeks」という単語が出現するたびに、「geeksforgeeks」というタイプに置き換える場合。
:s/geeksforgeeks/gfg/
Input:
Output:
テキスト全体の中で文字列の出現箇所をすべて置き換える構文は似ています。
:%s/pattern/replace/
先ほどの例を1行だけではなく、テキスト全体で繰り返すと、次のようになります:
:%s/gfg/geeksforgeeks/