ほぼ無知識の状態からEmacsを使えるようにする。

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コマンドが使えるようになっている
unixとは

emacsのインストール中になんか不安になりそうな文字がだらだらながれてくるけど、最終的にemacsはインストールできて動いているのでたぶん大丈夫だったんだろうというかんじ・・・

Emacsのコマンド

Emacsのコマンドはみてもようわからんので、ドットインストールで動画をみながらやったほうがはやいですが一応書いておきます

起動と終了

起動emacs
終了C-x C-c

画面の見方

Window画面
Bufferタブ
Mode Line今開いているBufferの情報
Mini Bufferコマンドの関数情報

#ファイル操作

OpenC-x C-f
SaveC-x C-s
Save asC-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カーソルの下
undoC-/
redoC-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→置き換え後の文字を入力。その後どうするかは下記を入力する

yes1つ置換
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>
ddelete flag
ssave flag
左右分割undo
urun

Bufferリストの見方

.現在のバッファー/td>
*保存されてないBuffer

emacsのテーマを変更する

Emacsを使っているとminibufferと言われるところの文字が見にくすぎてイライラすることがある。

emacsはカレントディレクトリに .emacs というファイルを作ることによって設定を変更できる。

最初はようわからんけど、とりあえずカレントディレクトリに .emacs というファイルを作る。(ここ重要)。ためしにつくってみよう。せっかくEmacsをインストールしたので、こう作る↓

テーマを変えるにはこの新しく作ったファイルに構文を書き込む→それで次から起動するときにこのファイルが読み込まれテーマが変わるという仕組みらしい。

emacs テーマ

(load-theme ‘manoj-dark t)と記述しているが manoj-dark という部分がテーマ名になる。emacs25 あたりからテーマが設定可能になったらしい。デフォで何種類かテーマが用意されているので 「emacs テーマ」 とかで検索をかけてみるといい。

Emacsのキーバインドを変更する

Emacsを使っていると人によってはEscキーが遠すぎてイライラすることがある。そういうときに元々あるキーコマンドを変更できる。ネットの情報だとこいうのはキーバインドと言われているらしい

Emacsにもともとわりあてられているキーバインドというものを上書きすることによって変更することができる。上書きするには関数定義する必要がある。これは後述する。最初のうちはもともとあるキーバインドは上書きできないのでは?とおもっていたのだが実際にやってみた結果上書きにで変更できることを確認した。

キーバインドの確認と変更

キーバインドの確認は Emacsがたちあがっている状態である必要がある。次にM-x とおしたあとに describe-bindings と入力する。
emacsキーバインド

上書きするには.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 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 を実行すると現在いるディレクトリのパスを表示させることができます
shell対話モード

初期化ファイル

~.emacs、~/.emacs.el、~/.emacs.d/init.el の順番に検索されます。このうち複数のファイルがあったときはひとつしか読み込まれないので、どれかひとつに決めておく必要があります。~/.emacs および ~/.emacs.el のファイルは、ホームディレクトリ直下に設置する必要があります。

このファイルにキーバインドの設定やパッケージの読み込み構文を記述します。

パッケージ

Emacsには便利なパッケージがたくさんあります。そのなかでも非常に便利だと思われるものを記事にしておきました。パッケージの導入方法や使い方は以下の記事をごらんください

補足事項

Emacsで非常に重要な点でGUIのEmacsと端末で起動するEmacsがあります。端末とはターミナル全般のことをいっています。ターミナルでEmacsを使用している場合一部のキーバインドが認識されません。端末の上で動くemacsは、キーイベントを受け取るのでなく、文字コードを受け取るからだそうです。といってもほとんどのキーが認識されないかというとそうでもないので、詳しくは「Emacs 端末」で検索するとよいと思います。

文字コードの設定

Emacsを使うとファイルの文字コードを設定することができます
C-xEnterFをおすと文字コードの入力を受けつきます。
文字コードを入力してエンターをおすとファイルの文字コードを変更することができます。

例: utf-8

まとめ

インストール作業が一番だるい。意味ふなエラーがでたら。pathが通ってないかroot権限でやってないかのどっちかなので、とりあえず適当にやってみることをすすめる。pathを通すの言葉の意味がよくわからないんだったら、コマンドを使える場所を追加するみたいなイメージでとらえとけばいいと思う。

pathの通し方は上のリンクに書いているから困ったら見て。

コメント

タイトルとURLをコピーしました