2013년 11월 28일 목요일

[Emacs] visual-regexp, 인터랙티브한 문자열 변경 확장

Emacs에서 기본적으로 제공되는 문자열 변경 함수(query-replace 등등)는 굉장히 불친절(?)하다. 뭔가 비쥬얼적으로 인터랙티브하게 변화되는 부분을 보여주지 않음을 안타까워 하며 관련 확장을 찾아보다 visual-regexp 라는 확장을 발견하게 되었다.

https://github.com/benma/visual-regexp.el

간단히 영상으로 보는 것이 수 줄의 글 보다 나을 것 같아서 스크린캐스트를 찍어봤다. (당연히 아무런 소리도 없다)


문자열 변경 외에도 검색용 함수도 제공해주는 친절한 확장이다.

별도의 모드가 제공되는 환경이 아니라 함수만 제공해 주는 확장이기 때문에 별도로 단축키를 배정해서 사용하는 것이 편할 것이다.
(global-set-key (kbd "C-s") 'vr/isearch-forward)
(global-set-key (kbd "C-r") 'vr/isearch-backward)
(global-set-key (kbd "C-c r") 'vr/replace)
(global-set-key (kbd "C-c q") 'vr/query-replace)
원하는대로 고치거나 필요한 것만 넣어서 사용하면 된다. :-)

위 영상은 visual-regexp-steroids 라는 확장 또한 사용 한 상태이다. 이 확장은 추가 정규표현식(예를 들자면 Python의 RE모듈에서 사용하는 정규표현식 등)을 지원하기 때문에 어떤 면에서 더욱 편리 할 수도 있다.

https://github.com/benma/visual-regexp-steroids.el/

스테로이드(?) 역시 동일한 개발자가 만든 확장이라 호환성에 문제는 없을 듯.

참고로 문자열 변경 기능 사용 시 찾는 문자열을 다 지우면 일시적으로 화면에 이상한 문자가 표시되는 버그가 있긴 한데 별로 문제될 것은 없는 것 같다.

댓글 없음 :