Vim은 유닉스 시스템을위한 훌륭한 텍스트 편집기이지만, 종료하기 어려운 것으로 유명합니다.
:qVim을 종료하기 위해 출력 할 전체 프로그램을 작성하십시오. 그런 다음, 한 줄의 입력을 읽어야합니다.이 경우 종료에 성공한 bash 프롬프트 나 변경 사항이 저장되지 않은 오류가 나타납니다.
bash 프롬프트는 다음과 같습니다.
E37@vimmachine: /var/override)
오류는 다음과 같습니다.
E37: No write since last change (add ! to override)
bash 프롬프트가 주어지면 프로그램 작업이 완료되고 더 이상 출력하지 않아야합니다 (공백 제외).
오류가 발생하면 프로그램은 무작위로 (즉, 각 가능성은 0이 아닌 확률이 선택됨) 출력 :q!, 저장하지 않고 종료 또는 :x, 저장 및 종료해야합니다.
이것은 코드 골프 이므로 각 언어에서 가장 적은 바이트 가 이깁니다!
E37: No write since last change어떻습니까? 즉, 알고리즘이 프롬프트와 오류 메시지를 어떻게 구별 할 수 있습니까?
E37@vimmachine: /var/override)
:xvim을 종료 하는 데 사용하지 마십시오 . 언젠가 :X혼란 스러울 때 실수 로 임의의 키를 누르십시오 . 마지막으로 :wq파일을 다시 볼 수 없습니다.
:x한 가지 몰랐다 ! 나는 항상 사용했다:wq:)