일치하는 항목으로 커서를 이동하고, 편집하고, 커서를 다음 일치 항목으로 이동하고, 편집합니다. 디렉토리에서와 마찬가지로요?

일치하는 항목으로 커서를 이동하고, 편집하고, 커서를 다음 일치 항목으로 이동하고, 편집합니다. 디렉토리에서와 마찬가지로요?

알고리즘 정전:

  1. 문제: 일치하는 파일을 찾았습니다.
  2. 문제: 스태킹/버퍼링 일치
  3. 커서를 스택의 다음 파일로 이동하여 일치하는 위치로 이동합니다.
  4. 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-xgrepEmacs에서는 다음을 사용할 수 있습니다.일반적으로 사용되는 키발견된 일치 항목을 나타내는 다음 링크와 버퍼 간(또는 원하는 모든 항목)을 앞뒤로 전환하기 위한 일반적인 범용 Emacs 키입니다.

다음 게임으로 건너뛰는 전용 키를 배울 수도 있습니다.

M-g n발견 된 다음 일치 항목으로 즉시 이동하는 "전용" 키는 기억하기 쉽습니다.G아 어서Next) (또는 C-x `) for 는 next-errorfor;보다 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 g        goto-line
M-g n        next-error
M-g p        previous-error

M-g M-g      goto-line
M-g M-n      next-error
M-g M-p      previous-error

관련 정보