Emacsはエディタでなんか気になったので使ってみたくなった。
環境
- windows10
- centos(仮想マシン)
- vagrant
- vartualbox
- putty
仮想マシンの構築はドットインストールの開発環境構築動画を見ればすぐにできる。今回は仮想マシンのcentosでEmacsを使えるようにしていく。余談だがドットインストールの通りに環境構築していった場合 vim(smallバージョン) がインストールされている。
Emacsのインストール
仮想マシンにEmacsをインストールしていく。基本はこのサイトのとおりにやるのがはやい。↓
CentOS7に最新のEmacsを導入する方法 | vdeep
筆者も上のサイトのやり方をみてインストールした。しかし以外にはまってしまうことがあるのでcentosのroot権限とPATHの知識は知っておいたほうがいい。なのでこの記事をみてほしい。↓
Progateを使ってターミナルのコマンドラインを習得する
centosにemacsをインストールするにはunixコマンドでやっていくのでコマンド関係もある程度しっておいたほうがよい。unixコマンドってなんだよって人も上のリンクにいろいろかいてるので見て欲しい。とりあえずこの画像があればイメージはつかめる。青枠にあるosではすべてunixコマンドがつかえる。BSD系から作られているmac osもunixコマンドが使えるようになっている
emacsのインストール中になんか不安になりそうな文字がだらだらながれてくるけど、最終的にemacsはインストールできて動いているのでたぶん大丈夫だったんだろうというかんじ・・・
Emacsのコマンド
Emacsのコマンドはみてもようわからんので、ドットインストールで動画をみながらやったほうがはやいですが一応書いておきます
起動と終了
起動 | emacs |
---|---|
終了 | C-x C-c |
画面の見方
Window | 画面 |
---|---|
Buffer | タブ |
Mode Line | 今開いているBufferの情報 |
Mini Buffer | コマンドの関数情報 |
#ファイル操作
Open | C-x C-f |
---|---|
Save | C-x C-s |
Save as | C-x C-w |
移動
左右 | C-f/C-b |
---|---|
上下 | C-p/C-n |
行頭,行末 | C-a/C-e |
ファイルの先頭/最後 | M-< M-> Mはメタキーescかalt |
編集
範囲選択の開始 | C-@もしくはC-SPC |
---|---|
コピー | M-w |
カット | C-w |
貼り付け | C-y(yank) |
行末までカット | C-k |
削除 | C-dカーソルの下 |
undo | C-/ |
redo | C-G C-/ |
開始: C-@
コピー: M-w
カット: C-w
貼り付け: C-y(ank)
行末までカット: C-k
削除: C-d カーソルの下
Undo: C-/
Redo=: C-G C-/
検索と置換
検索は C-s のあと文字を入力
前夫検索 | C-s |
---|---|
後方検索 | C-r |
置換は M-% のあと置き換えたい文字→return→置き換え後の文字を入力。その後どうするかは下記を入力する
yes | 1つ置換 |
---|---|
n | 置換しない |
! | 全て置換 |
q | 置換を終了 |
分割
現在のウインドウを閉じる | C-x 0 |
---|---|
全ての分割解除 | C-x 1 |
上下分割 | C-x 2 |
左右分割 | C-x 3 |
ウインドウ間を移動 | C-x o |
Bufferリストの表示 | C-x C-b |
Bufferリストでの操作
n,p | 上下移動/td> |
---|---|
d | delete flag |
s | save flag |
左右分割 | undo |
u | run |
Bufferリストの見方
. | 現在のバッファー/td> |
---|---|
* | 保存されてないBuffer |
emacsのテーマを変更する
Emacsを使っているとminibufferと言われるところの文字が見にくすぎてイライラすることがある。
emacsはカレントディレクトリに .emacs というファイルを作ることによって設定を変更できる。
最初はようわからんけど、とりあえずカレントディレクトリに .emacs というファイルを作る。(ここ重要)。ためしにつくってみよう。せっかくEmacsをインストールしたので、こう作る↓
テーマを変えるにはこの新しく作ったファイルに構文を書き込む→それで次から起動するときにこのファイルが読み込まれテーマが変わるという仕組みらしい。
(load-theme ‘manoj-dark t)と記述しているが manoj-dark という部分がテーマ名になる。emacs25 あたりからテーマが設定可能になったらしい。デフォで何種類かテーマが用意されているので 「emacs テーマ」 とかで検索をかけてみるといい。
Emacsのキーバインドを変更する
Emacsを使っていると人によってはEscキーが遠すぎてイライラすることがある。そういうときに元々あるキーコマンドを変更できる。ネットの情報だとこいうのはキーバインドと言われているらしい
Emacsにもともとわりあてられているキーバインドというものを上書きすることによって変更することができる。上書きするには関数定義する必要がある。これは後述する。最初のうちはもともとあるキーバインドは上書きできないのでは?とおもっていたのだが実際にやってみた結果上書きにで変更できることを確認した。
キーバインドの確認と変更
キーバインドの確認は Emacsがたちあがっている状態である必要がある。次にM-x とおしたあとに describe-bindings と入力する。
上書きするには.emacsファイルをカレントディレクトリに作成して、そこに関数を記述する
(define-key global-map [(キー)] ‘キー名)のように記述する。キーバインドの確認は先ほども申し上げたがM-x → describe-bindingsと入力するとキーバインドの一覧が表示される。そこにはキー名が書かれているのも確認できる。.emacsファイルに関数を記述しておけばemacs起動時にファイルが読み込まれて設定が反映される仕組みになっている。
画像ではコピーコマンドをC-cに変更している。一応いっておくがM-xのMはメタキーでALTキーとかESCキーのことなので注意する。
と思いきやあとあとわかったが C-c は他のコマンドの組み合わせでよく使うので変更できないようになっているらしい。というよりも確認した結果、動くファイルと動かないファイルがあることがわかった。テキストファイルでは動作することを確認。.rbファイルでは動作しない・・・とほほ。
ということで [(S c)]にした・・・。SはShiftキーで一応Shiftキーも使える。
rectangle mode
- C-x → spaceでrectangle modeが開始する
- C-x → r → tでstring rectangle modeが開始する(矩形挿入ができる)
矩形挿入をうまく行うには。まず最初にrectangole modeで挿入したい範囲を選択して次にstring rectangle modeに移行する
shell
Emacs内でshellを立ち上げる
emacsで知っておいたほうがよい機能としてemacsを開いたままshellが立ち上げられるというものがあります。3種類のshellがありそれぞれの起動方法は以下のとおりです。
shell | (M-x shell → Enterで起動) |
---|---|
term | (M-x term → Enterで起動) |
eshell | (M-x eshell → Enterで起動) |
shellはコマンドの履歴を上下でおうことはできませんが、カーソルを上下に動かせます。eshellはカーソルは動かすことはできませんがコマンドの履歴を上下のキーでおうことができます。コマンドを頻繁につかう場合はeshellがよいかと思います。
shellの起動は M-x とうって入力してもよいのですが、shellやeshellをキーバインドに登録しておいたほうがよいでしょう。
Emacsで手軽にshellのコマンドを入力する
さきほどはEmacsでshellを立ち上げる方法を紹介しましたが、shellを立ち上げずにshellコマンドを実行できる機能もあります。これをやるには M-! を使います
M-! #shellコマンドの入力モードになる
shellコマンド入力状態にして pwd を実行すると現在いるディレクトリのパスを表示させることができます
初期化ファイル
~.emacs、~/.emacs.el、~/.emacs.d/init.el の順番に検索されます。このうち複数のファイルがあったときはひとつしか読み込まれないので、どれかひとつに決めておく必要があります。~/.emacs および ~/.emacs.el のファイルは、ホームディレクトリ直下に設置する必要があります。
このファイルにキーバインドの設定やパッケージの読み込み構文を記述します。
パッケージ
Emacsには便利なパッケージがたくさんあります。そのなかでも非常に便利だと思われるものを記事にしておきました。パッケージの導入方法や使い方は以下の記事をごらんください
補足事項
Emacsで非常に重要な点でGUIのEmacsと端末で起動するEmacsがあります。端末とはターミナル全般のことをいっています。ターミナルでEmacsを使用している場合一部のキーバインドが認識されません。端末の上で動くemacsは、キーイベントを受け取るのでなく、文字コードを受け取るからだそうです。といってもほとんどのキーが認識されないかというとそうでもないので、詳しくは「Emacs 端末」で検索するとよいと思います。
文字コードの設定
Emacsを使うとファイルの文字コードを設定することができます
C-x→Enter→Fをおすと文字コードの入力を受けつきます。
文字コードを入力してエンターをおすとファイルの文字コードを変更することができます。
例: utf-8
まとめ
インストール作業が一番だるい。意味ふなエラーがでたら。pathが通ってないかroot権限でやってないかのどっちかなので、とりあえず適当にやってみることをすすめる。pathを通すの言葉の意味がよくわからないんだったら、コマンドを使える場所を追加するみたいなイメージでとらえとけばいいと思う。
pathの通し方は上のリンクに書いているから困ったら見て。
コメント