プログラミング最中に1番使用頻度が高いツールはテキストエディタでしょう。
仕事でプログラミングをしているエンジニアは日頃は、Eclipseを始めとする統合開発環境(IDE)でプログラミング作業をしている事が多いと思いますが、ちょっとしたプログラミングのためにIDEを起動するのはちょっと大袈裟ですし、起動にも時間がかかるためすぐに作業を始められないといった問題もあります。
エンジニアたるもの自分好みのテキストエディタを準備しておきたいところです。
近年では、ブラウザ上でVisual Studio Codeのようの動くエディタなども登場し、選択肢が広がっています。この記事で紹介するようなエディタを色々試してみて、自分好みのエディタを探してみてはいかがでしょうか。
- Visual Studio Codeはマルチプラットフォームで動く人気のあるエディタ、アプリ開発にも十分使える
- Atomはパッケージによる拡張機能が人気
- サクラエディタはWindowsおけるデファクトスタンダード的なエディタ
- キーボードマクロ機能、矩形選択などの便利機能を活用しよう
プログラミングにおすすめのテキストエディタ7選
VisualStudioCode
マイクロソフトが提供する高性能テキストエディタであるVisualStudioCode。
名前から単純にIDEであるVisualStudioのエディタ機能を抜き出しただけでは?と思っているエンジニアも多いと思いますが、実はこのVisualStudioCodeは新しく作成されたテキストエディタであり、クロスプラットフォーム技術であるElectronを使って開発されています。
クロスプラットフォーム(WindowsだけでなくLinux、macOSなどでも動作可能)と聞くと、動作が遅いのでは?と心配になりますがとても軽量で動作も高速となっています。
また、単なるエディタの枠を超え、複数のプログラミング言語への対応、入力補完機能、デバッグ機能、Git関連機能、タスク管理機能などを備えており、さらに機能拡張の仕組みまで備えています。
.netのオープンソース戦略といい最近のマイクロソフトはよく分かっているな!と言える出来栄えになっています。
これまで、マイクロソフト系のIDEやエディタを使っていたエンジニアにはすんなり受け入れられる出来になっていますし、Unix/Linux系の技術者でも試してみる価値が十分あります。
Sublime Text
「恋に落ちるテキストエディタ」として一世を風靡したテキストエディタ。プラグインによる機能拡張機能を備えており、こちらもマルチプラットフォームに対応しています。
日本語で使用するための設定が少々マニアックではありますが、その後の使い勝手はすこぶる快適です。さらにEmacsのキーバインドをサポートしている点も見逃せないでしょう。
Atom
ファンが沢山いるテキストエディタ。パッケージより機能拡張が可能なテキストエディタで選択に困るほどの数多くのパッケージが存在しています。
プログラミング作業を補助するパッケージはもちろん、デザイナー向け、プロジェクトマネージャ向けなど様々なパッケージが用意されています。様々なテーマが提供されている点もポイントで、提供されているテーマでは飽き足らず、自分好みにテーマをカスタマイズするエンジニアも多いようです。
サクラエディタ
秀丸エディタをWindowsテキストエディタのデファクトスタンダードから引きずりおろしたサクラエディタ。1998年から開発が続いており、当時からオープンソースとして開発されており、現在でも活発なコミュニティーで開発が続いています。
快適な動作、きめ細かな設定機能、マクロ機能、アウトライン解析機能など様々な特徴を備えています。インストールも簡単なことから多くのエンジニアが使用したことのあるテキストエディタではないでしょうか。
Mery
シンプルさをコンセプトに開発されているテキストエディタ。メモ帳よりちょっといいものを。という事で開発が続けられていますが、正規表現による検索・置換、タブ機能、マクロ機能、入力補完、アウトライン機能に加え、プラグインによる機能拡張も可能となかなか多才ですが、シンプルさをコンセプトにしているためごちゃごちゃした印象は一切ありません。
軽量できびきびした動作ですぐに起動する点はポイントが高いです。ちなみに、マクロ機能はエンジンにWSHを採用しているため、VBScriptなどが使えるため新たにマクロ言語を覚える必要がありません。
CotEditor
Mac向けとして人気があるテキストエディタ。キーワードのハイライト機能や軽量できびきびした動作が特徴的なエディタです。HTMLやプログラミングをサポートする機能が多くあり、サポートしているプログラム言語の数も豊富です。
国産ソフトであるため日本語化などの面倒な作業は不要というのもポイントでしょう。効率化としてスニペット(意味のあるコードのかたまり)を登録しておくことが出来る機能は嬉しい機能ですね。
メモ帳
Windowsを使っているほとんどの人が一番初めに使うであろうテキストエディタ。プログラミング向けか?と言われるとても微妙ですが、.txt形式に関連付けされているため、無意識に使用されているテキストエディタとなっています。
文字コードはUTF-8、UnicodeなどをサポートしているためWindows上であれば必要最低限の仕事は行えるでしょう。
プログラミングに便利な機能
テキストエディタにはプログラミングをサポートしてくれる便利な機能が多くあります。前述のおすすめのテキストエディタでも特徴的な機能をいくつか紹介しましたが、ここでは多くのテキストエディタが備えているプログラミングに便利な機能をご紹介します。
キーボードマクロ機能
多くのテキストエディタはマクロ機能を備えており、定例の入力・編集を自動実行する事ができますが、マクロを書く事はそれなりの敷居もありますし、汎用性のないちょっとした編集を省力化したい場合にもマクロを作成しなければいけないというのは面倒なものです。
そこで活用したいのがキーボードマクロ機能です。キーボードマクロ機能はキー入力の内容を記憶させ、簡単なキー操作で記憶させた内容を再現させる事が出来る機能です。
例えば、ある文字を検索後、その文字以降の文字を行末まで削除する。というような操作を1,000行に対して人が行うとなると大変ですが、キーボードマクロ機能を使えばマクロを書かなくても簡単に省力化する事が出来ます。
矩形選択
固定長のデータファイルなどから特定の項目をコピーやカットしたい場合に便利な機能が矩形選択機能です。例えば、15桁目から27桁目までを矩形(四角)に選択する事ができます。選択後はコピーやカットする事ができますし、予めコピーしていた内容を貼り付けることで置換する事も出来ます。
grep
編集しているファイル以外に対して特定の文字を検索したければgrep機能を使用します。通常の検索では検索対象を見つけるとその行にカーソルが移動し、次の文字を見つける場合は「次を検索」を行い順次検索していきますが、grepではファイル単位で全ての検索対象を一度に検索し、その結果をリストアップする機能です。
プログラムに修正を加える場合に修正内容に影響する個所を探したいなど、複数のファイルから一気に検索を行いたい場合に活躍する機能です。ちなみに、このgrepという名前の由来はunix系で使用できるファイルから文字を検索するコマンドから来ています。
タグジャンプ
関数・プロシージャの定義場所に一気にジャンプできる機能がタグジャンプ機能です。一般的な検索でも実現できますが、通常の検索では関数・プロシージャを呼び出している部分も検索され定義部分には一気にジャンプする事ができません。また、関数・プロシージャの定義が別ファイルになっている場合などはファイル単位の検索では定義部分にジャンプする事は出来ません。
プログラミングしている場合、関数・プロシージャの内容を確認したくなる事はよくあることですので、タグジャンプ機能は重宝します。
diff表示
diffとはdifference(違い)を省略した言葉で、違いを分かりやすく表示する機能です。バージョン管理ツールでもdiff表示は使われる機能ですので馴染はあるでしょう。
プログラミングではしばしば古いバージョンのプログラムと最新のプログラムを比較して違いを見たい場合があります。例えば、前回のプログラム修正でバグが発生した時などに前回どのような修正をしたかを見たい場合などですが、そのような場合にとても役に立つ機能です。
このように多彩な機能を備えた魅力的なエディタの数々とプログラミングをサポートする便利機能を使って楽しくプログラミングしたいものです。
まとめ
テキストエディタは、プログラマーにとっての仕事道具であり、エディタの選択一つで生産性が大きく違います。
例えば、パソコンとスマホ両方で使用するなら、クラウドストレージとの連携機能があるエディタを選ぶなど、自分がエディタに求める要件を整理し、それに見合ったエディタを選定しましょう。
そして、未経験者が ITスキルを磨くなら「ポテパンキャンプ」がオススメです。最短5ヶ月で現場で使えるスキルが身につくカリキュラムがあります。現役エンジニア講師が普段使っているエディタなど、何でも質問OKです。