Microsoft Editがすごい
公開日:
カテゴリ: ソフトウェア
先日MicrosoftがEditというコマンドライン用エディタを公開したので使ってみました。シンプルながら、なかなか多機能で使い勝手も良さそうです。
GUIに似たインターフェイス
コマンドラインのテキストエディタですが、画面構成はWindowsのGUIに似ていてメニューバーやステータスバーが存在します。
このメニューバーはGUIアプリ同様にAltキーを押しながら下線のついたアルファベットを押下すると開くことができ、開いたメニューは矢印キーで操作・Enterキーで実行できます。
そしてメニューバー・ダイアログ・範囲選択は、なんとマウスクリックでも操作できます。また、スクロールバーをドラッグしたり、マウスホイールでスクロールしたりすることもできます。
一般的なGUI同様の操作
一般的なコマンドラインのテキストエディタは操作に非常にクセがあり、GUIのエディタとは操作感が大幅に異なります。中でもテキストの選択は非常にクセが強く、vimではvモード+ijkl、nanoではCtrl+^など、普段GUI環境に慣れていない人には戸惑う操作です。
editではGUIアプリ同様に矢印キーでキャレットを移動でき、Shiftキーを押しながらキャレットを移動することで範囲選択します。また、コピー(Ctrl+C)・ペースト(Ctrl+V)・元に戻す(Ctrl+Z)・すべて選択(Ctrl+A)・上書き保存(Ctrl+S)・検索(Ctrl+F)・閉じる(Ctrl+W)などのショートカットも、一般的なGUIアプリと同じショートカットで動作します。
正規表現も特殊なコマンドを入力することなく実行できます。正規表現のエラーはメッセージが表示されない代わりに視覚で判別できます。
標準的な機能を取り揃えたエディタ
単純に文字入力と保存ができるだけのエディタと思いきや、最低限の標準的な機能は一通り揃っていました。
- 別名保存(名前を付けて保存)
- マルチセッション(ドキュメントピッカー)
- クリップボード(カット・コピー・ペースト)
- ヒストリ(元に戻す・やり直し)
- ファイル内検索・置換
- 正規表現対応
- ジャンプ(行番号・列番号を指定した位置へカーソルを移動)
- 画面端折り返し機能
- 各種文字コード対応
- 改行コード指定機能(CRLF/LF)
- 自動インデント機能・インデント方式指定機能(タブ/指定数のスペース)
そして、これだけの機能を取り揃えて約234KBのバイナリサイズです。
ショートカット一覧
テキストエディタとしてのショートカットを中心に、ソースからピックアップしてみました。メニューバーに存在する機能のショートカットの大部分は、メニューを見れば分かるので省略しています。
キー | 機能 | (実装) |
---|---|---|
Ctrl + A | すべて選択 | tui.rs |
Ctrl + X | 切り取り(カット) | tui.rs |
Ctrl + C | コピー | tui.rs |
Ctrl + V | 貼り付け(ペースト) | tui.rs |
Shift + Delete | 切り取り(カット) | tui.rs |
Ctrl + Insert | コピー | tui.rs |
Shift + Insert | 貼り付け(ペースト) | tui.rs |
Ctrl + Z | 元に戻す | tui.rs |
Ctrl + Y | やり直し | tui.rs |
Ctrl + Shift + Z | やり直し | tui.rs |
Enter | 設定に沿って改行(CRLFまたはLF)を挿入 | tui.rs |
Tab | 設定に沿ってタブまたは指定数のスペースを挿入 | tui.rs |
Shift + Tab | 行頭のタブ(タブまたは指定数のスペース)を1つ削除 | tui.rs |
Backspace | キャレットの左1文字削除 | tui.rs |
Ctrl + Backspace | キャレットから単語の先頭まで削除 | tui.rs |
Ctrl + H | キャレットから単語の先頭まで削除 | tui.rs |
Delete | キャレットの右1文字削除 | tui.rs |
Ctrl + Delete | キャレットから単語の末尾まで削除 | tui.rs |
Home | 行の先頭へ移動 | tui.rs |
Ctrl + Home | ファイルの先頭へ移動 | tui.rs |
End | 行の末尾へ移動 | tui.rs |
Ctrl + End | ファイルの末尾へ移動 | tui.rs |
PageUp | 画面の先頭行へ移動/先頭行の場合は前ページへ移動 | tui.rs |
PageDown | 画面の最終行へ移動/最終行の場合は次ページへ移動 | tui.rs |
Ctrl + Up | キャレットを動かさず上へ1行スクロール | tui.rs |
Ctrl + Down | キャレットを動かさず下へ1行スクロール | tui.rs |
Ctrl + Alt + Up | (未実装)上へキャレットを追加(複数行選択) | tui.rs |
Ctrl + Alt + Down | (未実装)下へキャレットを追加(複数行選択) | tui.rs |
Alt + B | (macのみ)キャレットを左へ1文字移動 | tui.rs |
Alt + F | (macのみ)キャレットを右へ1文字移動 | tui.rs |
Alt + Z | 画面端での折り返しの切り替え | tui.rs |
Ctrl + Shift + S | 名前を付けて保存 | main.rs |
F10 | メニューバーにフォーカス(ファイルメニュー) | draw_menubar.rs |
ソースを見ると、複数行選択機能の実装準備が行われています。まだリリースはされていませんがmacOS向けのショートカットも出現していました。
現時点(v1.1.0)ではショートカットは主に以下の3ファイルで実装されています。
カテゴリ: ソフトウェア