普通すぎるエディタ「micro」
go言語(termbox-goではなくtcell)で実装されたmicroというターミナルベースのテキストエディタの version1.0 がリリースされたようで、試しにちょっとだけつかってみたのですが、なかなか使い心地がよいです。
というわけで(個人的に)使い心地が(いい意味で逆に)普通すぎるエディタ「micro」の紹介になります。
microの特徴
microはターミナルベースのエディタであるものの、マウス操作がサポートされていたり、GUIアプリケーション風のキーバインドが設定されていたりと、いたって普通なGUIのテキストエディタを使っているかのように直感的な使い心地を実現しているのが最大の特徴だと思います。
- いけてる特徴
- 残念なところ
- 日本語表示は問題なさそうだが、日本語入力すると挙動がおかしくなる
- 使うターミナルによってちょっと動きがおかしいことが多々ある
多少残念なところもあるけど、 Nightly build があったりするようで、今後の改善に期待が持てそうです。
ダウンロード
- とりあえず使ってみるだけなら、ここのリリースページからダウンロード(macOSなら micro-1.0.1-osx.tar.gz )。
- ダウンロードしたら
~/Downloads/micro-1.0.1/micro
にコマンドがあるはずなので、そのようにターミナル上で叩くとmicroエディタが起動する(macOSの場合)。 ~/Downloads/micro-1.0.1/micro /path/to/file.txt
のようにコマンドに続けてファイルパスを指定すればそのファイルが開かれる。
使い方
メモレベルだけど具体的な使い方は以下の通り。
基本操作
- 矢印キーもしくはマウスクリックでキャレット移動
- Shit+矢印キー もしくはマウスドラッグで領域選択
- マウスホイールで表示領域の移動(キャレットはそのまま)
- Vimの入力モードのようなものはなく、キーボード操作でそのままテキストが入力される
esc
で何かしらの入力待ち状態をキャンセル- 終了したいときは
Ctrl-q
。編集内容を保存しなくて良ければ続けてy
を入力で終了。
※マウスを使った操作を行う際は「マウスレポーティングを許可」する(macOSのターミナルの場合)
コピペ
- 下記のいずれかで領域を選択
- Shif+矢印キー
Ctrl-a
- マウスでテキストをドラッグ
Ctrl-c
でコピー (Ctrl-x
で切り取り)Ctrl-v
で貼り付け
ヒストリー
Ctrl-z
で戻すCtrl-y
でやり直し
検索
Ctrl-f
でFinding:
と聞かれるので、検索したい文字を入力してEnter(正規表現も使える)Ctrl-n
で次にマッチする箇所に移動Ctrl-p
で前にマッチする箇所に移動esc
で検索を抜ける
置換
Ctrl-e
でコマンド入力欄表示replace {{検索文字列}} {{置換文字列}}
とうつ
例: replace "A" "B"
コマンド実行
Ctrl-e
でコマンド入力欄表示run {{コマンド}}
とうつ
例: run ls
テーマの変更
Ctrl-e
でコマンド入力欄表示set colorscheme {{テーマ名}}
例: set colorscheme monokai
使えるテーマは今のところ下記がある
default simple solarized solarized-tc atom-dark-tc monokai gruvbox zenburn bubblegum
画面分割
Ctrl-e
でコマンド入力欄表示vsplit
orhsplit
を入力してEnter
(既存ファイルを開くときはvsplit file.txt
といった感じ)- アクティブのパネルを切り替えるのは
Ctrl-w
もしくはアクティブにしたい領域をクリック Ctrl-q
でアクティブ状態の分割パネルを閉じる- 編集済みのタブを閉じる際は、
y
で編集内容破棄、n
でキャンセル、s
で保存(ファイル名入力)
※タブと組み合わせると、挙動がおかしくなる?
タブ
Ctrl-t
で新規タブ作成&新しいタブを表示 (画面上部にタブができる)Ctrl-¥
で次のタブに移動Ctrl-]
で前のタブに移動- 上部タブをクリックでもタブ移動可能
Ctrl-q
でタブを閉じる- 編集済みのタブを閉じる際は、
y
で編集内容破棄、n
でキャンセル、s
で保存(ファイル名入力)
※画面分割と組み合わせると、挙動がおかしくなる?
ファイルオープン
Ctrl-o
押下- 編集中データがあれば
y
で編集内容破棄、n
でキャンセル、s
で保存(ファイル名入力) File to open:
と聞かれるのでファイル名を入力(絶対パスや相対パスを入力。入力中にTab押下で入力補完が効く)
ファイル保存
行番号
Ctrl-r
で行番号表示、非表示切り替え
行番号に移動
Ctrl-l
の後に行番号入力で、その行に移動
タブサイズ変更
Ctrl-e
でコマンド入力欄表示set tabsize 4
※4は例
※ファイルの拡張子ごとに設定することも可能らしい
ソフトタブ
※tabキー押下で、半角スペースを入力する設定
Ctrl-e
でコマンド入力欄表示set tabstospaces on
で有効化set tabstospaces off
で無効化
タブの可視化
Ctrl-e
でコマンド入力欄表示- 例:
set indentchar >
※設定を解除する方法がわからないが、 ~/.config/micro/setting.json
を編集して indentchar
に " "
を設定すると良さそう。
その他オプション変更
Ctrl-e
でコマンド入力欄表示set {{オプション名}} {{設定値}}
~/.config/micro/setting.json
に設定が書き出される- ファイルの拡張子ごとに設定することも可能らしい
詳しくは下記 https://github.com/zyedidia/micro/blob/master/runtime/help/options.md
その他キーバインディング
下記に詳しく書いていある https://github.com/zyedidia/micro/blob/master/runtime/help/keybindings.md
さいごに
以上のように、普通のGUIのテキストエディタのように使えるので、学習コストが低いエディタだと思います。 機会があれば使ってみてはいかがでしょうか。