Skip to content

Instantly share code, notes, and snippets.

@yamarten
Last active September 20, 2019 01:44
Show Gist options
  • Save yamarten/613cb8d860f947b5d270 to your computer and use it in GitHub Desktop.
Save yamarten/613cb8d860f947b5d270 to your computer and use it in GitHub Desktop.
Atomの各種機能

逆引きAtom

逆引きAtom

新世代のemacsを目指して作られた[1]エディタAtom。「emacsは環境」という言葉もあるように多機能なemacsに対し、Atomはどんな機能があるのかまとめてみた。「こんなこともできるよ」と「これオススメだよ」と「これよく探されるよ」がごっちゃになってるので、実用性はあんまり無い。特にエディタっぽい機能を求めている場合は他を参照のこと。

同じような機能を提供するものについては代表的なものや検索ワードのみ示している場合がある。また、自分で使ってみたわけではないので、記載したプラグインについて動作は保証しない。古い(2,3か月くらい更新されていない)ものだと動かないことも割とよくある。

目的一覧

以下のブックマークレット[2]による目次表示を推奨

javascript:(function(){/*%20style%20*/var%20style%20=%20(function%20()%20{/*.toc{border:%201px%20solid%20#aaa;padding:%204px%2012px;margin-bottom:%2012px;position:%20relative;padding-top:%2030px;}.toc-title{display:%20inline-block;width:%20auto;background-color:%20#ccc;position:%20absolute;left:%200px;top:%200px;font-size:%208pt;padding:%202px%204px;padding-right:%208px;color:%20#666;}.toc-h{font-size:%2011pt;}.toc-h1{}.toc-h2{margin-left:%2020px;}.toc-h3{margin-left:%2040px;}*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];$('.toc-style').remove();$('body').append($('<style%20class="toc-style">\n'%20+%20style%20+%20'\n</style>'));/*%20toc%20frame%20*/$('.toc').remove();var%20$toc%20=%20$('<div%20class="toc"><div%20class="toc-title">TOC</div></div>');/*%20each%20links%20*/$('.markdown-body%20h1,%20.markdown-body%20h2,%20.markdown-body%20h3').each(function(){/*%20level%20*/var%20tagName%20=%20$(this).prop('tagName').toLowerCase();/*%20link%20div%20*/var%20$div%20=%20$('<div%20class="toc-h%20toc-'%20+%20tagName%20+%20'"></div>');/*%20link%20*/var%20$a%20=%20$('<a%20href=""></a>');$a.appendTo($div);$a.text($(this).text());$a.attr('href',%20$(this).find('a:first').attr('href'));/*%20append%20*/$toc.append($div);});$toc.prependTo($('.markdown-body'));})();

ブラウザとして使いたい

ブラウザベースだけあって該当プラグインが多い。とりあえずbrowser-plusを使っておけば安泰。youtube再生もできるし、HTMLファイルのプレビューにも使える。

メールしたい

atom-emailというパッケージはあるものの未だベータ。機能も限られている。残念。

Twitterしたい

チャットしたい

無駄に豊富。Slackのような既存サービスを用いるものもあるし、IRCとかもできる。

通話したい

floobitsを使うとビデオ通話ができる。

ゲームしたい

2048スネークゲームテトリスくらいしかなかった。

asteroidsもなんかゲームっぽくはある。

絵を描きたい

draw-on-imageというペイントソフトっぽいパッケージがある。

draw-packageでAAを作ることもできる。

Excelっぽく使いたい

アウトラインエディタとして使いたい

情報を整理したい

日記をつけたい

タスク管理したい

taskstasks-calendarでタスクリスト的なことができる。プロジェクトに関わることであればTODOコメントを使うプラグインはたくさんある

音楽聴きたい

spotifyには対応しているものの、(radikoのような)ラジオが聞けるプラグインはなさげ。

動画観たい

video-playerを使えば動画ファイル再生できる。バックグラウンドで流すことも可能。

youtubeが見れるパッケージもある。ブラウザパッケージでもいいけど。

計算したい

コード片を実行したり数式を計算したりするプラグインはたくさんあるし、Atom上で電卓叩きたいならcalculatorとか使えばいい。

シェルコマンド叩きたい

Atomをターミナルとして使うプラグインはterm3をはじめ複数ある。単発で打ちたいならrun-commandあたり。

自動で動かしたいなら以下のあたりを状況に応じて使い分ける。

文書を書きたい

各種マークアップ言語のスニペット/ハイライト/プレビュープラグインは揃ってるが、それ以外の便利プラグインが充実してるのはmarkdownくらいしかない。

言語問わず手伝ってくれるプラグインもあまりなく、redpentextlintで校正ができる程度。

文書を読みたい

pdfが読みたいならpdf-viewが利用できる。生テキストならtranslatorで翻訳したりdicttranslator-plus-dictionaryで単語調べたりhyperlink-hyperclickでリンク開けるようにしたり。

どちらにせよAtomでは辛いように思えるが。

スライドを作りたい

作りたいね。

印刷したい

atom-printerを使えばエディタの中身は印刷できる。プレビュー画面や設定画面などは印刷できない。print-atomはウインドウを印刷するので何でもありだが、Atomの構造上タブバーやステータスバーも一緒に印刷してしまうので実用に堪えない。

Atomを使いたくない

do-not-use-atomがAtomを殺してくれるし、disturb-meが邪魔してくれるので、Atomを使いたくない人でも安心してAtomに乗り換えられる。

また、実用的なものとして、定期的に休憩を強制するbreak-timeもある。

自動で保存したい

ビルトインパッケージのautosaveを設定からEnabledにすれば、自動保存してくれる。別名ファイルに保存したい場合はbackupperが利用できる。

未保存ファイルの保持(sublimeのHot Exit相当)は長年save-sessionが担当してきたが、v1.4からはめでたく標準機能になった。

自動でアップデートしたい

atom-auto-update-packagesを使えば自動でパッケージを更新してくれる。ただしOSX専用。

残念ながら本体の自動アップデートを行うパッケージは無い。とはいえup2dateを少しいじる程度で作れそうな気がするが。

設定を共有したい

sync-settingでパッケージやスニペットを共有、同期できる。もっと複雑なことしたいなら.atomを直接管理すればいい。

リモートのファイルを扱いたい

remote-editならftpとsftpが、remote-ftpなら加えてftpsが使える。個人的には多段sshにも対応してほしいが、nodeが対応してないので厳しいか。

遠隔操作したい

キーボード・マウス以外で入力したい

git使いたい

git-plusを使えば大体のgitコマンドは利用できる。GUIが欲しければgit-controlatomatigit

merge-conflictsを入れるとマージが楽になるかもしれない。

ファイルをアップロードしたい

gistが使える。evernoteはever-notedownがあるものの、個人的にはイマイチ。

cloud-syncpkgcloud依存なのでAzureとかAmazonとかに対応してる。

日本語を扱いやすくしたい

なお、v1.2から公式がCJK softwrapに対応したため、wrap-styleのようなラップ挙動を上書きするパッケージを使うと却って拙いことになる。

プログラムを実行したい

scriptがだいたいなんとかしてくれる。なぜかLaTeXやMakefileまでサポートしてる。

それがダメな場合、atom-runnerでだいたいなんとかなる。もちろん各言語が独自にサポートしている可能性もある。

痛くしたい

atom-pronama-chanを使えばお手軽に痛エディタが完成。editor-backgroundtree-view-backgroundでお好みの背景画像設定してもいい。

atom-mikuという謎パッケージもある。

小さな自作機能を追加したい

エディタ部分を広くとりたい

autohide-tree-viewtoggle-tabsで余計な部分を隠してしまうといい。minimapを使っている場合はminimap-hideが同様に使える。zen系パッケージでもだいたい同様の効果が得られると思われる。

compactあたりでテーマ検索するとタブなどが小さめにデザインされたものがある。

タブを自在に操りたい

  • tabasco

    • ドラッグ&ドロップでタブ位置が変更できる

  • expose

    • タブが一覧できる

複数テーマを使い分けたい

UIとsyntax合わせるのが面倒

syntax(UI)に合わせて変化するテーマはadaptiveで検索するといくつか出てくる。syntaxテーマに関してはviriatoatom-monokaiくらいか。

愉快にしたい

theme-rouletteでテーマをランダムに組み替えたり、activate-power-modesoundでリアクションを大きくしたりすると愉快になる。たまに鬱陶しい。

全く使い物にならなくなってもいいならぴょんぴょんさせることも可能。

多くのシンタックスハイライトに対応したい

他アプリケーションからAtomを使いたい

最新のパッケージやテーマが知りたい

和訳ドキュメントが見たい

途中までならある。個人的にも余裕があればpo4aとか使って翻訳したい。

重い

諦めましょう。進化はしてるし個人的にはv1.2あたりから満足してる。

エディタは軽さが命とか大きいファイルを頻繁に扱うとかなら素直にsublime買うのがオススメ。

参考ページ

そのうち

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment