ソフトウェア/atomエディタ の履歴(No.6)
更新そろそろ秀丸ともお別れ?†
もうかれこれ20年くらい秀丸エディタにお世話になってきましたが、 atom をさわってみたらかなり良いように思えたので、 乗り換えを考えています。
ここは個人的なメモとして使わせて下さい。
Sublime はキーボードショートカットが Windows と相性悪すぎて使えませんでした。。。
設定画面の出し方†
Ctrl + ,
- Scroll Past End = on
- Show Indent Guide = on
フォント†
Ctrl + , から Settings の Font Familiy で変更
プログラミング用フォントには皆さん一家言あるため、Web上にも情報は多い。
- プログラミングが捗りすぎる!コーディングに最適なフォント12選
- Windowsで無料で使える日本語対応プログラミングフォントまとめ
- プログラミング用フォントの CamingoCode は神
- プログラミング用フォントをまとめてみました
- Font Squirrel - Monospaced Fonts
atom の特徴として、日本語に対応していない欧文専用フォントでも日本語フォントと並べて書けばちゃんと日本語も表示できるので、フォントの選択肢が非常に広いことが挙げられる。
フォント選択の肝としては、単に字形が美しいだけでなく、フォントサイズを小さくしても、aes とか 1il| とか S5 とか O0 とか +* とかが容易に見分けられるかが肝になる。あとは % # & ! * @ , あたりの形状や見やすさも差が大きい。(歳にもかかわらず文字を小さくしすぎなのがそもそもの問題???)
「文字サイズ」は縦方向の大きさで指定するので、フォントによって横幅はまちまちになる。
Inconsolata, M+ が MSゴシック とほぼ同じ幅で、全角と半角が 2:1 になる。 一方、Source Han Code JP は全角と半角が 3:2 になる。他はその間に入る。
当然横幅が大きい方が見やすい表示には有利なのだけれど、 字形の工夫により、大きさだけでは決まらない。
例えば、Inconsolata は文字幅が小さいにもかかわらず文字間も広いため フォントサイズを小さくすると見難い。 あと ( ) { } が見分けづらい。 一方、同じ大きさの M+ は Inconsolata と同じくらい小さいにもかかわらず、もう少し見やい。 今度は字間が詰まりすぎていて見難い気もするので間くらいが良いのかもしれない?
Source Han Code JP は文字幅が広いのでとても見やすい。 多少 aes の見分けが付きにくいのと、+ と * とか近いのと、1 の形が気になるくらい。他はかなり良い。 これならもう一段フォントサイズを小さくしても判別できそうだ(本末転倒)
- Source Code Pro 系
- Source Han Code JP
- CodeM
- Inconsolata 系
- Ricty
- Myrica
らしいので、Source Code Pro, CodeM, Ricty, Myrica を除外して、 いろいろ比べてみた。
Mac のみのフォントもあるけどいかんせん Windows 使いなので・・・
Monaco は a と o の区別つくんかいな。Menlo は良さそうに見える。
フォント幅がMSゴシックと等しいもの†
Inconsolata は文字幅が小さいにもかかわらず文字間も広いため フォントサイズを小さくすると見難い。 あと ( ) { } が見分けづらい。 一方、同じ大きさの M+ は Inconsolata と同じくらい小さいにもかかわらず、ずっと見やい。 ただ今度は字間が詰まりすぎていて見難い気もするか?
Consolas と同じ幅†
Camingo Code はとても見やすい。 ちょっと角張ってるのが個人的には好みに合わないか。 数字が小さいのも嫌かも。
Consolas は 1 と i とが多少似ている。! が目立たない。が、他は問題ない。 Camingo と同様、文字幅は小さいのに頑張っている。
Anonymous Pro は ase の違いが全く分からん。
Cousine と同じ幅†
このサイズにはいろいろある。
四角い感じが気にならなければ Oxygen Mono はかなりいい。= を並べるとくっついちゃうのは = と == と === を見分けにくくてうれしくない。
Fira Mono も異色ながら頑張ってる気がする。
Cousine も非常に良いような?ああ、使ってみると大文字と小文字の区別が付かないや。Ctrl か ctrl かまったく分からん。大文字だけ縦に伸ばしたらとても見やすくなったりしない?
DejaVu Sans Mono, Hack, BITSTREAM VERA SANS MONO は 1 がなあ。それは l では無いのですか?
Hack の % も見づらい。
カンマ , のひげが小さいフォントが多いのはなぜなのか。
BPmono はいろいろ残念。
それより広い物†
Lucida Console は O 0 の区別が付かないが、文字が大きいだけあってかなり見やすい?
Courier New は論外か。
Source Han Code JP は高評判も頷けるだけの見やすさだけれど、 ここまで横幅が広ければ見やすいのも当然か。 これだけ大きいにもかかわらず aes の見分けが付きにくいのはなぜなのか?
結論†
しばらくは Consolas, Fira Mono, Oxygen Mono, Source Code Pro を使い回して様子を見よう。
表示スタイルの変更†
Ctrl + , から Themes で以下を選択
- UI Thema : Atom Dark
- Syntax Thema: Base16 Tomorrow Dark
[File]-[Style Sheet] から styles.less を編集。
LANG:less atom-text-editor::shadow { // 折りたたまれている行を見やすく .fold-marker { background-color: #888; padding: 0px 10px 0px 8px; border-radius: 3px; margin-left: 4px; &:after { content: '...'; font-weight: bold; color: black; } } } // アクティブでないペインを少し明るく atom-pane:not(.active) atom-text-editor { background-color: #282828; }
パッケージ†
- 言語関連
- language-haml
- language-plantuml
- plantuml-viewer
- language-verilog
- 動作
- Sublime-Style-Column-Selection 矩形領域選択のため
- file-icons ファイルタイプ別にアイコンが付く
- minimap コード全体を縮小表示 absolute mode が良い
キーマップ†
LANG:json 'atom-text-editor': 'ctrl-f2': 'bookmarks:toggle-bookmark' 'ctrl-k ctrl-up': 'pane:split-up-and-move-active-item' 'ctrl-k ctrl-down': 'pane:split-down-and-move-active-item' 'ctrl-k ctrl-left': 'pane:split-left-and-move-active-item' 'ctrl-k ctrl-right': 'pane:split-right-and-move-active-item' 'ctrl-k up': 'window:move-active-item-to-pane-above' 'ctrl-k down': 'window:move-active-item-to-pane-below' 'ctrl-k left': 'window:move-active-item-to-pane-on-left' 'ctrl-k right': 'window:move-active-item-to-pane-on-right' 'ctrl-up': 'editor:add-selection-above' 'ctrl-down': 'editor:add-selection-below'
Tree View の右クリックメニュー†
- Add Project Folder
- Remove Project Folder
を使うと便利。1つ上に上がるとか、別のフォルダを指定して開き直すとか、そういうのもあればいいのに。
Ctrl + Alt + [ で折りたたみ†
関数全体を折りたたんだりできて便利。
Ctrl + Click で複数位置にキャレットを置く†
複数キャレットが現れている状態でキー入力すると、一度にあちこちに入力できる。
ctrl+上 / ctrl+下 で、上下方向にキャレットを伸ばすこともできる。
デフォルトではこれらのキーで行の入れ替えになるのだが、 危険以外の何者でもないので置き換えた。
この機能、便利ではあるけれど、気づかずにこれをやっちゃうと危険なので気をつけないと。
キャレットを複数選択した場合に点滅速度がとても早くなるとかすれば、 少しでも気づきやすくなるような???
atom のソースに手を入れて良ければこんな感じで行けそうなのだけれど、 パッケージからではいじれなさそう???
LANG:coffee class TextEditorPresenter getCursorBlinkPeriod: -> if @model.getCursors().length > 1 @cursorBlinkPeriod / 2 else @cursorBlinkPeriod
pane 操作†
- ctrl+k ctrl+arrow
- 矢印方向に分割して現在の内容をそちらへ移す
- ctrl+k arrow
- 矢印方向の pane に現在の内容を移す
- ctrl+k ctrl+w
- 現在の pane を閉じる(複数の文書がスタックされていればすべて閉じる)
- ctrl+w
- 現在の文書を閉じる
- ctrl+k ctrl+n
- 次の pane へフォーカス
- ctrl+k ctrl+p
- 前の pane へフォーカス
- alt+数字
- 番号のタブを開く
気になってること†
- 関数一覧とか、そいういうのを出す機能は?
- キーバインドがかぶっていたりするのを何とかしないと
- 検索・置換えのオプション(単語単位、選択領域など)を選ぶと選択が解除される?
- キーボードショートカットで押せばいい
- Ctrl + Shift + /
- Ctrl + Shift + C
- Ctrl + Shift + S
- Ctrl + Shift + W
- Ctrl + Enter
- キーマクロの記録・再生、みたいな機能は無いのかしら
むー、それだけのために秀丸立ち上げることになりそうな・・・ - ダイアログのボタンはキーボードから Y とか N とかで押したいのだががががが
- ソースコードをバージョン管理していればすぐ気づくので問題ないけど、
- ファイルツリービューのファイル名がオレンジになっていたりする理由は?