/home/tnishinaga/TechMEMO

日々行ったこと、面白かったことを書き留めます。

emacs使い始めましたメモ1

リモート接続してCUI環境で作業することが多くなってきたので,CUIテキストエディタも使えるように環境を整備し始めました.

基本的に政治と宗教の話はしないのですが,私はemacsを使うことにしました. emacsベテランの方はいろいろ教えていただけると嬉しいです.

環境

OS: Mac OSX 10.10.4 パッケージ管理: Homebrew, Homebrew-cask

emacs のインストール

デフォルトで入ってるのは古いので,以下のコマンドで新しいのをインストールします.

$ brew install --with-cocoa emacs
$ ln -sfv /usr/local/opt/emacs/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.emacs.plist
$ brew linkapps emacs

--with-cocoa オプションをつけると,GUIでもemacsが使えるようになります. ファイルをダブルクリックしてemacsを開いて編集したいときは,必要です. ただし,関連付けは行ってくれないので,自分でやる必要があります(コマンドで設定する方法があれば教えてください).

基本操作

とりあえず,

  • C-? は Ctrl + ?
  • M-? が Esc + ?

であることがわかれば,後は自分で検索して何とか出来るはず.

init.elの作成

emacsはホームディレクトリ以下の .emacs ファイルや .emacs.d 以下にプラグインを記述することで機能を拡張できるようです. プラグインEmacs 用のLispEmacs Lisp を使って記述します.拡張子.el です.

以下のコマンドを実行して, .emacs.d/init.el を作ります(もし.emacsファイルがインストール時にできていた場合は,それを削除してください).

$ mkdir ~/.emacs.d
$ touch ~/.emacs.d/init.el

パッケージ管理システム

リポジトリの登録

emacs24からは,emacsプラグイン用のパッケージ管理システムがデフォルトで入っています. ただし,リポジトリを登録しないと使えないので,その設定をします.

.emacs.d/init.el を開いて以下を追記し,リポジトリの一つであるMELPAを追加してください.

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.org/packages/") t)
(when (< emacs-major-version 24)
  ;; For important compatibility libraries like cl-lib
  (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")))
(package-initialize)

記述後,emacsを再起動するとパッケージ管理システムが使えるようになります.

パッケージ管理システムの使い方

以下のコマンドを実行すると,パッケージ管理システムの画面が立ち上がります.

M-x package-list-packages

起動した後の画面はこんな感じ

f:id:tnishinaga:20150704221831p:plain

パッケージのインストール方法は,インストールしたいパッケージ名(青色になってるところ)にカーソルを移動し,Enterを押すと画面の下半分にパッケージの詳細が出ます.

その状態で C-x o(Ctrl+xを入力後,Ctrlを離してoを入力) を入力すると,下半分の詳細欄にカーソルが移動します. その後「Install」のところにカーソルを持っていき,Enterを押すと以下の様な確認メッセージが出るので,そこで「y」を押せばインストールが開始されます.

f:id:tnishinaga:20150704221836p:plain

インストールしたパッケージ

とりあえずmultiple-cursorsをインストールして,SublimeTextのCmd+DやCmd+Shift+Lを使えるようにしてみました.

region-bindings-mode(インストールが必要)を使ってキーバインドを登録しているので,Ctrl+spaceで範囲を選択後

  • aを押すと,選択した単語すべてを選択してカーソルを増殖
  • nを押すと,選択した単語を順番に選択してカーソルを増殖
  • lを押すと,選択した行全てにカーソルを増殖

できるようにしています.

カーソルを1つに戻したいときは,Ctrl+spaceを入力して範囲選択モードに入った後,「;」を入力するとmultiple-cursorsモードが終了します.

今後追加したい機能たち