Contents
Linux入門 viエディタチュートリアル
この章では、viエディタがUnixでどのように動作するかを理解します。Unixでファイルを編集する方法は多くあります。画面指向のテキストエディタviを使用してファイルを編集することが最も適当な方法の1つです。このエディタを使用すると、ファイル内の他の行とのコンテキストで行を編集できます。
VIMと呼ばれる改良されたviエディタも利用可能になりました。ここのVIMはVi IMの略です。
viは一般にUnixエディタでデファクトスタンダードと見なされています。
- これは通常、Unixシステムでどんな場合でも利用できます。
- 必要なリソースはほとんどありません。
viエディタを使用して、既存のファイルを編集したり、最初から新しいファイルを作成することができます。また、このエディタを使ってテキストファイルを読むこともできます。
viエディタの起動
次の表は、viエディタを使用するための基本的なコマンドを示しています。
S.No. | コマンドと説明 |
---|---|
1 | vi filename
新しいファイルがすでに存在しない場合は作成し、存在しない場合は既存のファイルを開きます。 |
2 | vi -R filename
既存のファイルを読み取り専用モードで開きます。 |
3 | ファイル名を表示する
既存のファイルを読み取り専用モードで開きます。 |
以下は、現在の作業ディレクトリに存在していない新しいファイルtestfileを作成する例です。
このvi ファイル名でファイルを作成することができます。
$vi testfile
上記のコマンドは次の出力を生成します –
| ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ "testfile" [New File]
~チルダは未使用の行を表します。行がチルダで始まらず、空白のように見える場合は、スペース、タブ、改行、または他の見えない文字が存在します。ここにプログラムを書いて行くことができます。
動作モード
viエディタで作業している間、私たちは通常次の2つのモードに遭遇します。
- コマンドモード – このモードでは、ファイルの保存、コマンドの実行、カーソルの移動、行や単語の切り取り(貼り付け)、貼り付け、検索および置換などの管理タスクを実行できます。このモードでは、あなたが入力したものはコマンドとして解釈されます。
- 挿入モード – このモードでは、テキストをファイルに挿入できます。このモードで入力されたものはすべて入力として解釈され、ファイルに配置されます。
viは常にコマンドモードで起動します。テキストを入力するには、単にiを入力する挿入モードでなければなりません。挿入モードから出るには、Escキーを押します。コマンドモードに戻ります。
ヒント – 使用しているモードがわからない場合は、Escキーを2回押します。コマンドモードになります。viエディタを使用してファイルを開きます。いくつかの文字を入力してから、コマンドモードに行き、その違いを理解してください。
viから抜け出す
:と ‘q’と入力してからreturnを押します。あなたのファイルが何らかの方法で変更された場合、エディタはこれを警告し、終了させません。
このメッセージを無視するには、保存せずにviを終了するコマンドは次のようになります。これにより、変更を保存せずにviを終了できます。
こんな感じで設定から抜けることができます。エディターの内容を保存するコマンドは次のとおりです。w。上記のコマンドをquitコマンドと組み合わせるか、または:wqとreturnを使用してください。
変更を保存してviを終了する最も簡単な方法は、ZZコマンドです。コマンドモードでZZと入力します。
ファイル内を移動する
テキストに影響を与えずにファイル内を移動するには、コマンドモードにする必要があります(Escを2回押す)。次の表に、一度に1文字ずつ移動するために使用できるコマンドをいくつか示します。
S.No. | コマンドと説明 |
---|---|
1 | k
カーソルを1行上に移動します。 |
2 | j
カーソルを1行下に移動する |
3 | h
カーソルを左の1文字の位置に移動します。 |
4 | l
カーソルを右の1文字の位置に移動します。 |
ファイル内を移動するには、次の点を考慮する必要があります。
- viは大文字と小文字を区別します。コマンドを使用するときは大文字に注意する必要があります。
- viのほとんどのコマンドは、アクションを発生させる回数で始まることがあります。たとえば、2jはカーソルをカーソル位置の2行下に移動します。
viでファイル内を移動するには他にも多くの方法があります。コマンドモード(Escを2回押す)でなければならないことに注意してください。次の表に、ファイルを移動するためのコマンドをいくつか示します。
制御コマンド
以下のコマンドをコントロールキーと共に使用して、以下の表に示す機能を実行できます。
ファイルの編集
ファイルを編集するには、挿入モードにする必要があります。コマンドモードから挿入モードに入る方法はたくさんありますが、
S.No. | コマンドと説明 |
---|---|
1 | i
現在のカーソル位置の前にテキストを挿入します。 |
2 | I
現在の行の先頭にテキストを挿入します。 |
3 | a
現在のカーソル位置の後ろにテキストを挿入します。 |
4 | A
現在の行の最後にテキストを挿入します。 |
5 | o
カーソル位置の下にテキスト入力用の新しい行を作成します。 |
6 | O
カーソル位置の上にテキスト入力用の新しい行を作成します。 |
文字を削除する
重要なコマンドの一覧を示します。このコマンドは、開いているファイルの文字や行を削除するために使用できます。
S.No. | コマンドと説明 |
---|---|
1 | ×
カーソル位置の文字を削除します。 |
2 | ✖︎
カーソル位置の前の文字を削除します。 |
3 | dw
現在のカーソル位置から次の単語まで削除します。 |
4 | d ^
現在のカーソル位置から行の先頭までを削除します。 |
5 | d $
現在のカーソル位置から行末までを削除します。 |
6 | D
カーソル位置から現在の行の末尾まで削除します。 |
7 | dd
カーソルがある行を削除します。 |
上で述べたように、viのほとんどのコマンドは、アクションを発生させる回数で始まることがあります。たとえば、2xはカーソル位置の下の2文字を削除し、2ddはカーソルがある2行を削除します。
変更コマンド
viでは、文字、単語、行を削除することなく変更することもできます。関連するコマンドは次のとおりです。
S.No. | コマンドと説明 |
---|---|
1 | CC
行の内容を削除し、挿入モードにします。 |
2 | cw
カーソルがある単語をカーソルから単語の小文字のw endに変更します。 |
3 | r
カーソルの下の文字を置き換えます。viは置換後にコマンドモードに戻ります。 |
4 | R
現在カーソルの下にある文字で始まる複数の文字を上書きします。上書きを停止するにはEscを使用する必要があります。 |
5 | s
現在の文字を入力した文字に置き換えます。その後、挿入モードになります。 |
6 | S
カーソルがある行を削除し、新しいテキストで置き換えます。新しいテキストが入力されると、viは挿入モードのままになります。 |
コマンドのコピーと貼り付け
ある場所から行や単語をコピーして、次のコマンドを使って別の場所に貼り付けることができます。
S.No. | コマンドと説明 |
---|---|
1 | yy
現在の行をコピーします。 |
2 | yw
現在の単語を、小文字のwカーソルがオンになっている文字から、単語の最後までコピーします。 |
3 | p
コピーしたテキストをカーソルの後ろに置きます。 |
4 | P
ヤンクされたテキストをカーソルの前に置きます。 |
高度なコマンド
知っとくと便利な、viをより効率的に使用できる高度なコマンドがいくつかあります。
単語と文字の検索
viエディタには、文字列と文字の 2種類の検索があります。文字列検索の場合、/と?コマンドが使用されます。これらのコマンドを起動すると、入力したばかりのコマンドが画面の最後の行に表示され、検索する特定の文字列を入力します。
これらの2つのコマンドは、検索が行われる方向でのみ異なります。
- /転送(下向き)ファイル内のコマンドを検索します。
- ?コマンドはファイル内を後方(上向き)に検索します。
N及びNコマンドは、それぞれ、同じ方向または反対方向に前回検索コマンドを繰り返します。一部の文字には特別な意味があります。これらの文字の前には、バックスラッシュ(\)を付けて検索式の一部として含める必要があります。
S.No. | キャラクターと説明 |
---|---|
1 | ^
行頭で検索します(検索式の先頭で使用します)。 |
2 | 。
1文字に一致します。 |
3 | *
前の文字の0個以上に一致します。 |
4 | $
行末(検索式の最後に使用)。 |
5 | [
一致または不一致の式のセットを開始します。 |
6 | <
これは、バックスラッシュでエスケープされた式に置かれ、単語の終わりまたは先頭を検索します。 |
7 | >
これは上の ‘ < ‘文字の説明を見るのに役立ちます。 |
文字の検索では、コマンドの後に入力された文字を1行で検索します。FとFは、現在行の文字の検索を命じます。fは前方を検索し、Fは後方を検索し、カーソルは見つかった文字の位置に移動します。
TとTは、現在の行の文字の検索がだけでなく、ためのコマンドトン、カーソルは文字の前の位置に移動し、そしてTは文字の後の位置に後方の行を検索します。
セットコマンド
次のsetコマンドを使用して、vi画面のルックアンドフィールを変更することができます。コマンドモードになったら、次のコマンドを入力してsetを入力します。
S.No. | コマンドと説明 |
---|---|
1 | :セットIC
検索時に大文字小文字を無視する |
2 | :集合ai
自動インデントを設定する |
3 | :set noai
オートインサートの設定を取り消す |
4 | :set nu
左側に行番号のある行を表示します。 |
5 | :set sw
ソフトウェアのタブストップの幅を設定します。たとえば、次のコマンドでシフト幅を4に設定します。 – :set sw = 4 |
6 | :セットws
場合wrapscanが設定され、単語がファイルの一番下で発見されていない、それは最初にそれを検索してみてくださいます |
7 | :set wm
このオプションの値が0より大きい場合、エディタは自動的に「ワードラップ」します。たとえば、折り返し余白を2文字に設定するには、次のように入力します。:set wm = 2 |
8 | :set ro
ファイルタイプを「読み取り専用」に変更 |
9 | :セットターム
ターミナルタイプを印刷する |
10 | :set bf
制御文字を入力から破棄する |
実行コマンド
viには、エディタ内からコマンドを実行する機能があります。コマンドを実行するには、コマンドモードに移動し、次のように入力するだけです。コマンド。
たとえば、そのファイル名でファイルを保存しようとする前にファイルが存在するかどうかを確認するには、次のように入力します。LSあなたはの出力が表示されますと、LSを画面上に。
任意のキー(またはコマンドのエスケープシーケンス)を押すと、viセッションに戻ることができます。
テキストの置換
置換コマンド(:s /)を使用すると、ファイル内の単語または単語のグループをすばやく置き換えることができます。以下は、テキストを置き換える構文です –
:s/search/replace/g
Gはグローバルの略です。このコマンドの結果、カーソルの行にあるすべてのオカレンスが変更されます。
注意すべき重要ポイント
- コマンドを使用するには、コマンドモードでなければなりません。(Escを2回押して、コマンドモードになっていることを確認してください。)
- あなたはコマンドに注意する必要があります。大文字と小文字が区別されます。
- テキストを入力するには、記述モードにする必要があります
次のページ