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 }
終わりに
問題があれば教えてください