ed에서 현재 입력을 취소하는 방법

ed에서 현재 입력을 취소하는 방법

GNU ed에서 현재 입력을 취소하는 방법이 있습니까? 예를 들어:

$ ed myfile.txt
1234
a
Wrong speling.
Bad sentance.

이 시점에서 입력을 취소하고 싶습니다. 입력한 두 줄을 더 이상 삽입하고 싶지 않습니다. 가능합니까? 나는 다음과 같이 계속하고 싶습니다 :

.
u

입력을 취소하는 일반적인 방법으로 "실행 취소"를 사용합니까? 다른 방법이 있나요?

답변1

"몇 줄의 텍스트 추가를 시작하지만 실제로 추가하지는 않습니다"와 같이 입력을 "취소"할 수 없습니다.

a명령어 등을 사용하여 텍스트를 추가하는 경우하나의Ctrl+D한 줄의 텍스트를 취소하려면 두 번 누르세요.앞으로긴급한 Enter. 이렇게 하면 현재 편집 명령도 종료됩니다. 이 방법으로는 현재 행보다 더 많은 것을 추가 취소할 수 없습니다. 시스템 및 ed변형 에 따라 Ctrl+D삽입 모드에서 두 번 누르면 다음 명령을 입력하기 위한 새 줄이 제공될 수도 있고 제공되지 않을 수도 있습니다(이는 Ubuntu Linux가 아니라 OpenBSD에 해당됩니다).

ed위의 "트릭"(문서화되지 않은 기능)은 명령 기록을 얻기 위해 Readline 편집 기능과 함께 사용하는 경우 rlwrap작동하지 않습니다 .

표시된 것처럼 완료되면 전체 작업을 실행 취소할 수 있습니다. .자체 행에서 텍스트 삽입을 종료한 다음 u명령을 실행(실행 취소) 할 수 있습니다 . Ctrl+D새 줄에서 텍스트 삽입을 종료한 다음 이 명령을 사용할 수도 있습니다 u.

편집기 ed에는 단일 수준 실행 취소 기능이 있습니다. 즉, 가장 최근 명령만 실행 취소할 수 있습니다. 두 번 실행 취소하면 실행 취소 작업이 취소됩니다. 단일 , 또는 명령을 사용하여 텍스트에 여러 명령을 적용하는 경우 g이는 v하나 GV명령으로 처리되며 필요한 경우 명령을 실행 취소할 수 있습니다.

관련 정보