복잡한 명령을 입력하다가 먼저 다른 명령을 입력해야 한다는 것을 깨닫는 상황이 자주 발생합니다.
사용자 로서 다른 명령을 입력한 다음 삭제된 명령줄을 사용할 vi
수 있어 기쁩니다 . 불행하게도 나 자신을 포함 해 누구도 .0 Dpvi
zsh
이제 I명령 시작 부분에 몇 가지 명령을 삽입하여 실패하게 만들고, 다른 작업을 수행하고, 기록에서 이전 명령을 제거하고, 스스로에게 묻습니다.x
x
같은 일을 하는 더 쉬운 방법이 있나요?
중복이 아닙니다!vi 모드를 사용하고 있다고 언급했습니다. 다른 질문에 대한 답변은 vi 모드에 적용되지 않습니다. 언급하지 않았음에도 불구하고 emacs 모드에서만 작동하므로 오해의 소지가 있습니다. 사람들이 정답을 찾을 수 있도록 다시 열어주세요.
답변1
interactivecomments
셸 옵션 활성화
setopt interactivecomments
#
명령줄에서 일반/명령 모드로 작업을 사용합니다(예: EscFollow 를 누르세요 #). 이는 #
행 앞에 삽입하고 즉시 해당 행을 커밋하고(주석이므로 무시됨) 명령줄 기록에 추가합니다. 이는 한 줄씩 작동합니다. 즉, 불행하게도 여러 줄 명령을 잘 처리하지 못합니다.
#
주석 처리된(예: 명령줄 기록에서 가져온) 줄에서 이 작업을 사용하면 해당 #
줄의 시작 부분에서 해당 줄이 제거되고 커밋됩니다.
쉘 interactivecomments
옵션은 대화형 쉘에서는 기본적으로 설정되지 않지만 비대화형 쉘에서는 설정됩니다.