- my-rewind : 버퍼 내에 맨 앞으로 이동하는 함수
- my-replace : 현재 위치로부터 뒤로 검색하면서 특정 문자열을 다른 문자열로 모두 바꿔주는 함수 (bound: 특정 위치까지 검색. nil이면 버퍼끝까지)
- my-replace-1t : 현재 위치로부터 뒤로 검색하면서 특정 문자열을 다른 문자열로 1회 바꿔주는 함수. 대체가 일어났을 경우 t를, 아니면 nil을 리턴 (bound: 특정 위치까지 검색. nil이면 버퍼끝까지)
함수 정의
(defun my-rewind () (goto-char (point-min)) ) (defun my-replace (str-from str-to bound) (progn (while (search-forward str-from bound t) (progn (delete-backward-char (length str-from)) (insert str-to) ) ) ) ) (defun my-replace-1t (str-from str-to bound) (progn (if (search-forward str-from bound t) (progn (delete-backward-char (length str-from)) (insert str-to) t ) nil ) ) )
사용 예
(defun my-replace-example () (interactive) (my-rewind) (my-replace "abc" "def" nil) ;버퍼내에 모든 'abc'를 'def'로 바꿈 )
'1. 연구 모듈 > Emacs' 카테고리의 다른 글
[Emacs] Prettier 설치 및 동작 방식 (0) | 2020.08.28 |
---|---|
[Emacs/Lisp] 테이블 태그에 Single Line 스타일 자동추가 스크립트 (0) | 2019.08.09 |
[Emacs/윈도우] "대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다." 에러 발생시 해결 방법 (0) | 2019.02.16 |
[Emacs/윈도우] 유용한 .emacs 설정 (0) | 2018.12.31 |
[Emacs] HTML 모드에서 들여쓰기시 스페이스 대신 탭 문자 사용하는 설정 (0) | 2018.08.10 |