2010-06-28 4 views
3

매크로를 기록하고 반복하기 위해 emacs에 내장 된 f3/f4 바인딩을 사용합니다. 특히 검색과 함께 사용하면 매우 강력하고 유용한 기능입니다. 그러나 최근에 쿼리 대체 (기본적으로 M-S-5)를 수행 할 때마다 내 매크로 기록이 중지된다는 사실을 최근 알게되었습니다. 이것을 막을 수있는 방법이 있습니까? 나는 query-replace가 대화 형이라는 것을 알고 있지만, 3 번을 대체하기 위해 'y'를 3 번 ​​입력하면, 매크로는 똑같이 수행되어야한다고 생각한다.emacs에서 매크로를 쿼리 대체 하시겠습니까?

내 매크로를 기록 할 때 C-u 3 M-S-5를 수행 할 것입니다. 그래서 내가하는 일에 대해 충분히 알기 때문에 교체가 정확히 3 번 수행됩니다. 그러나 명백하게 질의 - 바꾸기는 C-u를 무시합니다! 일반적으로 매크로 사용과 C-u 사용은 원활합니다. 질의를 대체 할 수있는 방법이 있습니까?

답변

3

내 이맥스 (23.2)와 사용자 초기화 파일 (emacs -q)이 없으면 query-replace이 잘 작동하는 것으로 나타났습니다. 누르면

1 2 tj 4 5 
1 2 tj 4 5 
1 2 tj 4 5 
1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5 

: 나는 나를 왼쪽 텍스트 블록

<f3> M-S-5 3 RET tj RET y y y q <f4> 

의 상단에 커서를 이동

1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5 
1 2 3 4 5 

: 이것은 내가에 입력 한 내 테스트

입니다 <f4> 다시 내가 가진 피트 :

1 2 tj 4 5 
1 2 tj 4 5 
1 2 tj 4 5 
1 2 3 4 5 
1 2 tj 4 5 
1 2 tj 4 5 
1 2 tj 4 5 
1 2 3 4 5 

예상대로 작동합니다. 행동에 영향을주는 사용자 지정이 없는지 확인하려면 emacs -q으로 시도하는 것이 좋습니다.

+0

나는 쿼리 대체를 종료하기 위해 습관에서 Ctrl-G를 눌렀지만 어떤 이유로 매크로 기록을 종료합니다. –

+0

비록 내가 C-u와 함께 작동시키는 법을 알고 싶지만) –

+1

@JosephGarvin'C-g'은 키보드 매크로를 기록하고있는 현재 명령을 인터럽트합니다. http://www.gnu.org/software/emacs/manual/html_node/emacs/Quitting.html을 참조하십시오. –

관련 문제