こんにちは。iQeda [@iQeeeda] です。
FTP ソフトでサーバファイルを編集している、そこのあなた!
ちょっとした内容なら Emacs でサクっと直接編集できた方がラクですよ。
※ 初心者がつまづきやすい PATH の通し方も説明します。
その場合は適宜読み替えてください。
Emacs がおすすめな人
以下のような方が想定読者です。
- Emacs に興味がある人
- Vim ではない
- 簡単な UNIX コマンドを打てる人
- サーバ上のファイルを直接編集する人
- 格ゲー好き (コマンド操作に燃える)
Emacs をインストールする
現在の Emacs のバージョン確認
まず Mac の Terminal アプリで emacs --version
と入力して Emacs のバージョンを確認します。
Emacs をより便利に使えるパッケージ機能を簡単に扱えないため 26.2 を導入します。
Homebrew で Emacs インストール
Terminal で brew
コマンドを使います。
はじめてのかたは Homebrew をインストールしてください!
# Homebrew で Emacs をインストールする
brew install emacs
上記コマンドで /usr/local/Cellar/emacs/[バージョン]
の中に Emacs がインストールされます。/usr/local/Cellar/emacs/26.2/bin/emacs
と打てば一旦 Emacs が起動するはずです。
PATH について
先程の長いコマンドで毎回 Emacs を起動するのはめんどくさいので、emacs
コマンドだけで実行できるようにしていきます。
環境変数 PATH に /usr/local/bin
というディレクトリを追加します。
/usr/local/bin ってなんなの?
/usr/local/bin
とはどういうものか説明をします。
かったるい人はここを読んで、実際に PATH を通してください。
Homebrew でインストールしたパッケージの実行ファイルですが、
名前が長いのであまりそのまま呼び出しません。
実は /usr/local/bin
というディレクトリがあって、
そこで実行ファイルのシンボリックリンク (ショートカットみたいなもの) が管理されています。
その /usr/local/bin
にある emacs
は先ほどの Emacs 実行ファイルを参照しています。
試しに /usr/local/bin/emacs
と実行しても Emacs が起動するはずです。
/usr/local/bin/[シンボリックリンク] を簡単に呼び出すために PATH を通す
しかしまだまだコマンドとしては長いですね。シンボリックリンクを使っている旨味がありません。
/usr/local/bin
を追加すると、/usr/local/bin/emacs
とせず emacs
だけで実行できるようになります!まとめると実際の処理はこんな感じ
- PATH の通った
emacs
コマンドを実行! /usr/local/bin/emacs
が呼ばれる- ※ シンボリックリンク
/usr/local/Cellar/emacs/26.2/bin/emacs
が呼ばれる- ※ Emacs 実行ファイル
Emacs の利用に限らず、PATH の考え方は重要なのでしっかりと理解しておきましょう。
PATH の通し方
では Terminal で echo $SHELL
してみてください。
/bin/bash
と表示されたら、あなたのシェルは bash です~/.bash_profile
に PATH 設定を記述してください
/bin/zsh
や/usr/local/bin/zsh
などと表示されたら、あなたのシェルは zsh です-
~/.zshenv
に PATH 設定を記述しますしてください
-
- これ以外の場合でも「環境変数の設定ファイル」が存在するので調べてください
bash を使っている方はこちら
export PATH=/usr/local/bin:$PATH
zsh を使っている方はこちら
export PATH=/usr/local/bin:$PATH
ファイルを保存したら Terminal の画面を一度閉じて、開き直します。
再度 emacs --version
してみてください。Emacs が新しいバージョンになっているはずです。
emacs コマンドでうまく動かない場合
emacs-26.2
コマンドでしか起動しなかったり、emacs
コマンドでデスクトップアプリ版の Emacs が起動してしまう人向けです。
シンボリックリンクの修正
以下の手順でコマンド名 (シンボリックリンク) の衝突を回避します。
/usr/local/bin
内に Emacs シンボリックリンクを作成する- 干渉している Emacs シンボリックリンクを削除する
emacs-26.2 というコマンドでしか動かないので、emacs というコマンドで再定義する例
cd /usr/local/bin
# 既存シンボリックリンクの確認 (出力内容の頭に l が付いているものがシンボリックリンク)
ls -la | grep emacs
lrwxr-xr-x 1 [ユーザ名] admin 37B 8 31 15:48 emacs-26.2 -> ../Cellar/emacs/26.2/bin/emacs-26.2
# emacs という名前でシンボリックリンクを作成
ln -s ../Cellar/emacs/26.2/bin/emacs-26.2 emacs
# 既存の emacs-26.2 を削除
unlink emacs-26.2
# シンボリックリンクの確認
ls -la
lrwxr-xr-x 1 [ユーザ名] admin 37B 11 14 12:04 emacs -> ../Cellar/emacs/26.2/bin/emacs-26.2
Terminal の画面を開き直して emacs
コマンドで正しく起動するか確認してみてください。
アプリの Emacs が起動してしまう人
unlink emacs
でアプリを指す既存シンボリックリンクを削除してから、ln -s ../Cellar/emacs/26.2/bin/emacs-26.2 emacs
で新規作成すればよいかと思います。
補足
パスの調べ方
# 現在どのパスが適用されているか確認
# /usr/bin/emacs だと Mac デフォルトの Emacs が適用されています
which emacs
/usr/local/bin/emacs
# emacs で通るパスの数だけ場所が表示される
where emacs
/usr/local/bin/emacs
/usr/bin/emacs
エイリアスを作って簡単に起動する
- bash の人は
~/.bashrc
に記述してください - zsh の人は
~/.zshrc
に記述してください
bash の方はこちら
alias e="emacs"
zsh の方はこちら
alias e="emacs"
source ~/.zshrc
を実行すると、e
という省略形で Emacs が起動できるようになります。
パッケージを使えるように設定する
~/.emacs.d/init.el
に以下を追記してください。
;;
;; パッケージ読み込み
;;
(require 'package)
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
(add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/") t)
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
(add-to-list 'package-archives '("ELPA" . "http://tromey.com/elpa/") t)
(package-initialize)
パッケージインストールの方法については以下の記事で解説しています。
コマンドラインツールについて
今回の記事の説明では便宜上 Terminal と書きましたが、
僕オススメのコマンドラインツールは iTerm2 です。
iTerm2 が気になる方はこちらの解説記事をどうぞ!
関連記事
Emacs ロードマップ
CentOS と Ubuntu の Emacs インストール方法
Emacs 操作方法
Emacs カスタマイズ方法
参考
お仕事ください!
僕が代表を務める 株式会社 EeeeG では Web 制作・システム開発・マーケティング相談を行っています。 なにかお困りごとがあれば、Twitter DM や Web サイトからお気軽にご相談ください。
カテゴリ「Develop」の最新記事
コメント