Linux の設定、スクリプト、ソースコード、ログは、一般にプレーンテキストとして保存されます。端末エディタを使えば、ローカル端末、リモートの SSH セッション、グラフィカルデスクトップのない環境でも、それらのファイルを操作できます。
高度なテキスト操作 · レッスン 2
テキストエディタ
Linux の管理や開発に使う端末テキストエディタを選び、設定する方法を学びます。
環境に適したエディタを選ぶ
すべての人や作業に最適なエディタが 1 つだけあるわけではありません。グラフィカルエディタ、端末エディタ、統合開発環境は、いずれも状況に応じて適切な選択肢になります。コマンドラインで作業する場合は、インストール済みで、安全に終了でき、基本的な編集モデルを理解しているエディタを選んでください。
Vim や Emacs がインストール済みだと決めつけず、現在のシェルでコマンドを解決できるか確認します。
$ command -v vim
/usr/bin/vim
$ command -v emacs
/usr/bin/emacs
結果が空で終了状態が 0 以外なら、その名前は現在のコマンド検索では見つかっていません。最小構成のシステムでは vi だけが提供されることもあれば、Nano が含まれる場合や、対話型エディタがまったくない場合もあります。
現在のシェルが vim という実行可能ファイルを解決できるか確認するコマンドはどれですか?
Vim のモデルを理解する
Vim はモードを持つエディタです。同じキーでも、現在のモードによって意味が変わります。
- ノーマルモードでは、キーを移動や編集のコマンドとして解釈する
- 挿入モードでは、入力したテキストを挿入する
- コマンドラインモードでは、書き込みや終了などのコマンドを受け付ける
練習すれば、このモデルによって繰り返しのキーボード編集を効率よく行えますが、初心者は現在のモードを意識する必要があります。後続のレッスンで、Vim の操作を 1 つずつ紹介します。
Vim がモードを持つとは、どういう意味ですか?
Emacs のモデルを理解する
Emacs は一般に、拡張可能な環境の中でキーの組み合わせと名前付きコマンドを使います。ファイルはバッファーで開かれ、メジャーモードとマイナーモードが内容や作業に応じた動作を設定します。Emacs は端末でもグラフィカルなフレームでも実行できます。
Vim と Emacs はどちらも、設定や拡張によって基本編集をはるかに超える機能を利用できます。カスタマイズを追加する前に、プレーンテキストファイルを開く、変更する、保存する、閉じるという操作から始めてください。
Emacs の用語では、開いたファイルの編集可能なテキストは通常どこに保持されますか?
使用するエディタを設定する
多くのコマンドラインプログラムは、エディタを起動するときに VISUAL または EDITOR を参照します。たとえば、現在の Bash セッションとその子プロセスから起動するコマンドで Vim を選ぶには、次のようにします。
$ export VISUAL=vim
$ export EDITOR="$VISUAL"
これらの変数が表すのは設定上の希望であり、プログラムをインストールするものではありません。実際に存在するコマンドを使い、テストしてから適切なシェル起動ファイルへ export を記述してください。
export EDITOR=vim は何をしますか?
重要なファイルを危険にさらさず練習する
自分が所有するディレクトリに、使い捨てのファイルを作って練習します。
$ printf 'first line\nsecond line\n' > editor-practice.txt
$ vim editor-practice.txt
システム設定やほかのユーザーのデータから始めないでください。重要なファイルを変更する前にはバックアップを作り、保存と終了の方法を理解し、cat や diff などの読み取り専用コマンドで結果を確認します。
慣れていないエディタを最初に練習するファイルとして、最も安全なものはどれですか?
端末でテキストファイルを開き、編集、保存する練習には、次のハンズオンラボを利用してください。
- **Vim と Nano で Linux のテキストファイルを編集する**:vi/vim と nano の両方で、ファイルの作成、テキスト編集、保存、移動を練習します。
レッスン完了
テキストエディタ を完了しました
これで、端末エディタを選び、安全な練習手順を用意できるようになりました。
エディタのコマンドが利用できるか確認する。
Vim のモードを使った操作モデルを認識する。
Emacs のバッファーと拡張可能なモードを認識する。
インストールと混同せず、エディタの設定値を指定する。
重要なファイルを編集する前に、使い捨てのテキストで練習する。