0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

spacemacsのpareditキーバインドを追加する

Last updated at Posted at 2019-09-23

前置き

spacemacsでsmartparenspareditのキーバインディングで使っている。

たとえば以下のカーソル配置でCtrl + →はA.の飲み込み、Ctrl + ←はB.の吐き出し操作となる。

;; 初期状態(カーソルはaaaの隣)
(|aaa bbb) ccc

;; A. cccを飲み込み
(|aaa bbb ccc)

;; B. bbbを吐き出し
(|aaa) bbb ccc

矢印キー つらい……… :innocent:

キーバインドを増やす

設定ファイル.spacemacs(defun dotspacemacs/user-config ())内に以下のようなコードを追加すればよい。

.spacemacs
(defun dotspacemacs/user-config ()
  ;; paredit用に封じる
  (define-key evil-insert-state-map (kbd "C-o") 'nil)
  (define-key evil-insert-state-map (kbd "C-p") 'nil)
  ;; paredit前方飲み込み
  (define-key evil-insert-state-map (kbd "C-p") 'paredit-forward-slurp-sexp)
  ;; paredit後方飲み込み
  (define-key evil-insert-state-map (kbd "C-u") 'paredit-backward-slurp-sexp)
  ;; paredit前方吐き出し
  (define-key evil-insert-state-map (kbd "C-o") 'paredit-forward-barf-sexp)
  ;; paredit後方吐き出し
  (define-key evil-insert-state-map (kbd "C-i") 'paredit-backward-barf-sexp)
  ;; paredit括弧削除
  (define-key evil-insert-state-map (kbd "C-d") 'paredit-splice-sexp)
  )

上記の例では、evil-insert-state-map(要するにvimのinsert mode)において、Ctrl + pCtrl + uで飲み込み(slurp)操作、Ctrl + oCtrl + iで吐き出し(barf)操作ができる。
また、Ctrl + dで括弧を除去できる。

他のキーバインドと被らせると昇天する :innocent: のでそこだけは慎重に…
今回の例でもinsert stateでのCtrl + oCtrl + pが被っていたので、誠に遺憾ながら消えていただいた… :pray:

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?