Linuxでのテキストファイル編集:VimとNano

CompTIABeginner
オンラインで実践に進む

はじめに

この実験では、Linuxにおける2つの必須テキストエディタである vi/vimnano の基本的なスキルを学びます。これらはLinux環境で最も一般的に使用されるテキストエディタであり、それぞれに独自の強みと用途があります。

まずは、Unix系システムで強力かつどこにでも存在するツールである vi テキストエディタから始めます。ファイルの作成、挿入モード(Insert Mode)を使用したテキストの入力、:w:wq といったコマンドによる保存、移動キーを使用したナビゲーション、テキスト検索、そして削除などの基本的な編集操作を学びます。

実験の後半では、初心者にとって最適な、よりユーザーフレンドリーなエディタである nano を探求します。直感的なインターフェースを体験し、基本的な編集操作を学び、タスクに応じてVimではなくNanoを選択すべき場面を理解します。

この実験を終える頃には、両方のエディタを快適に使いこなせるようになり、Linuxワークフローのさまざまなシナリオにおいて、どのツールが最適かを判断できるようになるでしょう。

ファイルの作成と挿入モードでのテキスト入力

このステップでは、vi エディタを使用して新しいテキストファイルを作成し、テキストを入力する方法を学びます。vi(およびその現代版である vim)は、Unix系オペレーティングシステムにおいて強力かつ広く普及しているテキストエディタです。このエディタには異なるモードがあり、最も基本的な2つはノーマルモード(コマンド用)と挿入モード(テキスト入力用)です。

まず、正しい作業ディレクトリにいることを確認しましょう。この実験のすべての作業は ~/project ディレクトリで行います。

  1. ターミナルを開きます。プロンプトには project ディレクトリにいることが表示されているはずです。pwd (print working directory) コマンドを使用して、フルパスを確認できます。

    pwd
    

    以下のような出力が表示され、現在地が確認できるはずです。

    /home/labex/project
    

    現在のディレクトリを表示するターミナル

  2. 次に、vi エディタを起動し、test.txt という名前の新しいファイルを作成します。このコマンドを実行すると、vi が起動し、ターミナルウィンドウを占有します。

    vi test.txt
    

    ターミナルがクリアされ、左側にチルダ(~)が並んだ画面が表示されます。これらは空行を示しています。画面下部には "test.txt" [New File] というファイル名が表示されます。現在は ノーマルモード です。

  3. テキストの入力を開始するには、挿入モード に切り替える必要があります。キーボードの i キーを押してください。

    i
    

    画面下部に -- INSERT -- と表示されることに注目してください。これで挿入モードになったことが確認でき、ファイルに直接テキストを入力できるようになりました。

  4. 次の文章を入力してください:

    Now is the time for all good men to come to the aid of their country.

    挿入モードでテキストを入力しているviエディタ

    この時点で、入力したテキストはエディタのメモリバッファに存在しますが、まだディスクには保存されていません。次のステップでは、作業内容を保存してエディタを終了する方法を学びます。

:w と :wq を使用したファイルの保存と終了

このステップでは、変更内容を保存して vi エディタを終了する方法を学びます。これらの操作は ノーマルモード でコマンドを使用して行います。前のステップから挿入モードのままになっているため、まずはノーマルモードに戻る必要があります。

  1. 挿入モードからノーマルモードに戻るには、Esc キーを押します。

    Esc
    

    画面下部の -- INSERT -- という表示が消えるのがわかります。これはノーマルモードになったことを意味し、キー入力がテキスト入力ではなくコマンドとして解釈されるようになります。

  2. それでは、ファイルを保存しましょう。ノーマルモードでは、コロン(:)で始まるコマンドが画面下部のコマンドラインに表示されます。ファイルを書き込む(保存する)には :w コマンドを使用します。

    以下の順序で入力し、Enter を押してください:

    :w
    

    Enter を押すと、vi はバッファの内容を test.txt ファイルに書き込みます。画面下部に以下のような確認メッセージが表示されます:

    "test.txt" [New] 1L, 79C written
    

    このメッセージは、test.txt ファイルが保存され、1行79文字が含まれていることを示しています。

  3. 最後に、vi を終了するには「終了」を意味する :q コマンドを使用できます。より一般的なのは、ファイルの書き込みと終了を一度に行う :wq コマンドです。すでにノーマルモードですので、以下を入力して Enter を押してください:

    :wq
    

    このコマンドは最終的な変更を保存し、vi エディタを閉じてターミナルのシェルプロンプトに戻ります。これでターミナルにはいつものコマンドプロンプトが表示され、test.txt ファイルが ~/project ディレクトリに保存されています。

gg, h, j, k, l, / を使用したナビゲーションとテキスト検索

このステップでは、vi の強力なナビゲーションおよび検索コマンドをいくつか練習します。これらのコマンドを使用すると、マウスを使わずに効率的にカーソルを移動し、テキストを見つけることができます。これらの操作はすべて ノーマルモード で行います。

  1. まず、test.txt ファイルを再度開く必要があります。~/project ディレクトリのシェルプロンプトから、次のコマンドを入力します:

    vi test.txt
    

    ファイルの内容が表示された状態でエディタが開きます。カーソルはおそらく1行目の先頭にあるはずです。

  2. カーソルがファイルの先頭にあることを確実にするには、gg コマンドを使用できます。ノーマルモードで(確信が持てない場合は Esc を押してください)、gg と入力します。

    gg
    

    カーソルは即座に1行目の最初の文字(このファイルでは 'N')にジャンプします。

  3. vi でカーソルを移動する主な方法は h, j, k, l キーを使用することです。これは vi ユーザーにとって必須のスキルです。

    • h はカーソルを左に1文字移動します。
    • l はカーソルを右に1文字移動します。
    • j はカーソルを下に1行移動します。
    • k はカーソルを上に1行移動します。

    これらのキーを押して、文章の中でカーソルを動かしてみてください。このナビゲーション方法は、どのターミナル環境でも機能します。

  4. 次に、テキストを検索してみましょう。/ コマンドはファイル内を前方検索するために使用されます。文字 'a' のすべての出現箇所を検索するには、以下の手順に従ってください: a. ノーマルモードであることを確認します(Esc を押す)。 b. / に続けて検索したい文字(今回は a)を入力し、Enter を押します。

    /a
    

    カーソルは、現在の位置から最初に見つかった 'a' にジャンプします。

    c. 同じ検索語の次のインスタンスを見つけるには、単に n キー(「next」の意)を押します。

    n
    

    n を数回押して、ファイル内のすべての 'a' を順番に確認してください。

これで基本的なナビゲーションと検索の練習が完了しました。次のステップでは、テキストを削除する方法を学びます。

dw による単語の削除と :q! による保存なしの終了

このステップでは、テキストを削除する方法と、変更を保存せずに vi を終了する方法を学びます。これは、ミスをした際に最後に保存したバージョンに戻したい場合に非常に重要なスキルです。前のステップから test.txt を開いたままの vi が起動しているはずです。

  1. まず、削除したい単語にカーソルを移動しましょう。ノーマルモード であることを確認します(確信が持てない場合は Esc を押してください)。h キーと l キーを使用して、time という単語の最初の文字にカーソルを合わせます。

  2. timet にカーソルがある状態で、dw コマンドを入力します。このコマンドは「delete word(単語を削除)」の略です。

    dw
    

    time という単語とそれに続くスペースが画面から消えるのがわかります。文章が不自然になりましたが、次の操作には最適です。

  3. これでエディタのバッファ内でファイルを変更しました。この削除が間違いだったと仮定しましょう。この不完全なバージョンを保存する代わりに、終了して変更を破棄します。そのためのコマンドは :q! です。q は「quit(終了)」、! は強制を意味し、保存されていない変更を無視します。

    a. ノーマルモードであることを確認します(Esc を押す)。 b. 次のコマンドを入力して Enter を押します:

    :q!
    

    このコマンドにより、即座に vi エディタが終了し、シェルプロンプトに戻ります。:q! を使用したため、time という単語の削除は test.txt ファイルに 保存されません。再度ファイルを開くと、time という単語はそのまま残っているはずです。

さらなる練習のための対話型 vimtutor の起動

このステップでは、vi/vim のスキルを実践的に学ぶために設計された対話型チュートリアルである vimtutor を紹介します。この実験では絶対的な基本のみを扱いましたが、vimtutor はすべての新規ユーザーに強く推奨される、包括的で自分のペースで進められるコースを提供しています。

  1. ~/project ディレクトリのシェルプロンプトにいるはずです。チュートリアルを開始するには、単に vimtutor と入力して Enter を押します。

    vimtutor
    
  2. このコマンドは、特別なチュートリアルファイルで vi を開きます。ファイル自体にすべての指示が含まれています。テキストを読み、チュートリアルファイル内で説明されているコマンドを直接練習します。ファイルのコピーを使って練習するため、安全かつ効果的に学習できます。

    チュートリアルはレッスンに分かれており、完了まで約25〜30分かかると推定されています。自分のペースで進めてください。

  3. チュートリアルが終了したとき(またはいつでも中断したいとき)、通常の vi セッションと同じように終了できます。チュートリアルファイルを保存する必要はないため、終了する最善の方法は :q! コマンドを使用することです。

    a. Esc を押してノーマルモードであることを確認します。 b. :q! と入力して Enter を押します。

    :q!
    

これでこの実験の実践部分は終了です。これらのステップを完了することで、vi エディタを使用してファイルを作成、編集、保存、ナビゲートするための基本的なスキルを習得しました。

nano エディタの紹介

このステップでは、初心者や素早い編集に最適な、ユーザーフレンドリーなテキストエディタである nano の使用方法を学びます。vi とは異なり、nano は画面下部に便利なショートカットを表示し、モードの切り替えがないため、新規ユーザーにとってより直感的です。

  1. まず、nano を使用して新しいファイルを作成しましょう。~/project ディレクトリのシェルプロンプトから、次のコマンドを入力します:

    nano welcome.txt
    

    nano エディタが空のファイルで開きます。画面下部に利用可能な機能を示す便利なメニューが表示されていることに注目してください。

  2. vi とは異なり、nano ではモードを切り替えることなくすぐにタイピングを開始できます。以下のテキストをコピー&ペーストしてください:

    画面下部にショートカットを表示するnanoエディタのインターフェース

    Welcome to Linux Text Editing!
    
    This file was created using the nano editor.
    Nano is beginner-friendly and intuitive.
    
    Key advantages of nano:
    - No modes to switch between
    - Shortcuts displayed at bottom
    - Easy to learn and use
    - Perfect for quick edits
    
  3. 次にファイルを保存しましょう。nano では「保存」は Write Out と呼ばれます。Ctrl+O を押して Write Out を開始します。ファイル名を尋ねるプロンプトが表示されます。現在の名前 welcome.txt がすでに表示されているので、Enter を押して確定し、ファイルを保存します。

    画面下部にファイルが正常に書き込まれたことを示すメッセージが表示され、書き込まれた行数が表示されます。

  4. nano を終了するには、Ctrl+X を押します。すでにファイルを保存しているため、nano は即座に終了し、シェルプロンプトに戻ります。保存前に Ctrl+X を押すと、nano は変更を保存するかどうかを尋ねてきます。その場合は Y を押し、続いて Enter を押して保存して終了します。

nano と vi/vim の比較:各エディタの使い分け

この最後のステップでは、nanovi/vim の主な違いを学び、それぞれのエディタをいつ使用すべきかを理解します。両方のエディタを使用して比較ファイルを作成し、その違いを実証してみましょう。

  1. まず、nano を使用して比較ファイルを作成します:

    nano editor_comparison.txt
    
  2. nano で以下の内容を入力します:

    TEXT EDITOR COMPARISON: nano vs vi/vim
    
    NANO EDITOR:
    Pros:
    - Beginner-friendly interface
    - No modes to learn
    - Shortcuts displayed on screen
    - Immediate text input
    - Good for quick edits and simple tasks
    
    Cons:
    - Limited advanced features
    - Less efficient for complex editing
    - Not available on all systems
    
  3. ファイルを保存して nano を終了します。

  4. 次に、同じファイルを vi で開き、内容を追加します:

    vi editor_comparison.txt
    
  5. G(大文字のG)を使用してファイルの末尾に移動し、o を押して新しい行を開き、挿入モードに入ります。以下の内容を追加します:

    VI/VIM EDITOR:
    Pros:
    - Extremely powerful and feature-rich
    - Available on virtually all Unix/Linux systems
    - Highly efficient once mastered
    - Excellent for programming and complex editing
    - Extensive customization options
    
    Cons:
    - Steep learning curve
    - Modal interface can be confusing for beginners
    - Requires memorizing many commands
    
  6. Esc を押してノーマルモードに戻り、:wq で保存して終了します。

  7. 完成した比較ファイルを表示してみましょう:

    cat editor_comparison.txt
    

    これにより、両方のエディタで追加された内容を含む完全な比較が表示されます。

各エディタの使い分け:

  • nano を使用すべき場面:

    • Linuxのテキスト編集が初めての場合
    • 素早く簡単な編集を行う場合
    • 設定ファイルを時々編集する場合
    • 直感的でわかりやすいインターフェースを好む場合
  • vi/vim を使用すべき場面:

    • 大規模なプログラミングやテキスト操作を行う場合
    • リモートサーバーで作業する場合(vi は常に利用可能です)
    • マクロ、プラグイン、複雑な検索/置換などの高度な機能が必要な場合
    • コマンドを習得した後の効率と速度が重要な場合

両方のエディタはLinuxユーザーのツールキットにおいて価値のあるツールであり、両方を知っておくことで、さまざまな状況に対応できる柔軟性が得られます。

まとめ

この実験では、Linuxにおける2つの必須テキストエディタである vi/vimnano の使用方法を学びました。

vi/vim では、モーダル編集の基本概念を習得し、ノーマルモードと挿入モードの切り替えを学びました。ファイルの作成、テキストの入力、:w:wq による保存、移動キー(h, j, k, l)によるナビゲーション、/ による検索、dw などのコマンドによる編集、そして :q! を使用した保存なしの終了を練習しました。また、継続的な学習のためにインタラクティブな vimtutor も体験しました。

nano では、より初心者向けのテキスト編集アプローチを体験しました。モードを気にせずにファイルを作成・編集する方法を学び、画面下部に表示されるショートカットを備えた直感的なインターフェースを使用し、ファイルの保存や終了といった基本的な操作を練習しました。

重要なポイント:

  • nano は、直感的なインターフェースと表示されるショートカットにより、初心者や素早い編集に最適です。
  • vi/vim は複雑な編集タスクに対してより強力で効率的ですが、学習コストが必要です。
  • 両方のエディタは価値のあるツールです。シンプルさには nano、パワーと可用性には vim を使い分けましょう。
  • 各エディタの使い分けを理解することで、さまざまなLinuxシナリオにおいてより効果的に作業できるようになります。

これで、特定のニーズに合わせて適切なテキストエディタを選択し、両方のツールでスキルを磨き続けるための基礎が整いました。