koodev

Emacs Wdired 모드

Emacs

Wdire 모드에서 (query-replace) 를 실행한 모습

이번주에 폴더 안의 파일들의 이름에 접두어를 붙여서 바꿀일이 있었다. Python 스크립트를 만들어서 실행시켰는데, 잠시 후 이를 취소해야겠다는 생각이 들었다. 그래서 다시 취소하는 Python 스크립트를 만들어야 하나 했었는데, Emacs의 Wdired 모드를 사용하여 간단하게 파일 이름들을 되돌려 놓을 수 있었다.

Wdired 모드는 Dired 버퍼에서 동작하는 모드이다. 원래 Dired 버퍼는 읽기 전용인데, Wdired 모드는 이를 "부분" 쓰기허용으로 만든다. 즉, 여기서 W는 "writable"을 의미한다.

Wdired 모드를 활성화 시키려면 우선 Dired 모드로 진입하고 나서, C-x C-q (dired-goggle-read-only) 를 누르면 된다.

Wdired 모드에 진입하면 파일 이름을 수정할 수 있다. 커서로 수정하는 것 뿐만 아니라 (replace-regexp) 같은 것으로도 편집이 가능하다. 파일 이름을 몽땅 지우면 해당 파일이 삭제되니 주의하자. 파일 이름만 수정 가능하고 다른 부분(권한 등)은 기본적으로 편집할 수 없다. 그런데 wdired-allow-to-change-permissions 변수를 t 로 바꾸면 권한 수정을 할 수 있게 된다.

수정된 내용은 바로 반영되는 것은 아니고 C-c C-c 이나 파일 저장할 때 쓰는 C-x C-s 를 눌러야 반영된다. Wdired 모드에서는 둘 다 (wdired-finish-edit) 로 매핑되어 있다. 취소하기 위해서는 C-c C-k (wdired-abort-finish) 를 하면 된다.

참고

'Emacs' 카테고리의 다른 글

Emacs Major/Minor 모드  (0) 2019.10.23
Emacs - Python 문서 열람시 멈춤현상  (0) 2019.09.18
macOS 에서 Emacs 데몬이 종료되지 않는 문제  (0) 2019.06.07
Create a new file in ido mode  (0) 2019.06.07
Emacs Server setting  (0) 2019.05.15