Linux初心者の悩みを解消!「micro」を使って簡単ファイル編集

おすすめLinuxアプリ

Linux初心者がぶち当たる最初の大きな壁は、なんといってもファイルの編集です。いろんなサイトや書籍に「nano」や「vi」といったスクリーンエディタ(端末ウィンドウ内で動くエディタ)で編集しましょう、なんて載っていますよね。でも、試してみると非常に使いにくいと感じるはずです。マウスでクリックしてもカーソルは移動しませんし、Shift+矢印で文字を選択したり、Ctrl-cを押してコピーもできませんからね。多くのOSで共通の操作が、「nano」や「vi」ではできないわけですから、使いにくくて当然です。

思い通りにテキストを編集できないことほどイライラすることはありません。スクリーンエディタのせいで、Linuxをやめてしまった人は少なくないでしょう。

なので、Linuxデスクトップをインストールしたばかりのユーザーは、geditとかLeafpadSublime 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 初出

おすすめLinuxアプリ
\シェアお願いします/
LFI

コメント

タイトルとURLをコピーしました