2017-12-28 6 views
0

나는 vim (MacOS highsierra와 vim이 homebrew를 통해 설치됨)에 상당히 익숙하며 텍스트 객체를 cgn 명령 시퀀스로 표시하고 바꿔 쓰려고했습니다. 이것은 내가이 오류 메시지가vim cgn "E35 : 이전 정규 표현식이 없습니다."

E35가 계속, cgn에 갑자기을 몇 번 작동하지만, 모두 해제되었습니다 없음 이전 정규 표현식 지금까지 내가이 오류가 때 발생할 수있는 이해

을 사용자는 ~/.viminfo에 쓸 권리가 없습니다. 그래서 명시 적으로 설정합니다.

sudo chmod 666 .viminfo 

하지만이 오류 메시지가 계속 나타납니다.

+2

먼저 '/ my_search'를 사용하여 무언가를 검색해야합니다. –

+0

감사합니다. 이 답변을하시기 바랍니다, 그래서 당신에게 포인트를 줄 수 있습니다. – LongHike

답변

2

:h gn을 살펴보십시오. 거기에 그것은 말합니다 : 앞으로 검색된 마지막 검색 패턴을 찾으십시오.

그래서 마지막으로 사용한 검색 패턴이 있어야합니다. vim에서 검색은 슬래시 / 명령입니다. 검색에는 정규 표현식이 사용되므로 오류는 정규 표현식이 아니라 검색어입니다.

정상적인 n 운동과의 차이점은 무엇입니까? 음 gn은 검색된 용어를 선택합니다. 명령을 사용하는 경우 gn으로 변경하면 검색된 용어 만 변경되며 cn은 검색된 용어까지 모든 것을 변경합니다.

+0

'cgn'은 단어 (예 : 변수)를 바꾸는 데 자주 사용되기 때문에 커서 아래 단어를 선택하는 'wildcard' 명령을 언급하는 것이 좋습니다. 기본적으로'*'는 다음 항목으로 건너 뛸 것이므로 만약 마음에 들지 않으면'.vimrc' 파일에 다음과 같이 입력하십시오 :'nnoremap * : let @/= printf ("\\ <\\C%s\\>", expand (" ")) : hlsearch '을 (를) 설정하십시오. – Evgeniy

+0

@ damage220 아, 더 많은': s // g' 녀석을 보았습니다. 그러나 이것은 감사를 아는 데 유용합니다. –