計算機基礎 - 第11回: UNIX を使ってみよう (4) - エディタ
Table of Contents
1. エディタ (editor) とは
コンピュータ上でテキストやデータの作成・編集を行うソフトウェアを「エディタ」といいます。 Windows の「メモ帳」や Mac の「メモ」もエディタの一種です。
本格的なエディタには以下のようなものがあります。
- Visual Studio Code (VS Code)
- 現在世界シェアNo.1。拡張機能 (プラグイン) が豊富で,自分好みにカスタマイズ可能。動作が比較的軽く,初心者からプロまで使われている。
- サクラエディタ
- Windows 専用の老舗無料エディタ。日本語の扱い (文字コード変更など) に強く,ビジネスの現場や文章執筆で長年使われている。
- Vim
- Linux などのサーバー環境に標準搭載されていることが多く,ターミナル上で動作する。独特なキー操作の習得が必要。
- Emacs
- Vim と並ぶ高機能エディタ。カスタマイズ性が極めて高く,エディタ内でメール送受信やゲームまでできると言われるほどの拡張性を持っている。もっとも修得が難しいエディタのひとつ。
いろいろなエディタがありますが,
2. nano の基本的な操作
今回は nano というエディタを使ってみます。
nano は Vim や Emacs のような複雑さがなく,「最もハードルが低い CUI エディタ」として広く使われています。
主な特徴は以下の通りです。
- 直感的で「モード」がない
- 画面下部に常にガイド (メニュー) がある
- 最初から多くの環境に入っている
n - シンプルながら最低限の機能は網羅
1. 起動と終了
ターミナルから nano と入力すると起動します。
特定のファイルを開く (編集する) にはファイル名を指定して起動します。
$ nano ファイル名.txt
終了するには Ctrl-x (コントロールキーを押しながら x) を入力します。
2. 保存 (書き込み)
編集したファイルを上書き保存するには,
Ctrl-O を押したあと Enter を押して確定します。
3. 編集の基本 (文字入力・移動)
- 文字入力
キーボードでそのままタイピングするだけです。 - カーソル移動
矢印キー (← → ↑ ↓) を使います。 - 1行削除 (切り取り)
Ctrl-K(カーソルがある行を丸ごと消去,またはクリップボードに格納) - 貼り付け (ペースト)
Ctrl-U(直前に切り取った行を貼り付け)
4. 検索と置換
- キーワードを検索する
Ctrl-Wを押し、探したい文字を入力してEnterを押します。- 次の候補に進むには,もう一度
Ctrl-Wを押してそのままEnterを押します。
- キーワードを置換 (置き換え) する
Ctrl-\を押し、置き換えたい文字を入力してEnterを押します。- 次に,新しく変更したい文字を入力して
Enterを押します。
5. 便利な技
- 行番号の表示
Alt-N(Macの場合はOption-N) を押すたびに,行番号の表示/非表示が切り替わります。
他にも,設定次第でソースコードに色を付ける (シンタックスハイライト) といったことができるようになります。インターネット上に情報がありますので,興味がある人は調べてみましょう。
3. 練習問題 (基本編)
practice ディレクトリの中で,以下の操作を試してみましょう。
- practive ディレクトリを作成し,そこに移動する。
- nano practice.txt と入力して起動する。
- 「Hello Linux」と入力する。
Ctrl-OとEnterで保存する。Ctrl-Xで nano を終了する。- ターミナルに戻ったら cat practice.txt を実行し,正しく保存できているか確認する。
4. 練習問題 (応用編)
問題1:テンプレートのコピーと行番号の表示
- /etc/passwd というシステムファイルの先頭から20行だけを,
~/practice/passwd.txt という名前でコピー (保存) してください。
(※これは nano 以外のコマンドを使って構いません) - nano を使って行番号を表示させた状態で passwd.txt を開いてください。
問題2:高度な検索・置換と行ジャンプ
- 開いた passwd.txt の中から15行目へ一瞬でジャンプしてください。
- ファイル内にあるすべての nologin という文字列を,一括で X_NOLOGIN に置換 (置き換え) してください。
問題3:行の入れ替えと一括削除
- ファイルの5行目にある行を丸ごと切り取り (カット),ファイルの一番最後の行に貼り付け (ペースト) て順番を入れ替えてください。
- その後,ファイルの1行目から3行目までをまとめて一括削除してください。
問題4:ファイルの挿入と強制終了への備え
- 一度現在の編集内容を上書き保存してください。
- 保存した状態のまま,ファイルの最下行に移動し,nano の中から操作して /etc/services の中身をそのままファイル内に読み込んで挿入してください。
- 最後に,もし編集途中にターミナルが突然閉じてしまった場合, nano が作成する救済用のバックアップファイルの名前 (拡張子) が何になるか答えてください。