Linux初心者がぶち当たる最初の大きな壁は、なんといってもファイルの編集です。いろんなサイトや書籍に「nano」や「vi」といったスクリーンエディタ(端末ウィンドウ内で動くエディタ)で編集しましょう、なんて載っていますよね。でも、試してみると非常に使いにくいと感じるはずです。マウスでクリックしてもカーソルは移動しませんし、Shift+矢印で文字を選択したり、Ctrl-cを押してコピーもできませんからね。多くのOSで共通の操作が、「nano」や「vi」ではできないわけですから、使いにくくて当然です。
思い通りにテキストを編集できないことほどイライラすることはありません。スクリーンエディタのせいで、Linuxをやめてしまった人は少なくないでしょう。
なので、Linuxデスクトップをインストールしたばかりのユーザーは、geditとかLeafpad、Sublime TextといったGUIのエディタで設定ファイルを編集するのがいいと思います。それで何の問題もありません。
でも、将来的にLinuxサーバーを運用する仕事がしたいとか、VPSを借りて自分のサイトを作りたいといった人には、いずれスクリーンエディタで設定ファイルを編集する技術が必要になってきます。
そこでおすすめするのが、「micro」というスクリーンエディタです。以下のような特徴があります。
- Windowsなどと共通のキーボード操作が使える(Ctrl-cでコピー、Ctrl-vで貼り付けなど)
- キーボード操作を自分好みにカスタマイズできる
- GUIアプリのようにマウスでカーソル移動や範囲選択ができる
- ファイルの形式を認識して色分けして分かりやすく表示できる
- デスクトップアプリとクリップボードを連動できる
これなら、スクリーンエディタが初めての人でも簡単に使えそうですよね。
2016年にリリースされたばかりのアプリですが、これからの初心者向けスクリーンエディタはmicroが定番になっていくと思います。
microのインストール
microは2016年にリリースされた新しいアプリなので、まだ各ディストリビューションからパッケージが配布されていません。
(2018年7月12日・snapコマンドによるインストール方法を追記)
Ubuntu 16.04 LTS以降のように「snap」に対応したLinuxなら、次のコマンドでインストールできるようになっています。
sudo snap install micro --classic
それ以外のディストリビューションなら、以下のコマンドを実行するだけで、「~/bin/micro」にインストールできます。
64ビット版Linuxの場合(Bash on Windowsの場合もこれ)
[ ! -e ~/bin ] && mkdir ~/bin && export PATH=$PATH:$HOME/bin
curl -sL https://gist.githubusercontent.com/zyedidia/d4acfcc6acf2d0d75e79004fa5feaf24/raw/a43e603e62205e1074775d756ef98c3fc77f6f8d/install_micro.sh | bash -s linux64 ~/bin
32ビット版Linuxの場合
[ ! -e ~/bin ] && mkdir ~/bin && export PATH=$PATH:$HOME/bin
curl -sL https://gist.githubusercontent.com/zyedidia/d4acfcc6acf2d0d75e79004fa5feaf24/raw/a43e603e62205e1074775d756ef98c3fc77f6f8d/install_micro.sh | bash -s linux32 ~/bin
ARM版Linuxの場合
[ ! -e ~/bin ] && mkdir ~/bin && export PATH=$PATH:$HOME/bin
curl -sL https://gist.githubusercontent.com/zyedidia/d4acfcc6acf2d0d75e79004fa5feaf24/raw/a43e603e62205e1074775d756ef98c3fc77f6f8d/install_micro.sh | bash -s linux-arm ~/bin
WindowsやMac OS X、FreeBSDなどにインストールすることもできます。詳しくはmicroのサイトを参照してください。
基本的な使い方
起動・保存・終了
では、microを実行してみましょう。まずは、ファイル名を指定せずに「micro」とだけ実行してみましょう。
micro
すると、以下のような画面になります。
この状態で、なにか入力してみましょう。もちろん日本語を入力することもできます。
何か入力したら、とりあえずファイルに保存したいですよね。でも、Windowsのメモ帳といったエディタ、あるいはLinuxのgeditなどと違い、画面上部のメニューから保存できないことに戸惑う人がいるかもしれません。でも、Windowsアプリでも一般的な「Ctrl-s(Ctrlを押しながらsキーを押す)」という操作で、ファイルを保存することができます。もしくは「F2」です。画面下部に「Filename:」と表示されます。
ファイル名を入力し、Enterを押して保存してみましょう。ディレクトリ名を入力しなければ、microを実行したディレクトリに保存されます。もちろん、「/tmp/test.txt」のように絶対パスで指定することも可能です。
microの終了は「Ctrl-q」「F4」「F10」のいずれかです。この時に変更が保存されていなければ、保存するかどうかたずねられます。
ファイル名を指定して開く
次は起動時にファイル名を指定してみましょう。以下は、ホームディレクトリに移動して「.bashrc」を開く例です。
cd
micro .bashrc
画面下部に「shell」と表示されているのは、これがシェルスクリプトだと認識されているためです。シェルスクリプトとして読みやすいよう、文字を色分けして分かりやすく表示されます。もちろん、シェルスクリプト以外のファイルの色分け表示にも対応していますね。microは90を超える形式を認識し、色分けして表示(シンタックスハイライト)します。
編集にroot権限が必要なファイルは、sudoを用いて開きます。以下は、/etc/hostsを開く例です。
sudo micro /etc/hosts
コピー&ペースト
文字のコピーやカット、貼り付けの操作は、WindowsやLinuxのデスクトップアプリと同じです。Shiftキーを押しながら矢印キーで範囲を選択し、Ctrl-cでコピー、Ctrl-xでカット、Ctrl-vで貼り付けです。範囲選択はマウスでも可能です。ただし、後述しますが現時点で日本語文字のマウス選択はうまく動作しません。
元に戻す・やり直し
間違った時に元に戻すには「Ctrl-Z」、元に戻したのをやり直すには「Ctrl-y」を押します。これも、一般的なデスクトップアプリの操作と同じですね。
文字列の検索
検索は、「Ctrl+f」です。Webブラウザなどと同じ操作ですね。画面下に「Find:」と表示され、そちらにカーソルが移動します。検索語を入力すると検索され、そのままEnterを押すと、Ctrl-nで次を検索、Ctrl-pで前を検索することができます。画面下に「^P Previous ^N Next」と出るので、迷うことは無いでしょう(「^」は「Ctrlを押しながら」の意味)。
文字列の置換
文字列の置換は、これまでの操作と少し違います。まず、Ctrl-eを押します。すると、画面下部に「> 」が表示され、カーソルがそちらに移動します。そこで、「replace 検索文字列 置換文字列」と打ってEnterを押します。文字列が見つかると「Perform replacement? (y,n,a)」と表示されます。ここで、「y」を押すと置換して次へ、「n」を押すと置換せず次へ、「a」を押すと全て置換、という動作になります。キャンセルはEscもしくはCtrl-cです。
microの標準キーバインド一覧
microの標準キーバインドは以下の通りです。デスクトップ環境や端末ウィンドウのキーバインドとダブっている場合、動作しないことがあります。「~/.config/micro/bindings.json」を作成し、自分が使いやすいよう変更することもできます。
キーバインド | 機能 |
---|---|
Ctrl-O | ファイルを開く |
Ctrl-S | ファイルを保存する |
Ctrl-F | 検索 |
Ctrl-N | 次を検索 |
Ctrl-P | 前を検索 |
Ctrl-Z | 元に戻す(アンドゥ) |
Ctrl-Y | やり直す(リドゥ) |
Ctrl-C | コピー |
Ctrl-X | 切り取り(カット) |
Ctrl-V | 貼り付け |
Ctrl-K | 行を切り取り |
Ctrl-D | 行を複製して挿入 |
Ctrl-A | 全て選択 |
F1 | ヘルプの表示・非表示を切り替え(端末ウィンドウのヘルプに横取りされることが多い) |
F2 | 保存 |
F3 | 検索 |
F4 | 終了 |
F7 | 検索 |
F10 | 終了 |
Ctrl-左 | カーソルを行頭へ移動 |
Ctrl-右 | カーソルを行末へ移動 |
Home | カーソルを行頭へ移動 |
End | カーソルを行末へ移動 |
Alt-a | カーソルを行頭へ移動 |
Alt-e | カーソルを行末へ移動 |
Ctrl-Shift-左 | 行頭まで選択 |
Shift-Home | 行頭まで選択 |
Ctrl-Shift-右 | 行末まで選択 |
Shift-End | 行末まで選択 |
Ctrl-Up | カーソルを先頭行へ移動 |
Ctrl-Down | カーソルを最終行へ移動 |
Ctrl-Home | カーソルを先頭行へ移動 |
Ctrl-End | カーソルを最終行へ移動 |
Ctrl-Shift-上 | 先頭行まで選択 |
Ctrl-Shift-下 | 最終行まで選択 |
Alt-左 | カーソルを左の単語へ移動 |
Alt-右 | カーソルを右の単語へ移動 |
Alt-b | カーソルを左の単語へ移動 |
Alt-f | カーソルを右の単語へ移動 |
Alt-Shift-右 | 右の単語を選択 |
Alt-Shift-左 | 左の単語を選択 |
Alt-上 | 行全体を上へ移動 |
Alt-下 | 行全体を下へ移動 |
PageUp | カーソルを1画面上へ移動 |
PageDown | カーソルを位置画面下へ移動 |
Ctrl-H | 左の文字を削除(バックスペース) |
Alt-Ctrl-H | 左の単語を削除 |
Alt-Backspace | 左の単語を削除 |
Ctrl-T | 新しいタブを開く |
Alt-, | 前のタブ |
Alt-. | 次のタブ |
Ctrl-G | ヘルプの表示・非表示を切り替え |
Ctrl-R | 行番号の表示・非表示を切り替え |
Ctrl-L | 行番号を指定してカーソルを移動 |
Ctrl-B | シェルモード |
Ctrl-Q | 終了 |
Ctrl-E | コマンドモード |
Ctrl-W | 次の分割バッファへ移動 |
Ctrl-U | マクロの記録開始・終了 |
Ctrl-J | マクロの実行 |
デスクトップ環境のクリップボードとの連携
エディタでコピーした文字列を、ブラウザなど別のアプリに貼り付けたいってこと、多いですよね。でも、スクリーンエディタのコピーは通常、エディタ内部に保持されるだけで、デスクトップ環境のクリップボードには入りません。しかしmicroの場合、xclipもしくはxselコマンドがインストールされていれば、コピーやカットした文字列をデスクトップ環境のクリップボードにも入れてくれます。以下のコマンドで追加しておきましょう。
Ubuntu/Debian系の場合
sudo apt -y install xclip
CentOSの場合
sudo yum -y install xclip
Fedoraの場合
sudo dnf -y install xclip
コマンドの出力を読み込んで開く
microの特筆すべき機能として、「他のコマンドの出力を受け取って起動する」というものがあります。以下のように実行します。
ip a | micro
この例だと、「ip a」コマンドの出力がmicroのバッファに読み込まれた状態で起動します。コマンドの出力を元にファイルを作成したい場合に便利でしょう。
microをデフォルトのエディタに設定する
各CLIプログラムが起動する「デフォルトのエディタ」としてmicroを使うには、「~/.bashrc」に以下の行を追記します。
export VISUAL=micro
export LESSEDIT='micro ?lm-startpos %lm,0. %f'
環境変数「VISUAL」を設定することにより、たとえば「crontab -e」や「sudoedit」を実行した時などにmicroが起動します。
環境変数「LESSEDIT」を設定しているのは、lessコマンドでテキストファイルを開いている時に「v」キー押した際、microを起動して表示していた行にジャンプさせるためです。
なお、デスクトップログイン(GUI環境にログイン)とテキストログイン(SSH接続やコンソールからログイン)で、デフォルトのエディタを切り替えることもできます。「~/.bashrc」などのシェルの設定ファイルに、以下のように追記します。
if [[ $DISPLAY ]];then
export VISUAL=gedit
else
export VISUAL=micro
export LESSEDIT='micro ?lm-startpos %lm,0. %f'
fi
これで、デスクトップ使用時は「gedit」が起動し、SSHログイン・コンソールログイン時は「micro」が起動するようになります。もちろん、他のGUIエディタ・コンソールエディタを指定することもできます。
microの弱点
いいことばっかり書いてきましたが、実はmicroには弱点があります。それは、日本語を含む行をマウスでクリックするとカーソルが違う位置に移動してしまうことです。なので日本語を含むテキストをガッツリ編集するという用途には、現時点ではおすすめできません。幸い、Linuxの各種設定ファイルで日本語を打つことは稀なので、そんなに影響はないでしょう。コメントとして日本語を入れる人は、困ることがあるかもしれません。
この問題、私のほうでも原因を調べているところです。修正できたら、続報として記事を更新したいと思います。
更新履歴
2018-09-28 デフォルトのエディタに設定する方法を追記、Ubuntu 18.04 LTSで動作を確認
2018-07-12 snapコマンドによるインストールについて追記、Ubuntu 18.04 LTSで動作を確認
2017-09-14 初出
コメント