ソースコードを書く環境について

  • by

今回取り組むこと

  1. テキストエディタとは
  2. どんなものがあるか
  3. おすすめの紹介と実装まで

これまでの取り組み

これまでプログラミングとは何かという解説をしたり、
C言語でのプログラミングについて解説をしたり、
直近の記事では関数まで踏み込んで説明をしたりしました。

前置き・モチベーション

これまで説明の度に登場していたメモ帳ですが、世の中にはより優れたテキストエディタが多く存在します。
そこでテキストエディタを紹介したいと思います。

全部を網羅しようともしていませんし、個々の詳細な説明もそれほどしていません。
今回の記事に限った話ではありませんが、初心者の方がなるべく視野を広くとれるようなブログを目指しています。

多くのプログラミング入門記事や実際に手を動かすタイプの本などでは、
基礎的な概念よりも、比較的受け入れられやすいかもしれない概念を優先しています。
(具体例:#include<stdio.h>を「おまじない」と呼んだり、固定の環境のみでプログラミングをさせたり。)
その方法では結果的に、その理解でしかものを扱えません。

したがって初心者向け解説では、より基礎的で応用の効く内容
(たとえば「関数」のような枠組みからの解説、もしくは本記事のような選択肢の紹介)
に絞りたいと考えております。

1 テキストエディタとは

これまでの記事をご覧になっていただいた方や、ご存知の方には何を今さら感満載でお届けいたします。
テキストエディタ、英語で書けばText editorです。Text(文書)のEdit+or(編集する+人/もの)です。

なにをするものか、というのは自明ではありますが大切なのは持っている機能です。
例えばシンタックスハイライト機能。
これはテキスト中の語を、特定のルールに沿って色や字体を変えて表示してくれる機能です。
ソースコードの中に文字がズラーと並んでいますが、それらの語がどういった属性なのかを
わかりやすくしてくれます。

他にも、

  • 言葉の途中まで打ってTabキーを押すとこれまで使った言葉や既存の関数名などを補完してくれる補完機能
  • 指定した時間で自動的に保存して万が一に備えてくれる自動保存機能
  • 他サービスと連携してネット上にアップロードしてくれる機能 

などなどたくさんあります。

そしてもう一つ大切なこととして自由度があります。
自分でいくらでもカスタマイズできる(=自由度が高い)テキストエディタは設定できることが無数にありすぎて、
何から手をつけるべきかわかりにくい時があります。
その逆に自由度が低いテキストエディタは元からある程度の扱いやすさは保証していますが、
こだわりが出てきたときに対応しきれないパターンがあります。
このトレードオフの関係はテキストエディタに限らず、webブラウザやその他ツールに通じる話ですので、
イメージ(Fig. 1)としてもっておくに越したことはないと思います。

Fig. 1 ツールにおける自由度とのトレードオフ

2 どんなものがあるか?紹介

自由度をもとに分類して紹介していますが、あくまで個人の感覚です。ご容赦くださいませ。

自由度高めコース

プログラミング触れている人からすれば、テキストエディタと言えばここら辺を想起すると思います。
例えばvi(UNIX環境に標準で搭載されているテキストエディタ)があげられますが、
これらの多くはターミナル(WIndowsでいうコマンドプロンプトのようなもの)の上で動きます。

vimemacsなど代表的で、これらは設定ファイルというものを自分で作ります。
行数の表示や、全角と半角スペースを区別した表示、
先に述べたシンタックスハイライトや補完機能も、自分で設定を書きます。

またキーバインド(ショートカットみたいなやつ)も触れたことがない人にとっては
かなり独特のもののように思われるかもしれませんが、その実、利便性向上に役立つことが多いです。

初めて触ろうという人にはハードルが高く思われるかもしれませんが、
案外解説の記事(Qiitaでもブログでも)いっぱい見つかるので全然問題ありません。
むしろ自分で調べてどうこうできることが多いのでおすすめです!

自由度中くらいコース

代表的なものはatomとか。デフォルトのままでもそこそこ使えます。
使ううちにカスタマイズとかできるとものすごく便利に使えるかと思います。
コンパイルや実行のコマンドも設定できることが多く、あまり自由度低コースとの差が少ないです。

が、単なるテキストエディタとしては起動やその他もろもろが重たいので好みが分かれそうです。

自由度低くらいコース

Visual Studioのような統合開発環境(IDE)なんかがまさにこれに分類されるかと思います。
(テキストエディタと呼んでいいのか?)
初期設定時に様々なツールを選択して導入することが多いです。
ツールバーの中にコンパイルボタンがあって押せば、コンパイルされるような、そんな感じです。
大人数で開発するのに制約を設けたりするのに便利だったりするそうです。

視覚的なアプリケーションを開発するのに特化したものもあります。
例えばGUIでパーツを配置してから、各機能を記述したりできる機能があったり。

OSなどの環境に依存することや、設定が独自の形式だったり、ブラックボックスだったりと、
不自由な点もありますが、GUIが優れていることも多く初心者におすすめされることが多い感じがします。

3 おすすめ

私のおすすめはvimです。したがってこれからvimの紹介をしますが、これはあくまで一例です。
テキストエディタというのはプログラミングに触れる以上、もっとも使っている時間が長いツールであり、
文字通り手になじむものを選択するべきです。
つまりは色々触ってみて、なんとなく使いこなせそう、もしくは使いこなしたいと思えるものを
探すことを強くおすすめ
します。

vimの紹介

vimは複数のモードを行き来することで、効率的に文書を作成したり編集したりすることが可能です。
初めて起動したときは何も書き込めない上に、なんかよくわからないことになって、 終了もできないし、
面食らったのを覚えています(恥ずかしい!!!)

大抵は通常モードで移動して、編集モードで編集して、というのを繰り返します。
vimでは非常に強力な移動/手段が用意されています。
一文字ずつ、単語ごと、行ごと、ページごと、あらゆる段階で操作できる上に、
数字を指定することで3文字消す、2単語コピーする、55行目にとぶ、など
直接的に編集することができます。

ただコマンドを覚えてこその効率化という側面があります。
しかし有志が作ったチュートリアルやチートシート(コマンドと操作の対応表)も
たくさんあります(以下リストに一部紹介)。

  • vimtutor:コマンドの説明を読んで、実際にためしながらすすめられるチュートリアル。
  • Vim Cheat Sheet:様々な言語に対応したチートシート。ブックマーク推奨。

コマンドを覚えてその恩恵を得るにはこれまでのカーソル移動や特定のキーの連打を封印するといいです。

vimの導入

UNIX系ならコマンドラインをたたけば一発ですが、そうもいかないのがwindows。
そんなWindowsでもvimを導入できる方法を紹介してい方もいらっしゃるので
そちらの記事([小ネタ]Windowsでコマンドラインからvimを起動する)を参考にするといいかと思います。

方法を簡単にまとめると、

  1. windowsで動くvimを配布している香り屋さんからダウンロード
  2. pathを通す(1でダウンロードしたファイルの場所を環境変数pathに追加)
  3. 完了

ここら辺の「〇〇の導入について」は色んな人が記事を作って解説していることが多いので、
自分で探して利用するのが一番です。

まとめ

  • 自由度と見た目のわかりやすさはトレードオフ
  • テキスト編集、ないしはコード作成する手段は複数ある
  • (vim使えばいいんじゃないかな)

個人的にはvimで慣れてから他のテキストエディタを触ってしまったので「結局vimでいいか」となってしまいましたが、
我こそは初心者という方は色々触ってみた方がいいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です