ソフトウェア/atomエディタ のバックアップ(No.4)

更新


公開メモ

そろそろ秀丸ともお別れ?

もうかれこれ20年くらい秀丸エディタにお世話になってきましたが、 atom をさわってみたらかなり良いように思えたので、 乗り換えを考えています。

ここは個人的なメモとして使わせて下さい。

Sublime はキーボードショートカットが Windows と相性悪すぎて使えませんでした。。。

設定画面の出し方

Ctrl + ,

  • Scroll Past End = on
  • Show Indent Guide = on

フォント

Ctrl + , から Settings の Font Familiy で変更

とりあえず、「Consolas, メイリオ」で設定した。

atom では日本語に対応していないフォントでも、日本語フォントと並べて書けばちゃんと日本語も表示できるので、フォントの選択肢が非常に広い。

フォントサイズを小さくしても、aes とか 1il| とか S5 とか O0 とか +* とかが容易に見分けられるかが肝? (歳にもかかわらず文字を小さくしすぎなのがそもそもの・・・)

あとは % # & ! * @ , あたりの形状や見やすさがどうか。

「文字サイズ」は縦方向の大きさで指定するので、フォントによって横幅はまちまちになる。

Inconsolata, M+ が MSゴシック とほぼ同じ幅で、全角と半角が 2:1 になる。

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 は良さそうに見える。

Camingo Code はとても見やすい。 ちょっと角張ってるのが個人的には好みに合わないか。 数字が小さいのもちょっと嫌かも。

Consolas は 1 と i とが多少似ている。! が目立たない。他は問題ない。 Camingo と同様、文字幅は小さいのに頑張っている。

Anonymous Pro は ase の違いが全く分からん。

Cousine は非常に良いような?ああ、C と c などの区別付きにくいことがあるかも。Ctrl か ctrl か分からん。

このサイズには他にもいろいろある。 四角い感じが気にならなければ Oxygen Mono がいい。

Lucida Console は O 0 の区別が付かないが、文字が大きいだけあってかなり見やすい? Courier New は論外か。

しばらくは Consolas, Droid Sans Mono, Oxygen Mono, Source Code Pro を使い回して様子を見よう。

フォント幅がMSゴシックと等しいもの

MSゴシック
ms_gothic.png

Inconsolatazi4
inconsolata.png

M+
mplus_1m.png

Consolas と同じ幅

Consolas
consolas.png

Anonymous Pro
anonymous_pro.png

Camingo Code
camingo_code.png

Cousine と同じ幅

DejaVu Sans Mono
dejavu_sans_mono.png

Hack
hack.png

Droid Sans Mono
droid_sans_mono.png

PT Mono
pt_mono.png

BITSTREAM VERA SANS MONO
bitstream_vera_sans_mono.png

Fira Mono
fira_mono.png

BPmono
BPmono.png

Cousine
cousine.png

Oxygen Mono
oxygen_mono.png

それより広い物

Lucida Console
lucida_console.png

Courier New
courier_new.png

Source Han Code JP
source_han_code_jp.png

表示スタイルの変更

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 のソースに手を入れて良ければこんな感じで行けそうなのだけれど、 パッケージからではいじれなさそう???

https://github.com/atom/atom/blob/c2c3217c9dd5c4fba75fba16165fced81dd90072/src/text-editor-presenter.coffee

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 とかで押したいのだががががが
  • ソースコードをバージョン管理していればすぐ気づくので問題ないけど、
  • ファイルツリービューのファイル名がオレンジになっていたりする理由は?

Counter: 10010 (from 2010/06/03), today: 5, yesterday: 0