다음은 misc-cmds.el
요청한 것을 수행하는 다른 명령 (library )입니다. 단일 키 ( C-M-t
또는 무엇이든)에 바인딩하십시오 . 이를 사용하여 sexp를 앞뒤로 반복해서 이동할 수 있습니다.
음의 접두사 arg는과 같이 거꾸로 전치 transpose-sexp
되지만, 다른 거꾸로 조옮김을 할 준비가됩니다. 그리고 반복 할 때, 음의 접두사 arg는 방향을 뒤집습니다.
당신이에 명령을 결합한다면 말, C-o
다음, 다음 번 오른쪽으로, 다음 번 왼쪽에있는 오른쪽 세 번 지점의 왼쪽에있는 sexp 이동합니다.C-o C-o C-o
C--
C-o C-o
C--
C-o
숫자 접두사 arg는 처음 사용하는 경우에만 효과가 있습니다. 즉, 반복 할 때가 아니라 반복 할 때의 움직임은 항상 한 번에 하나의 sexp입니다.
(defun reversible-transpose-sexps (arg)
"Reversible and repeatable `transpose-sexp'.
Like `transpose-sexps', but:
1. Leaves point after the moved sexp.
2. When repeated, a negative prefix arg flips the direction."
(interactive "p")
(when (eq last-command 'rev-transp-sexps-back) (setq arg (- arg)))
(transpose-sexps arg)
(unless (natnump arg)
(when (or (> emacs-major-version 24)
(and (= emacs-major-version 24) (> emacs-minor-version 3)))
(backward-sexp (abs arg)) (skip-syntax-backward " ."))
(setq this-command 'rev-transp-sexps-back)))
(참고 : transpose-sexps
24.4에서 변경된 동작으로 , 여기서는 버전 테스트입니다. 24.4 이전에는 포인트가 계속해서 올바른 위치에있게되었습니다 (예 : 반복). 24.4부터 포인트가 잘못된 위치에 있습니다. ;-) 나는 지금 이맥스 버그 # 20698 을 제출했다 .)