プログラミングを始めよう!

プログラミングを学習するに当たって知っておいたほうがいいことや便利なモノを紹介していきます

学習準備② 違いをわかりやすく徹底比較!初心者にオススメのテキストエディタとは!(2021年5月最新版)

f:id:hajimete-ouen:20210513233734j:plain

パソコンとネット環境が揃ったら、後はテキストエディタがあればとりあえずプログラミングの勉強が始められます。

 

標準テキストエディタとして、Windowsだと「メモ帳」、Unix/Linuxだと「Vi」、Macだと「テキストエディット」が標準でインストールされています。

しかし、これらの標準テキストエディタは「機能が少ない」「初心者には使いにくい」という共通点があるので、今回はより多機能で使いやすいものを紹介します。

 1.テキストエディタを選ぶ際のポイント

初心者が最初に選ぶ際の個人的なポイントは以下の3つです。

・フリーエディタ(あえて有料のものを選ぶ理由が最初はない)

・なるべく使用人口の多いもの(分からない時に調べて解決しやすい)

クロスプラットフォーム(OSが変わっても同じエディタで作業ができ、違うOSへの以降が楽)

ではこの3つのポイントを元に候補となるエディタを紹介していきいます。

 

 2.各テキストエディタの特徴

WindowsMacLinuxで使えるフリーエディタクロスプラットフォーム

Sublime Text

プログラマーやエンジニアに非常に人気の軽量かつ高機能な海外製エディタです。

後で紹介するAtomと同じ「Electron」というフレームワークがベースとなっています。

ショートカット機能や検索機能の評価が非常に高く、またショートカットやメニューもカスタマイズも自由にカスタマイズできます。

初期機能は少なめですがプラグインで拡張が可能です。初心者にとっては初期機能が少ないことがコードを書くことに集中できて逆にメリットになる可能性もあります。(スキルが上がってきてやりたいことが増えたらプラグインで拡張するイメージ)ただし、各種の設定自体は少し複雑かもしれません。

起動がとにかく早いです。

フォルダを開きたい場合は毎回フォルダをドラッグ&ドロップする必要があり少し面倒です。

日本語化もできますが、基本的には英語表記になり、日本語化自体も少し難しめです。

基本的には「無料版をまず使って、継続使用するなら有料版を使いましょう。」というものですが、有料版の案内を無視し続ければ無料でずっと使えてしまうみたいです。

無料版をずっと使う場合、定期的に購入依頼ダイアログが表示されるというのが作業効率的にあまりいいものではなさそうです。

www.sublimetext.com

 

・Visual Strudio Code

圧倒的なシェア率を誇るMicrosoft製のフリーエディタ。無料なのにSublimeなどと同じように拡張機能も利用でき、ユーザインタフェースも使いやすいです。動作も早く比較的軽く、初期設定もかなり簡単です。

Emmet(HTMLやCSSのコード入力を補完してくれるプラグイン)などの最初から搭載されている機能も充実しており、Sublimeほどプラグインでの拡張も必要ないみたいです。また、プラグインそのものも設定不要でそのまま使えるものが多いようです。

そしてVSCode認知度が高くネットに多くの情報が載っているため、検索すればいくらでも解決策が出てきます。

カスタマイズ性は他のエディタと比較すると高いとは言えないようです。

code.visualstudio.com

 

Atom

GitHub」が開発したVisual Strudio Code同様オープンソーステキストエディタで、自動でカッコを閉じてくれたりCSS要素を教えてくれたりするほか、Gitと連携できるなど開発補助機能が充実しています。

VSCodeと同じ「Electron」というフレームワークを使用しているため、使用感はかなり似ているようです。比較すると、VSCodeはデフォルトで使いやすく、Atomは拡張性と自由度の高さが利点と言えるみたいですね。

かなり使いやすくカスタマイズ性も非常に高いのですが、日本語対応にするには手動で設定をする必要があるほか、動作は他のエディタと比較するとやや重めで、パソコンのスペックもある程度高いものにする必要がありそうです。

atom.io

 

Vim

Vimは、LinuxなどのUNIX系OSで広く利用されている、どちらかというと中上級者向けの高機能なオープンソーステキストエディタです。

MacLinuxの場合デフォルトで入っているため、追加のインストール作業は基本的に不要になります。

Viというエディタが元となっているのですが、Viは新旧問わずLinuxマシンのほぼ全てにプリインストールされており、サーバマシンはほぼ全てがLinuxマシンで動作しています。つまり、Vimのキー操作を覚えておくことで、サーバマシンで作業することになった場合にはLinuxのViも最低限動かすことが可能である、という利点があります。

メニューバーや右クリック、マウスなどの操作ができませんが、タイピングと文字表示にタイムラグがなく、すべての操作がコマンドライン(キーボード)だけで完結できるので慣れると高速に作業ができます

操作にはある程度コマンドを覚えておく必要があり、少し取り掛かりにくいですが、特に繰り返し系の処理はVimを使ったほうが圧倒的に早いと言われています。

コマンドラインインターフェース(CLI)を用いた使用も、グラフィカルユーザーインターフェースGUI)のスタンドアロンアプリケーションとしての使用もできる設計となっています。(例えば削除したいテキストの範囲を列や行で指定するのがCLI、マウスで範囲指定を行うような処理が行えるのがGUI

また、便利な検索・置換機能やテキストエディタの機能を拡張する豊富なプラグインの数々も利用できます。

www.vim.org

 

EmacsGNU Emacs

1975年に開発された元祖オープンソースソフトウェアです。

個人的にはVimと少し似た印象を受けますが、Vimよりさらに高度で難しくテキストエディタというよりはサンドボックスやOSに近いイメージになります。

Emacs Lisp」という生産性の非常に高い言語が設定ファイルで採用されており、「Emacs Lisp」を用いることで動作の調整や新しい機能の作成などが可能で、Vimよりさらにポテンシャルも自由度も高いです。

Vimと比較すると使用人口も少なく、分からない部分などを調べて解決するのが難しいかもしれません。

Emacsには多くの派生(Emacs系エディタ)がありますが、その中で現在最もポピュラーなのはGNU Emacsです。

www.gnu.org

 

Brackets

Web開発者専用に設計されたAdobe社製のオープンソースの無料エディタです。

初期設定で日本語に対応しています。

作成したページのライブプレビューが可能で、フロントエンド開発者による変更確認が簡単にできます。

少し説明が難しいのですが、編集をかなり簡易にしてくれるクイック編集機能の評価も高いです。

画像のソースコードをホバー(画像やリンクにマウスカーソルを合わせたときに、クリックしなくてもアニメーションが始まったりするような変化が起こる表現のこと)すると画像のサムネイルを表示してくれる、といった機能もかなり便利です。

※2021 年 9 月 1 日、AdobeBrackets のサポートを終了します。

brackets.io

 

Eclipse

IBM社が開発したオープンソース統合開発環境(IDE)です。

主にJavaによる開発環境として開発され、Eclipse自身もJavaで記述されているため、特にJavaの開発に優れた環境として知られています。

IDEは基本的にテキストエディタのすごい版(テキストエディタのほうが軽く動作も早いができることが少ない)ですが、最近はその境目がなくなってきているようです。

言語別のハイライト表示やコード補完はもちろんのこと、プラグインと呼ばれる拡張機能を追加することにより、多彩な機能を追加することができます。

厳密に言うとテキストエディタではないため、他のエディタに比べると起動が遅く、開発以外には利用しづらい、といったデメリットがあります。

www.eclipse.org

 

Windows専用のテキストエディタ

サクラエディタ

多機能で拡張プラグインも導入できるオープンソースの日本製フリーエディタです。

多くの言語に対応したハイライト表示や、複数のファイルから文字列を検索できるgrep機能、ファイル比較、よく使う機能を特定のキーに割り当てるカスタマイズなど豊富な機能を備えています。

言語設定は14種類とやや少なく、CSSJavaScriptPHPなどの言語には対応していません。

国産のエディタの中でも圧倒的な人気を誇りますが、最近主流のエディタと比較するとやや機能は劣ると言えるみたいです。

sakura-editor.github.io

 

TeraPad(テラパッド)

最小限の機能に絞った、軽量な動作が特徴的なシンプルで使いやすい国産テキストエディタです。

Windowsに標準搭載しているメモ帳アプリに似た構成でより高性能になっています。

複雑な設定をせずとも使えますし、多彩な機能を備えているので初心者から上級者まで幅広く使われています。

他のテキストエディタに比べると機能面が少ないため、経験豊富な開発者にとっては物足りなく感じることもあるかもしれません。

ソフトウェアの更新は2012年リリースのV1.09で止まっています。

tera-net.com

 

・Notepad++

 「Notepad++」は海外発のテキストエディタで、Windowsにデフォルトで備わっている「メモ帳」の代替としてよく使用され、操作方法は「メモ帳」と似ているので初心者でも使いやすいです。

多彩な機能を備え、プラグインで機能を拡張することもできます。

通常のテキストエディタと比べ、メモリ消費を抑えるよう設計されており、動作は非常に軽量です。

UIはとてもシンプルです。通常のメモ帳より機能は充実していますが、UIの面でいうと、少し使いづらさはあるかもしれません。カスタマイズ性は高いので、カスタマイズ次第では自分が使いやすいUIにすることができます。

Windows10環境は対応してないですが動作可能です。

notepad-plus-plus.org

 

Mery

「メモ帳よりもちょっといいものを」というコンセプトで作られた、初心者でも使いやすい国産のテキストエディタです。

JavaやHTMLなどの言語に対応したハイライト表示や正規表現への対応、入力補完機能といった機能も備えつつ、一部の人しか使わないような機能を排除することで初心者に使いやすいエディタに仕上がっています。

どちらかというとプログラミングメインよりは文章入力メインでの使用におすすめのものになります。

www.haijin-boys.com

 

 ③Mac専用のテキストエディタ

・mi(ミ)

Mac用に開発された国産のフリーテキストエディタです。

Macテキストエディタといえば「mi」、と言っても過言ではないぐらい定番になっています。

インターフェイスがシンプルで使いやすく、タブ化、ビュー縦・横分割表示、行折り返し方式の選択、表示フォント・サイズ・タブ幅の設定などができるので、表示が見やすいです。

キーワードの色分けや関数の補完機能、自動インデントなど表示機能が充実しているほか、小文字→大文字などの文字変換機能や複数ファイルの検索・置換など、便利な機能が揃っています。

多機能なぶん他のエディタに慣れていると若干動作が重いと感じるかもしれません。

Windows用の「mi α版」も公開されています。 

www.mimikaki.net

 

・CotEditor

「mi」と双璧をなすMac用の定番国産テキストエディタです。

立ち上がりがとても早く動作が軽快で、インターフェイスがシンプルで使いやすいです。

シンタックスハイライト、アウトラインメニュー、ポップオーバーで文字情報表示、スクリプトなどの機能を備えています。

miと比較すると、miがより多機能で、CotEditorはより動作が軽快と言えます。  

CotEditor

CotEditor

  • Mineko IMANISHI
  • 仕事効率化
  • 無料

apps.apple.com

  

④有料テキストエディタ

秀丸ひでまるエディタ

文章入力や編集といった執筆作業に関する機能が豊富な、軽量かつ高機能なWindows専用国産テキストエディタです。

プログラミング言語別にハイライト表示がされる機能やgrep機能、ファイル比較など多機能で、さらに回数無制限のUNDO/REDO機能や、1000万行までのファイルを処理できる点など非常に使い勝手がよく、カスタマイズ性も非常に高いです。

無料で試用できますが、ライセンスはシェアウェアなので、試用後に継続して使用するには購入が必要です。

hide.maruo.co.jp

 

 

もちろんここで紹介した以外にもたくさんのテキストエディタが存在します。

国内のテキストエディタでは、gPad、NoEditor、Emieditor Freeなど。

海外のテキストエディタでは、Textmate、Boostnoteなど。

オンラインのテキストエディタとして、Codeshereなど。

IDEとして、Geanyなど。

しかしプログラミング初心者があえて選ぶ理由が見当たらなかったために今回は紹介していません。

 

 

3.結論:おすすめテキストエディタはこれ!

基本的にどれもメジャーな多くの言語に対応しており、プラグインで機能の拡張が可能なものがほとんどです。

機能が限定されるものよりは、機能が充実していてなおかつ初心者でも比較的すぐに使えるタイプ(Sublime Text、Visual Strudio Code、Atomなど)と、慣れが必要なタイプ(VimEmacsなど)を選んだほうが長く使っていけそうです。

重要視すべきかつ比較的分かりやすい違いとして、デフォルトでの使いやすさカスタマイズ性動作の軽さ、が挙げられます。

ですが、最終的には使ってみないとわからない部分も多く、使ってみた後の感じ方も人によって異なる印象です。

 

 

無難なものとしてはVisual Strudio Codeが断然おすすめです。

慣れは必要でもカスタマイズ性の高いものを使いたいならSublime TextあるいはAtom、少し難易度は高いですがVimオススメです。

Emacsは使いこなせるまでの苦労や時間が、自分が求めるスキルに必要だと思えれば選択肢になりえるかなと思います。

Visual Strudio Code、Sublime Text、Atomあたりでプログラミングを学びつつ、コマンドを学ぶ必要のあるVim(あるいはEmacs)などを使えるように練習するというのも良さそうです。