Vim 매크로 저장


166

vim 편집기에 기록 된 매크로를 올바르게 저장 / 재사용하는 방법을 아는 사람이 있습니까?

답변:


216

q매크로를 기록 하려면 뒤에 문자를 사용하십시오 . 이것은 복사 / 붙여 넣기 레지스터 중 하나에 들어가므로 일반 모드에서 "xp또는 "xP명령을 사용하여 정상적으로 붙여 넣을 수 있습니다 .

저장하려면 .vimrc를 열고 내용을 붙여 넣으십시오. 그러면 다음에 vim을 시작할 때 레지스터가 나타납니다.
형식은 다음과 같습니다.

let @q = 'macro contents'

그래도 따옴표에주의하십시오. 그들은 제대로 탈출해야합니다.

따라서 매크로를 저장하려면 다음을 수행하십시오.

  • 일반 모드에서 : qq
  • 어떤 명령을 입력
  • 일반 모드에서 : q
  • .vimrc를여십시오
  • "qp매크로를 let @q = '...'줄 에 삽입

3
또한 특수 문자 (필자의 경우 이스케이프와 같은)를 삽입 해야하는 경우 CTRL-V <ESC>삽입 모드에서 올바른 문자를 삽입하십시오. 리터럴 <ESC>이 작동하지 않습니다
adam_0

5
"그러나 : let을 사용하는 위의 방법은 <CR> 또는 <NL> 문자 (캐리지 리턴 또는 줄 바꿈)로 끝나는 매크로에 대해 예상대로 작동하지 않습니다." vim.wikia.com/wiki/Macros#Saving_a_macro
Paolo

2
따옴표 (매크로 내용 주위)가 필요합니까?
user2472071

15
Ctrl+r Ctrl+r registerName입력은 내용을 해석하지 않고 등록하는 것보다 낫습니다 "qp. 그럼에도 불구하고 in-vim 방법의 경우 +1입니다.
LAFK에 따르면 복원 ​​모니카는

@ adam_0 이것에 대해 자세히 설명해 주시겠습니까? 아마도, 예를 포함 시키겠습니까? 특수 문자, 즉 esc를 포함시키는 방법을 알 수 없습니다. 탈출을 입력하는 모든 조합을 시도했지만 아무 소용이 없습니다. "키 코드"는 매크로를 망치게하고 전체 시퀀스가 ​​인쇄됩니다.
GH05T

21

보다 강력한 솔루션을 위해 Marvim 을 체크 아웃 할 수 있습니다 .

매크로를 특정 네임 스페이스에 저장하거나 파일 유형을 기본 네임 스페이스로 사용하면 나중에 저장된 매크로를 검색하여 사용할 수있는 레지스터에로드 할 수 있습니다.

많은 매크로를 재사용하면 도움이됩니다.


6
두 번째로 두 번째로 marvim- 파일을 / plugin 디렉토리에 복사하는 것이 얼마나 쉬운 지 말한 다음 F3을 사용하여 매크로를 저장하고 F2를 실행하십시오.
Raine Revere

18

~ / .vimrc 안에 매크로를 작성하여 CTRL + O에 의해 시작된 매크로를 예를 들어 정의하려면 ~ / .vimrc에 다음 줄을 추가하십시오.

map <C-O> MACROTEXT

입력하여 매크로를 기록하면 입력 qa하여 매크로 텍스트를 검색 할 수 있습니다"ap


"ap 또는 이와 동등한 기능을 사용하는 것은 효과가 없었지만, 다음과 같이 동일한 정보를 얻을 수 있습니다. : reg
DShook

"ap은 a레지스터에 기록 된 매크로를 나타냅니다
Tyler Fowle

11

:mkexrc(또는 :mkvimrc) 명령은 현재 모두 저장할 수 있습니다 :map:set파일에 설정을. 자세한 내용 :help mkexrc을 참조하십시오.


4

당신은 이렇게 할 수 있습니다 ~/.vimrc

:let @a="iHello World!\<CR>bye\<Esc>"

참고 :와 같이 특수 키를 사용하려면 큰 따옴표를 사용해야합니다 \<this silly example>.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.