VL
(use-package smartparens
:ensure t
:bind
("C-M-u" . sp-backward-up-sexp)
("C-M-d" . sp-down-sexp)
("M-F" . sp-forward-symbol)
("M-B" . sp-backward-symbol)
("C-)" . sp-forward-slurp-sexp)
("C-M-)" . sp-forward-barf-sexp)
("C-(" . sp-backward-slurp-sexp)
("C-M-(" . sp-backward-barf-sexp)
("C-M-t" . sp-transpose-sexp)
("C-M-k" . sp-kill-sexp)
("C-k" . sp-kill-hybrid-sexp)
("C-M-w" . sp-copy-sexp)
("M-d" . sp-kill-word)
("C-w" . sp-backward-kill-word-or-region)
("M-[" . sp-unwrap-sexp)
("M-]" . sp-rewrap-sexp)
:config
(defun sp-backward-kill-word-or-region (&optional count)
(interactive "p")
(if (use-region-p)
(sp-kill-region (region-beginning) (region-end))
(sp-backward-kill-word count)))
(require 'smartparens-config))