![일치하는 항목으로 커서를 이동하고, 편집하고, 커서를 다음 일치 항목으로 이동하고, 편집합니다. 디렉토리에서와 마찬가지로요?](https://linux55.com/image/16585/%EC%9D%BC%EC%B9%98%ED%95%98%EB%8A%94%20%ED%95%AD%EB%AA%A9%EC%9C%BC%EB%A1%9C%20%EC%BB%A4%EC%84%9C%EB%A5%BC%20%EC%9D%B4%EB%8F%99%ED%95%98%EA%B3%A0%2C%20%ED%8E%B8%EC%A7%91%ED%95%98%EA%B3%A0%2C%20%EC%BB%A4%EC%84%9C%EB%A5%BC%20%EB%8B%A4%EC%9D%8C%20%EC%9D%BC%EC%B9%98%20%ED%95%AD%EB%AA%A9%EC%9C%BC%EB%A1%9C%20%EC%9D%B4%EB%8F%99%ED%95%98%EA%B3%A0%2C%20%ED%8E%B8%EC%A7%91%ED%95%A9%EB%8B%88%EB%8B%A4.%20%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%EC%84%9C%EC%99%80%20%EB%A7%88%EC%B0%AC%EA%B0%80%EC%A7%80%EB%A1%9C%EC%9A%94%3F.png)
알고리즘 정전:
- 문제: 일치하는 파일을 찾았습니다.
- 문제: 스태킹/버퍼링 일치
- 커서를 스택의 다음 파일로 이동하여 일치하는 위치로 이동합니다.
- 2단계를 반복하세요.
이 문제를 해결하기 위해 이전에 사용한 적이 있는 것입니다.
Vi/m: (아래 코드는 우분투 서버에서 실행되며 시스템 관리자가 구성할 수 있지만 로컬로 실행되지는 않습니다.)
:grep -r "[^|]*|[^|]*|[^|]*|.*" *
<edit something>
:cn
<edit something>
:cn
<damn forgot it>
:bn
<forward and so on>
이맥스: M-x grep Enter
그때는 홀렸지만 grep -r "[^|]*|[^|]*|[^|]*|.*" *
지금은 신비스럽습니다. 빠르게 레이어 편집을 수행하는 방법은 무엇입니까?
쉘 스타일:그런 다음 grep-xargs-something-things-vi를 사용하여 거친 단일 라이너를 만든 적이 있지만 바퀴를 재발명하는 냄새가 나기 시작했습니다.
vim/emacs를 병치해서 죄송합니다. 어떤 도구를 사용하든 상관없습니다. 가장 편리한 도구를 사용하세요(xargs/emacs/vi/m은 단지 예일 뿐입니다).
답변1
M-xgrep
Emacs에서는 다음을 사용할 수 있습니다.일반적으로 사용되는 키발견된 일치 항목을 나타내는 다음 링크와 버퍼 간(또는 원하는 모든 항목)을 앞뒤로 전환하기 위한 일반적인 범용 Emacs 키입니다.
다음 게임으로 건너뛰는 전용 키를 배울 수도 있습니다.
M-g n발견 된 다음 일치 항목으로 즉시 이동하는 "전용" 키는 기억하기 쉽습니다.G아 어서Next) (또는 C-x `) for 는 next-error
for;보다 next-error
더 일반적인 명령 입니다. grep
도움말에서(당 C-h k M-g n):
[It]은 일반적으로 가장 최근에 시작된 컴파일, grep 또는 발생 버퍼를 사용합니다.
(사실 저는 LaTeX를 먼저 "컴파일"하는 법을 배웠습니다.)
내 Emacs에서 키 바인딩을 사용하는 보다 일반적인 "go" 명령(에 따라 M-g C-h):
전역 바인딩은 다음으로 시작됩니다 M-g. 키바인딩 ----------- M-g ESC 접두사 명령 M-g ggoto-line
M-g nnext-error
M-g pprevious-error
M-g M-ggoto-line
M-g M-nnext-error
M-g M-pprevious-error