vi-mode를 사용하는 zsh: 명령줄을 실행하지 않고 나중에 사용할 수 있도록 보존하는 방법

vi-mode를 사용하는 zsh: 명령줄을 실행하지 않고 나중에 사용할 수 있도록 보존하는 방법

복잡한 명령을 입력하다가 먼저 다른 명령을 입력해야 한다는 것을 깨닫는 상황이 자주 발생합니다.

사용자 로서 다른 명령을 입력한 다음 삭제된 명령줄을 사용할 vi수 있어 기쁩니다 . 불행하게도 나 자신을 포함 해 누구도 .0 Dpvizsh

이제 I명령 시작 부분에 몇 가지 명령을 삽입하여 실패하게 만들고, 다른 작업을 수행하고, 기록에서 이전 명령을 제거하고, 스스로에게 묻습니다.xx같은 일을 하는 더 쉬운 방법이 있나요?

중복이 아닙니다!vi 모드를 사용하고 있다고 언급했습니다. 다른 질문에 대한 답변은 vi 모드에 적용되지 않습니다. 언급하지 않았음에도 불구하고 emacs 모드에서만 작동하므로 오해의 소지가 있습니다. 사람들이 정답을 찾을 수 있도록 다시 열어주세요.

답변1

interactivecomments셸 옵션 활성화

setopt interactivecomments

#명령줄에서 일반/명령 모드로 작업을 사용합니다(예: EscFollow 를 누르세요 #). 이는 #행 앞에 삽입하고 즉시 해당 행을 커밋하고(주석이므로 무시됨) 명령줄 기록에 추가합니다. 이는 한 줄씩 작동합니다. 즉, 불행하게도 여러 줄 명령을 잘 처리하지 못합니다.

#주석 처리된(예: 명령줄 기록에서 가져온) 줄에서 이 작업을 사용하면 해당 #줄의 시작 부분에서 해당 줄이 제거되고 커밋됩니다.

interactivecomments옵션은 대화형 쉘에서는 기본적으로 설정되지 않지만 비대화형 쉘에서는 설정됩니다.

관련 정보