スポンサーリンクスポンサーリンク無料でプログラマへ!30歳までなら無料でプログラミング学校に通うことが出来ます。viエディタチュートリアルこの章では、viエディタがUnixでどのように動作するかを理解します。Unixでファイルを編集する方法は多くあります。画面指向のテキストエディタviを使用してファイルを編集することが最も適当な方法の1つです。このエディタを使用すると、ファイル内の他の行とのコンテキストで行を編集できます。VIMと呼ばれる改良されたviエディタも利用可能になりました。viは一般にUnixエディタでデファクトスタンダードと見なされています。これは通常、Unixシステムでどんな場合でも利用できます。必要なリソースはほとんどありません。viエディタを使用して、既存のファイルを編集したり、最初から新しいファイルを作成することができます。このエディタを使ってテキストファイルを読むこともできます。次の表は、viエディタを使用するための基本的なコマンドを示しています。filename新しいファイルがすでに存在しない場合は作成し、存在しない場合は既存のファイルを開きます。filename既存のファイルを読み取り専用モードで開きます。ファイル名を表示する既存のファイルを読み取り専用モードで開きます。以下は、現在の作業ディレクトリに存在していない新しいファイルtestfileを作成する例です。ファイル名でファイルを作成することができます。~チルダは未使用の行を表します。行がチルダで始まらず、空白のように見える場合は、スペース、タブ、改行、または他の見えない文字が存在します。ここにプログラムを書いて行くことができます。動作モードviエディタで作業している間、私たちは通常次の2つのモードに遭遇します。このモードでは、ファイルの保存、コマンドの実行、カーソルの移動、行や単語の切り取り(貼り付け)、貼り付け、検索および置換などの管理タスクを実行できます。このモードでは、あなたが入力したものはコマンドとして解釈されます。このモードでは、テキストをファイルに挿入できます。このモードで入力されたものはすべて入力として解釈され、ファイルに配置されます。viは常にコマンドモードで起動します。テキストを入力するには、単にiを入力する挿入モードでなければなりません。挿入モードから出るには、Escキーを押します。コマンドモードに戻ります。使用しているモードがわからない場合は、Escキーを2回押します。コマンドモードになります。viエディタを使用してファイルを開きます。いくつかの文字を入力してから、コマンドモードに行き、その違いを理解してください。‘q’と入力してからreturnを押します。あなたのファイルが何らかの方法で変更された場合、エディタはこれを警告し、終了させません。このメッセージを無視するには、保存せずにviを終了するコマンドは次のようになります。これにより、変更を保存せずにviを終了できます。こんな感じで設定から抜けることができます。エディターの内容を保存するコマンドは次のとおりです。上記のコマンドをquitコマンドと組み合わせるか、または:wqとreturnを使用してください。変更を保存してviを終了する最も簡単な方法は、ZZコマンドです。コマンドモードでZZと入力します。ファイル内を移動するテキストに影響を与えずにファイル内を移動するには、コマンドモードにする必要があります(Escを2回押す)。次の表に、一度に1文字ずつ移動するために使用できるコマンドをいくつか示します。kカーソルを1行上に移動します。hカーソルを左の1文字の位置に移動します。lカーソルを右の1文字の位置に移動します。ファイル内を移動するには、次の点を考慮する必要があります。viは大文字と小文字を区別します。コマンドを使用するときは大文字に注意する必要があります。viのほとんどのコマンドは、アクションを発生させる回数で始まることがあります。2jはカーソルをカーソル位置の2行下に移動します。viでファイル内を移動するには他にも多くの方法があります。コマンドモード(Escを2回押す)でなければならないことに注意してください。次の表に、ファイルを移動するためのコマンドをいくつか示します。以下は、ファイルを移動するコマンドのリストです。制御コマンド以下のコマンドをコントロールキーと共に使用して、以下の表に示す機能を実行できます。以下に、制御コマンドのリストを示します。ファイルの編集ファイルを編集するには、挿入モードにする必要があります。i現在のカーソル位置の前にテキストを挿入します。I現在の行の先頭にテキストを挿入します。a現在のカーソル位置の後ろにテキストを挿入します。A現在の行の最後にテキストを挿入します。oカーソル位置の下にテキスト入力用の新しい行を作成します。Oカーソル位置の上にテキスト入力用の新しい行を作成します。文字を削除する重要なコマンドの一覧を示します。このコマンドは、開いているファイルの文字や行を削除するために使用できます。×カーソル位置の文字を削除します。✖︎カーソル位置の前の文字を削除します。dw現在のカーソル位置から次の単語まで削除します。^現在のカーソル位置から行の先頭までを削除します。$現在のカーソル位置から行末までを削除します。Dカーソル位置から現在の行の末尾まで削除します。ddカーソルがある行を削除します。上で述べたように、viのほとんどのコマンドは、アクションを発生させる回数で始まることがあります。2xはカーソル位置の下の2文字を削除し、2ddはカーソルがある2行を削除します。変更コマンドviでは、文字、単語、行を削除することなく変更することもできます。関連するコマンドは次のとおりです。CC行の内容を削除し、挿入モードにします。rカーソルの下の文字を置き換えます。viは置換後にコマンドモードに戻ります。R現在カーソルの下にある文字で始まる複数の文字を上書きします。上書きを停止するにはEscを使用する必要があります。s現在の文字を入力した文字に置き換えます。その後、挿入モードになります。Sカーソルがある行を削除し、新しいテキストで置き換えます。新しいテキストが入力されると、viは挿入モードのままになります。コマンドのコピーと貼り付けある場所から行や単語をコピーして、次のコマンドを使って別の場所に貼り付けることができます。yy現在の行をコピーします。yw現在の単語を、小文字のwカーソルがオンになっている文字から、単語の最後までコピーします。pコピーしたテキストをカーソルの後ろに置きます。Pヤンクされたテキストをカーソルの前に置きます。高度なコマンド知っとくと便利な、viをより効率的に使用できる高度なコマンドがいくつかあります。以下はリストの高度なコマンドです。2種類の検索があります。文字列検索の場合、/と?コマンドが使用されます。これらのコマンドを起動すると、入力したばかりのコマンドが画面の最後の行に表示され、検索する特定の文字列を入力します。これらの2つのコマンドは、検索が行われる方向でのみ異なります。/転送(下向き)ファイル内のコマンドを検索します。?コマンドはファイル内を後方(上向き)に検索します。N及びNコマンドは、それぞれ、同じ方向または反対方向に前回検索コマンドを繰り返します。一部の文字には特別な意味があります。これらの文字の前には、バックスラッシュ(\)を付けて検索式の一部として含める必要があります。^行頭で検索します(検索式の先頭で使用します)。