読者です 読者をやめる 読者になる 読者になる

fnwiyaBlog

EmacsとかLispとか可視化とか

{を補完して欲しいときと片方だけでいい時うまく使い分ける(smartchr)

smartparensなどを使っていると{だけ入力するのが意外と大変です。
- {を押す - C-dで}消す みたいな2コマンド必要になります。
かといって普段は{}と補完されたほうが便利なのでうまいことできないかと考えていたのですがsmartchrを使うとうまくいきました。

(use-package smartchr
  :config
  (global-set-key (kbd "=") (smartchr '(" = " " == " "=")))
  (global-set-key (kbd "+") (smartchr '(" + " "+" " += " "++")))
  (global-set-key (kbd "+") (smartchr '(" - " "-" " -= " "--")))
  (global-set-key (kbd "!") (smartchr '("!" " != ")))
  (global-set-key (kbd "&") (smartchr '(" && " "&")))
  (global-set-key (kbd "|") (smartchr '(" || " "|")))
  (global-set-key (kbd "{") (smartchr '("{ `!!' }" "{")))
  (global-set-key (kbd "(") (smartchr '("( `!!' )" "(")))
  (global-set-key (kbd "<") (smartchr '("< `!!' >" "<")))
  (global-set-key (kbd "[") (smartchr '("[ `!!' ]" "[")))
  (global-set-key (kbd "'") (smartchr '("\``!!''"  "\`")))
  (global-set-key (kbd "\"") (smartchr '("\"`!!'\""  "\"")))
  (global-set-key (kbd "\'") (smartchr '("\'`!!'\'"  "\'")))
)

キーの連続入力での出力をトグルで入れ替えられるので応用範囲は広いと思います。
スニペット的な使い方もできると思うので良い設定があればぜひ教えてくださいm(__)m