143
135

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Spacemacs入門その1

Last updated at Posted at 2016-06-05

前回は、spacemacsについて spacemacsが最強で最高で神エディタであると思い始めた件 という全く入門になってない、ポエムを書いたので、Spacemacsの入門記事を書いてみることにする。

この記事を書くとき、対象のユーザを設定するのに少し困った。というのも、対象ユーザ像として、誰向けに書こうか?と考えたとき、大きく分けると

  • Emacsユーザ
  • Vimユーザ
  • その他のユーザ

に分かれてしまう。そして、Emacsユーザのみを考えても、同じEmacsでも関心が異なることがある。ひとまず、EmacsでもVimのユーザでも無い、「その他のユーザ」がSpacemacsを導入するというととを考えて、記事を書いてみる。

どうしても、暗黙知があり、説明に飛躍があるかもしれないが、できるだけカバーして書いていきたい。

さて、今後4回に分けて書こうと思う。

  • その1 : Spacemacsの環境構築、基本的な操作、
  • その2 : Spacemacsの設定のキホン事項、
  • その3 : Spacemacsの設定の詳解
  • その4 : Spacemacsのレイヤーの基礎

以上が入門としてである。また、今後、さまざまなレイヤーが提供されているので、いくつか詳解したい。

Spacemacs入門その1

環境構築

これは、spacemacsに書いてある通りに、やれば良い。

まずは、Emacsを導入する。spacemacsによると、各自好きな方法で、導入して良いと思うのだが、osxの場合、

$ brew tap d12frosted/emacs-plus
$ brew install emacs-plus --with-cocoa --with-gnutls --with-librsvg --with-imagemagick --with-spacemacs-icon
$ brew linkapps

が推奨されているようだ。

そして、spacemacsの.emacs.dをgitからcloneする。emacsでは, .emacs.dは、emacsにおいて、設定や拡張のファイルを入れておくところだ。Spacemacsは、emacsの拡張で、.emacs.dを導入して、emacsをSpacemascにカスタマイズするということである。

git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d

最後に,Emacsを起動しよう。ここで、spacemacsに必要なパッケージがダウンロードされる。また、ここで、EmacsかVimかの、キーバインドの設定を求められる。

emacs --insecure

キーバインドの設定でおすすめなのが、Vim(Evil)に設定しておくことを勧める。これは、もともとEmacsのユーザであっても、一度しばらく試してほしい。 個人的には、モード(ステート)に慣れればすごい良いものだと思えると思う。

Spacemacsを使ってみる(Spacemacsツアー)

慣れた人であれば、最初にまず、自分なりに設定をするとは思うのだが、まずは、簡単に基本的な事項を説明しながら、Spacemacsを体験してみよう。

スクリーンショット 2016-06-04 21.23.32.png

ここでは、基本的な操作を解説していく。まず、ファイルを開く、そのあと"Hello World"などとテキストを挿入し、最後保存といった基本的な流れを説明して行く。

スペースキーが基本

さて、Spacemacsとう名前が付いていくぐらいであり、Spacemacsは、スペースキーからいろいろな操作を行なうことが可能である。まずは、スペースキー(SPC)を押してみよう。(Emacsのキーバインディングを選択した人はSPCM-mと置き変えて読んでみてくさい。)

スクリーンショット 2016-06-05 3.15.26.png

下に、キーバインドの一覧が見れるはずだ。この一覧、はwhich-key.elの機能である。赤字で書かれている+から始まる文字は、まだ次のキー操作が必要なものだ。

さて良くみると、fが、ファイル操作、bがバッファの操作、cがコンパイル、wがウィンドウの操作などと、ちゃんと覚えやすくなっていることが分かる。と同時に、やりたい操作が探しやすくなっている。ウィンドウ操作がしたければ、wあたりを探せばいいのかな?となってくる。

さて、SPCからのコマンド入力を誤ったなどと、コマンド入力を一端キャンセルしたい場合はとりあえずC-gを押せば、キャンセルされる。とりあえず、C-gを押して、SPC の操作をキャンセルしておこう。

ファイル操作

バッファとウィンドウ

まず、基本的な知識として、Emacsはバッファとウィンドウがある。Emacsは、バッファとよばれる、ユーザの作業領域があり、そこでファイルの内容を読み込み、編集し、そして、その編集を元のファイルに保存する。つまり、一時的な編集作業領域がバッファである。

そして、そのバッファの内容を表示するのが、ウィンドウである。emacsは、ウィンドウを分割したりすることによって、複数のファイルを開いて、並行に作業することができる。

ディレクトリツリーを表示する

さて、ファイルを開くためにディレクトリツリーを表示してみよう。普通のエディタであれば、ファイルツリーを表示できて当たり前であるだろう。

SPC f tを押してみよう。fはファイル操作、tは恐らくtreeからだろう。ここで、which-key.elのwindowが変化していることも見ておこう。さて、このキー操作でディレクトリツリーが表示される。(これは、neotreeという拡張の機能である。)

スクリーンショット 2016-06-05 3.37.23.png

ディレクトリツリーの操作

さて、ディレクトリツリーを操作して、ファイルを追加したりしてみよう。

まずは、ディレクトリツーのウィンドウをアクティブにしておこう。おそらく、SPC f tの直後であれば、既にアクティブな状態になっている筈だが、そうで無ければ、マウスでアクティブにするかSPC 0などを押してアクティブにしよう。Spacemacsに置いて**複数のウィンドウの移動は、マウスかSPC <対応するwindowの数字>で移動できる。windowの数字は、ページ下部にあるライン(モードライン)に表示されている。

スクリーンショット 2016-06-05 14.36.12.png

さて、neotreeのwindowがアクティブであるのを確認したら、ディレクトリツリーにノードを追加してよう。そのために、ああ、どうしよう! 追加するキー操作を忘れてしまった! ちょっと強引だが、こういった光景は良くあることだろう。

もちろん、この場合ググっても良いし、また、M-xからコマンド名を入力してもいいのだが、こういった場合には、Spacemacsは、キー操作を調べる方法がある。SPC h kである。(この場合hhelpであり、kはkeyのことだろうと思う、なんとも覚えやすいと思う。)

さて、たくさんのキー操作がでてきた。

スクリーンショット 2016-06-05 14.44.55.png

さて、ここで、目的のキー操作を探してみよう。neotreeの機能であるので、neotreeというワードと、ファイル作成なのでcreateなどを探しておこう。とすると、neotree-create-nodeがそれっぽい。なるほど、treeなので、nodeを作るってことであるだろう。なので、cを押下してみよう。

そうすると、nodeを作成する画面が登場する。

スクリーンショット 2016-06-05 14.53.31.png

とりあえず何か作成してみよう。とりあえず、helloworldというNodeを作成した。

スクリーンショット 2016-06-05 14.56.47.png

テキストを編集して、保存する

さて、helloworldというファイルが生成されたようなので、編集して保存してみよう。

おそらく、開いた状態のままだと、モードラインがこの様に表示されているだろう。

スクリーンショット 2016-06-05 14.59.07.png

このオレンジの色の状態は、Evilのノーマルステート(Vimにおけるノーマルモード)である。これは、カーソル移動などのための状態であり、このままではテキストを入力できない。なのでiを押下してみよう。すると、インサートステート(Vimにおけるインサートモード)に変化し、モードラインの色やカーソルの形が変化する。

スクリーンショット 2016-06-05 15.01.36.png

この状態でテキストが入力できるので、テキストを編集しよう。ここでは、hello worldとタイプした。

さて保存してみよう。保存するためには、ノーマルモードに切り変えなければならない。fdとすばやく押下してみよう (同時押しぐらいの感覚で良い)。また、オレンジの状態に戻るはずだ。また普通のVimのように、ESCCtrl-[とタイプするのでも良い。

保存してみよう。保存は、:w(vim風の操作)良いし、SPC f s(ffile、sはsaveである)でも良い。

最後に編集したバッファを閉じてみよう。SPC b dでバッファを閉じることができる。(キー操作の意味については考えてみよう)

まとめ。

今回は、簡単な導入と、Spacemacsのキー操作について、体験した。 読んで、Spacemacsでのemacsが如何に魅力的かが理解して頂けたら幸いである。

次回は、Spacemacsの設定の基本的なところを説明する。お楽しみに。

補足Vimの操作について。

細かい、Vimの基本的な操作に慣れて無い人は、どこかで、基本的なVim操作を覚えるか、または、SpacemacsからEvil-tutorをやっておくと良いでだろう。SPC h Tと順番にタイプしてみよう。

そうすると、画面に、Evil(Vim)のチュートリアルが表示される。画面従ってやっておくといいだろう。

スクリーンショット 2016-06-04 22.22.08.png

最初は全部はやる必要はないと思う。最低限

  • ノーマルモード(ノーマルステート)、挿入モード(インサートステート)の切り変え
  • hjklのカーソル移動

に慣れることが大事だと思う。ちなみに、Vimにおいて、ノーマルモードへの移行は、ESCか、C-[だとは思うが、Spacemacsのデフォルト設定ではおそらく、先のコマンドに加え**fdと素早く押す**ことによって、切り変えが可能である。(後に詳しく設定などを解説する。)

また、:qなどをVimにおける終了の操作をしてしまうと、そのファイルを閉じるだけでなく、Spacemacsが終了してしまうので注意してほしい。(このあたりは、設定を変更することが可能だ)

143
135
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
143
135

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?