テキストエディタAtom

https://www.catch.jp:443/wiki/index.php?atom

FrontPage > テキストエディタ Atom

Githubが提供する、21世紀の、ハックできるテキストエディタ。

markdownでアウトライン表示する方法もあるよ。

導入した理由

  • マルチ環境(Windows、Mac、Linux)
  • オープンソース(MIT License)
  • 充実した機能拡張パッケージ

個人的に気に入っている機能

  • markdown対応
  • markdownのアウトライン表示 (nav-panel document-outline)
  • markdownのプレビュー(標準装備)とスクロール同期(markdown-scroll-sync)

インストール

  • Atom 公式サイト

設定

「ファイル」−「環境設定」でお好みに。

ファイルの自動保存

必ず、自動保存を有効にすること。でないと、エディタを終了させるとき、未保存ファイルが消える。

パッケージの「autosave」で、「Setting」>「Enable」にする。

これで、ウィンドウからフォーカスがはずれたり、タブを切り替えたりした時、自動的にセーブされるようになる。

エディタ終了時に未保存ファイルは保存されない。

参考資料

Packages

いろいろと機能を追加・拡張できる。

日本語関係

アウトライン表示

markdownをアウトライン表示

nav-panel について

本来は、ソースコード中の関数やクラスを一覧表示するパッケージ(たぶん)。

markdownの見出し表示にも対応していて、「#見出し」をアウトライン表示してくれる。

ただし、見出しの階層には対応していなかったので、「.atom > nav-panel > lib > ctags.coffee」を以下のように(無理やり)カスタマイズした。

3レベルまで対応。4レベル以下は、ひとつにまとめて表示。

独自ルールを作る方法もあるみたいだけど、よくわからなかったので、パッケージの中身を直接いじっています。

nav_panel_outline2.png

オリジナル

Markdown: [
   {re: /^#+[ \t]*([^#]+)/, id: '%1', kind: 'Function'}
]

修正版

Markdown: [
  {re: /^####+[ \t]*([^#]+)/, id: '___# %1', kind: 'Contents'}
  {re: /^###[ \t]*([^#]+)/, id: '__#%1', kind: 'Contents'}
  {re: /^##[ \t]*([^#]+)/, id: '_# %1', kind: 'Contents'}
  {re: /^#[ \t]*([^#]+)/, id: '# %1', kind: 'Contents'}
]

Feedback

Pull request してみた。

その他

Theme

ファイルの関連付け

ショートカットメニューから「Open with Atom」で呼び出すには、System-Settingsで「Show in file context menu」と「Show in folder context menu」をオンにしておく。

キーバインド

個人的に使うもの

  • 検索: ctrl + f
  • プロジェクト内の検索: ctrl + shift + f
  • ファイルの保存: ctrl + s
ページ先頭に移動: Ctrl + Home
単語の先頭に移動: Ctrl+<-単語の末尾に移動: Ctrl+->
行頭に移動: Home行末に移動: End
単語の先頭まで選択: Ctrl+Shift+<-単語の末尾まで選択: Ctrl+Shift+->
行頭まで選択: Shift + Home1行選択: ctrl + l行末まで選択: Shift + End
ページ末尾に移動: Ctrl + End
  • 一行削除: Shift + Delete

あとはまあ、標準的なアプリと同じ。viキーバインドとかにもできる。

課題

日本語変換で未確定の文字範囲が判別できない。

Atom と Brackets は優秀だ。未確定文字列と確定文字列がわかりやすく表示される。
しかし、残念ながら未確定状態での文節選択については区別して表示はしてくれない。
文節選択が表示できないのは、DOM の Composition Event の制限だと思われる。
現在のAtomの仕組み上、無理です。Atomの基盤になっているElectronの基盤になっているChromiumでその情報を取得する方法が無いからです。 

  トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
添付ファイル: filenav_panel_outline2.png 834件 [詳細]
Last-modified: 2018-01-04 (木) 00:06:01 (341d)