見出し画像

Retro-gaming and so on

RE: プログラミング日記 2022/03/13~

星田さんの記事に関するコメント。
今回は一箇所だけ。

以前に教えてもらってたと思うのでEmacsの導入を考えてみます。カラーリングされた上にインデントもちゃんとされてるソースを見たら作法とか読み方とか身に付きやすいと思うので!

ええと、ある意味最新情報。
WindowsでのSpacemacsの導入方法が(英語記事だけど)見つかりました。


これに従ってEmacsを導入してみて下さい。

一応、「Spacemacs」とは何なのか、と言う説明をしておきます。
SpacemacsはEmacsを拡張、そしてIDE化する為のツールです。

元々、Emacsは「個人がカスタマイズするのが楽しみな」エディタでした。
が、ぶっちゃけ、ユーザー側からしてみれば、「カスタマイズする事が楽しい」ってヤツばっかじゃねぇんだよな。当然だ。
また、自分が作った設定ファイルが「恒久に使えるもの」とも限らないでしょ?HDDトラブルでデータが消えてしまう、ってトラブルもあるわけだし。
かつてのEmacsユーザーは「自家製秘伝のタレ」な設定ファイルを自慢してたモンですが、もうそういう時代じゃない。
ネット上にあるアーカイブに「ソフトウェア」として拡張機能を用意しておいて、コマンドでダウンロードして導入する、ってスタイルに、Emacsもこの15年くらいで変わってきてるんですよね。
もはや自分で設定弄って悦に入る時代じゃなくなってるんです。
その究極のカタチがSpacemacs。ぶっちゃけ、ネットさえ繋げていれば「全く同じ環境」をどのPCでも再現出来る程「共通性」が大きい拡張を施していて、ぶっちゃけ、個人がここまでカスタマイズするのは不可能だろ、って思う程の「魔改造」なEmacsが使えるようになっています。

んで、何故に「Space」macsと言うのか。
元々Emacsは悪名高い「変態キーバインド」が有名なテキストエディタだったんですが。
Spacemacsの方針は、「スペースキーを叩く」 -> コマンド一覧が現れる -> そこから選択する、と言ったような「コマンド選択方式」を全面に押し出すような設計思想になっています。
「スペースキーを多用する」Emacsなんで、Spacemacsって事ですね。


スペースキーを叩くと画面下部にコマンドリストが現れる。


例えば、上の画面でのコマンドでの"'"を叩くと、「Shell」(つまりWindowsで言うとDOS窓)が起動する。

で、設定ファイルも一応あって、.spacemacsファイル(ドットスペースマックスファイル)と言うのを用いて設定します。
ここで重要なのは、その設定ファイルの「ある場所」に、サポートされてさえいれば「プログラミング言語名」を書けば、その為のユーティリティがネットから一括でダウンロード/インストールされて余計な設定が必要ない、と言う辺り。


Spacemacsの設定ファイル.spacemacsの例。dotspacemacs-configuration-layersと言うリストにプログラミング言語名を書き込めば、その言語用の設定ファイルが一式ダウンロード/インストールされる。

例えば星田さんの場合、.spacemacsdotspacemacs-configuration-layersと言うリストにcommon-lisp、及びschemeと書き込めば、それらの言語に対するユーティリティがネットから一括でダウンロードされ、インストールされます。
若干設定を追加しなければならないんで、次のページを参考にしてみて下さい。

一旦インストール/設定が行われればSpacemacsは強力なIDEと化します。


Spacemacsの「自動補完」機能。"de"と打っただけで補完候補が出てきて、カーソルキーあるいはタブキーにより補完候補を「選択」してリターンキーで「決定」出来る。

なお、Spacemacsは初回設定時にviモードにするか(※)、Emacsモードにするか、と尋ねられます(あとで設定変更可能)。唯一の悩みどころはこの「モード」ですね。どっちもWindowsの「標準的なテキストエディタスタイル」からは乖離してます(笑)。
デフォルトはviモード、になってて、viモードと言うのは基本的には、テキストファイルを開いた時には一種「保護状態」になってて編集出来ない。
テキスト編集をする際にはiキーを叩いて、「編集状態」にしてから編集に入る、ってのがちと違うんですよね〜。そしてそういう「状態」を解除する時にはEscキーを叩く、と言う。慣れるまでちと苦労するスタイルになるでしょう。
ただ、まぁ、どのIDEでも極論そうなんだけど、「慣れれば強力」です。そしてとんでもないマイナー言語でもプラグインが用意されているのがEmacsの強みなんで、「ヘンな言語でも弄りたい」って場合、確かに強力な環境なのです。

※: viとはUNIX標準、と言って良いテキストエディタである。元々はカリフォルニア大学バークレー校で、授業で行うPascalのプログラミング用テキストエディタとして産声を挙げた。Emacsのライバルと言って良い歴史を重ねてきている(とは言っても事実上、実は競合はしていない)。
現在のviは正確に言うとクローンのvimがメイン。これはCommodore Amiga上で開発されたテキストエディタで、のちにLinuxへとやってきてる。
元々SpacemacsはviユーザーがEmacsに移ってきた際に戸惑わないように、と言う目的で作られたIDEツールで、要するに「Emacsの癖に操作系はviになってる」と言うキメラっぽいツールになっている。
なお、viの基本的な使い方はこのページに詳しい。そして、それを覚える方が、Emacsキーバインドを覚えるよりは数が少ないだろう、と言うのは事実である。
  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「RE: プログラミング日記」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事