2008년 11월 24일 월요일

emacs 에서 현재 버퍼를 기억해뒀다가 키 하나로 스위칭 하기

svn 을 쓸때는 f12 에 psvn 버퍼를 찾거나/새로만들어서스위칭 하는 코드를 붙여서 썼었는데 요즘엔 머큐리얼을 쓰면서 psvn 상태보다 dired 모드를 중심으로 코딩하는 경우가 더 많아졌네.  dired 켜두고 몇몇 중요 서브디렉토리만 i 로 추가해서 쓰면 psvn 쓸때처럼 편리하게 쓸수 있어 좋드라.

그래서 C-u f12 를 누르면 현재 버퍼 기억하고 다시 f12 를 누르면 기억했던 버퍼로 스위칭 하는 함수를 만들어봤다.

(defun quick-switch-buffer ()
"f12 에 매핑을 했다면 C-u f12 를 눌러서 현재 버퍼를 기억해두고
f12 를 누르면 그 버퍼로 뿅"

(interactive)
(if current-prefix-arg
(setq *quick-switch-buffer* (current-buffer))
(switch-to-buffer *quick-switch-buffer*)))
(global-set-key [(f12)] 'quick-switch-buffer)


좀더 다듬자면 에러처리(버퍼가 사라졌거나등등) 또는 여러개의 버퍼를 리스트로 가지고 있다가 f12 누를때마다 순환.. 등등 의 기능을 붙여도 좋겠는데.. 아직은 필요성이 느껴지질 않네.

댓글 없음: