명령을 실행하지 않고 fc를 중단하려면 어떻게합니까?


13

fc 명령을 사용하면 이전 명령을 시각적으로 편집 할 수 있습니다. 편집기에서 마음이 바뀌면 명령 실행을 중지하는 방법은 무엇입니까? vim에서 q를 입력하십시오! 또는 q 둘 다 명령이 실행되고 CTRL-C가 작동하지 않습니다. 편집기에서 명령을 삭제 한 다음 wq를 수행 할 수있는 유일한 옵션입니까?

답변:


17

vi에서 :cq저장하지 않고 0이 아닌 리턴 코드를 입력 하여 종료 할 수 있습니다 . 이 경우 명령이 반복되지 않습니다.

또는 일반적으로 ctrl-z명령을 다시 실행하지 않고 셸로 돌아 오는 편집기를 일시 중단 할 수 있습니다 . 여전히 fg편집기를 다시 시작해야하지만 tmp 파일은 더 이상 존재하지 않으므로 편집기를 안전하게 종료 할 수 있습니다. 또는 kill -9 %이 일시 중지 된 편집기 일 수 있습니다 .

더 쉬울 수 있다는 데 동의합니다. 물론 vi 또는 emacs 명령을 사용하여 항상 bash 내에서 행을 편집 할 수 있습니다.


vi에는 ": cq"명령이 없습니다. ": q!"를 입력하셨습니까?
schily

@schily 죄송합니다, vi로 vim을 가정했습니다. quickfixcq 에서 vim 에 대해 읽을 수 있습니다 .
meuh

불행히도, vim은 POSIX와 호환되지 않습니다 (향상된 향상 외에도). 일반적인 도움을 받으려면 일반적으로 로컬 또는 공급 업체 고유의 개선 사항에 의존하지 않는 것이 좋습니다. BTW : : q! 이 경우 POSIX vi가! = 0을 종료하므로 충분합니다.
schily

@schily 설치되는 정력에 따라 대부분의 경우 아마도 안전하고,이 경우에는 아스 커는 특히 말했다 q!그들을 위해 작동하지 않았다
마이클 Mrozek

2
오류가 없었으므로 종료 코드가 0이기 때문입니다. vi에서는 : c (잘못된 명령 메시지가 표시됨)를 입력 한 다음 : q를 입력합니다. 기억 된 오류는 종료 코드! = 0이됩니다. 그러나 이것은 vim에서 작동하지 않습니다. 내 이전 가정은 : q! 항상 종료 코드가 발생합니다! = 0이 잘못되었습니다.
schily

3

아마도 더 쉽게 기억하는 방법은 명령을 삭제하고 (dd해야 할) 종료하는 것입니다 ( ZZ또는 저장을 종료하는 다른 방법은해야합니다). IMHO :cq는 매우 신비합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.