競技プログラミングサイト上のコーディングエディタの種類を調べてみた
| 競プロサイト名 | エディタの種類 |
|---|---|
| AtCoder | CodeMirror |
| AOJ (Aizu Online Judge) β | ace |
| CodeChef | ace |
| CodeForces | ace |
| CodinGame | Monaco Editor |
| CSAcademy | ace |
| GeeksForGeeks | ace |
| GCJ (Google CodeJam) | ace |
| HackerEarth | Monaco Editor |
| HackerRank | Monaco Editor |
| paiza | ace |
| SPOJ | ace |
| yukicoder | ace |
| ※Monaco EditorはキーボードショートカットAlt-F1を押して表示されるメッセージでMonaco Editorだろうと判定しました |
| エディタ | リポジトリ |
|---|---|
| ace | https://github.com/ajaxorg/ace |
| CodeMirror | https://github.com/codemirror/CodeMirror |
| Monaco Editor | https://github.com/Microsoft/monaco-editor |
- それぞれのエディタには様々な便利なキーボードショートカットが用意されているので使いこなせるといいかもしれません(例えば、行削除や行コピーや検索や置換)
- aceのキーボードショートカットCtrl-,でエディタの振る舞いを変えられるメニューが表示されます(※GCJでは表示されませんでした)
- 競プロで使う人もいるオンラインコンパイラでは、IDEONEはace、WandboxはCodeMirror、paiza.IOはaceでした
リンク
aceのキーボードショートカット
- wiki https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts (最新ではなさそうです)
- デフォルトのコマンド https://github.com/ajaxorg/ace/blob/master/lib/ace/commands/default_commands.js
- 各種キーバインド(emacs,sublime,vim,vscode) https://github.com/ajaxorg/ace/tree/master/lib/ace/keyboard
CodeMirrorのキーボードショートカット
- デフォルトのコマンド https://github.com/codemirror/CodeMirror/blob/master/src/input/keymap.js
- 各種キーバインド(emacs,sublime,vim) https://github.com/codemirror/CodeMirror/tree/master/keymap
余談
- OSSリポジトリホスティングサービスのGitHubやBitbucketのブラウザ上のファイル編集はCodeMirror、GitLabはMonaco Editorのようです (GistもGitHubと同様にCodeMirror)
- このようなウェブページに組み込めるエディタのウィジェットの一覧がWikipediaにあります https://en.wikipedia.org/wiki/Comparison_of_JavaScript-based_source_code_editors
aceではキーボードショートカットCtrl-,で表示されるメニューは下記のようになります

(※これらはIDEONEでのキャプチャーですが他のaceを使える競プロサイトでも同様にできます)

