Solist Work Blog

List of all blog posts

emacs25.1

Arch linux の pacman に emacs25.1 が来たので 早速上げてみた。

emacs25.1 で変わったところ


M-;

でコメントアウトできなくなったが、代わりに

C-x C-;

になったようだ。これはこれでいい感じなのでそのまま使ってみることにする。 emacs-lisp-modeではコメントアウトできなかったが 他のモードでコメントアウトできるものもあるから emacs-lisp-modeが変わったのかもしれない。 まだ調べきれていない。

tramp でサーバーにつなぐと dired がサクサク動いていて もうサーバーで vim 使わなくてもいいんじゃないかってくらいよい。 さすがにファイルを開けるのは少しもたつくけど…

trampとpecoを使ってサーバーのファイルをemacsでいじる


.zshrc に alias を設定する

alias sudotramp='emacsclient -a emacs -n /sudo:$(grep -iE "host[[:space:]]+[^*]" ~/.ssh/config|peco|awk "{print \$2}"):/ & wmctrl -a emacs'
alias tramp='emacsclient -a emacs -n /ssh:$(grep -iE "host[[:space:]]+[^*]" ~/.ssh/config|peco|awk "{print \$2}"):/ & wmctrl -a emacs'

※& wmctrl -a emacs は linux で window を最上面にもってくるために利用するので OSX では必要ない。

これで ~/.ssh/config からホスト情報を引っ張ってきて peco でサーバーを選択して自分のマシンの emacs でサーバのファイルを編集できるようになる

user 権限でサーバーのファイルをいじるときは tramp root 権限でサーバーのファイルをいじるときは sudotramp

と使い分けている。

tramp とシェルで打つとサーバーを peco で選択して

pecoでサーバーを選択

emacs の tramp で開く

trampでサーバーに接続

わざわざ emacs 上で tramp の長いコマンドを打たなくてよくなった。 快適になった。

emacsの設定


;; tramp
(add-to-list 'tramp-default-proxies-alist
         '(nil "\\`root\\'" "/ssh:%h:"))
(add-to-list 'tramp-default-proxies-alist
         '("localhost" nil nil))
(add-to-list 'tramp-default-proxies-alist
         '((regexp-quote (system-name)) nil nil))

pecoについては https://github.com/peco/peco

Arch linux なら

yaourt peco