surround.vimのEmacsバージョン作りました
surround.vimのemacsバージョンみたいな感じです. emacsバージョンを探したんですがなかったので悔しくて作りました.
リポジトリ
ganmacs/emacs-surround · GitHub
設定
1.どうにかして入れます
caskの場合はCaskファイルに以下を追加
(depends-on "emacs-surround" :git "https://github.com/ganmacs/emacs-surround.git")
cloneしてくるのは
$ git clone https://github.com/ganmacs/emacs-surround.git
こんなかんじでロードパスが通ってるところにおいてください.
2.設定ファイル
init.elに以下を追加.
(require 'emacs-surround) (global-set-key (kbd "C-q") 'emacs-surround)
使い方
変更
囲まれた文字列を変更したいときC-q '"と打つと
'He|llo World'
ダブルクォートをシングルクォートに変更します.
"Hello World"
削除
囲まれた文字列を削除したい場合はC-q d "と打ちます
"He|llo World"
そうすると以下のようになります
Hello World
挿入
文字列を囲みたいときはC-q i (かC-q ( <return>とうつと
He|llo World
文字列で囲みます
(Hello) World
または,込みたい範囲をリージョンで囲むと以下のように囲むこともできます
(Hello World)
カスタマイズ
emacs-surround-alistに囲むペアのリストを渡すと任意の文字列で囲むことができます.
例えば以下のコードをinit.elに書くと{で囲むときにスペースを入れることができます.
(add-to-list 'emacs-surround-alist '("b" . ("{ " . " }")))
つまり,以下のrubyのブロック内にいる状態でC-q {bとすると
[1, 2, 3].each {p |1+i}
前後にスペースが入った{になります.
[1, 2, 3].each { p 1+i }
終わりに
問題があれば教えてください