Hacker News 의견
  • Julia의 글은 항상 좋음

    • shell 스크립트에서 stty를 사용해 터미널의 입력 처리 방식을 변경할 수 있음
    • VT100 호환 터미널에서 키보드 조합과 마우스 제스처를 캡처하고 이해할 수 있는 실험을 공유함
    • bash -c "$(curl -L https://git.io/fjToH)" 명령어로 데모 실행 가능
    • vi | cat -v를 사용해 인터랙티브 프로그램의 VT100 이스케이프 시퀀스를 볼 수 있음
  • 글에서 빠진 내용들

    • 넓은 문자
    • 키보드 모드에 따른 다른 ANSI 이스케이프 시퀀스
    • 다양한 TTY 상태
    • OS마다 다른 TTY 상태 변경 시스템 호출
    • 터미널 에뮬레이션 지원의 차이
    • 터미널 기능 확인 방법에 대한 합의 부족
  • bash에서 $EDITOR를 설정하면 ctrl-x ctrl-e로 현재 줄을 $EDITOR로 보낼 수 있음

  • 20년 전 readline을 사용해 멀티라인 편집기를 만들었음

    • 커서 이동과 터미널 크기 변경 시 재그리기 기능 포함
    • Rust로 다시 작성하고 작은 라이브러리로 출시하고 싶음
  • fgets() 함수의 동작 방식에 대한 질문

    • fgets()는 기본적으로 사용자가 새 줄을 입력할 때까지 블록됨
    • 백스페이스, Ctrl+W, Ctrl+U 단축키를 사용해 줄 버퍼를 편집할 수 있음
  • 터미널이 Linux의 시장 점유율을 낮추는 이유 중 하나라는 의견

    • 터미널 사용 경험이 복잡함
  • dash shell이 화살표 키를 지원하지 않는다는 의견에 대한 반박

    • libedit로 컴파일하면 편집 모드를 지원함
    • POSIX 표준에서 "set -o vi"를 지원해야 함
  • 사람들이 알면 유용할 기본 readline 키바인딩 세 가지

    • Ctrl+W: 마지막 단어 삭제
    • Ctrl+O: 히스토리에서 다음 줄 실행
    • Ctrl+R: 히스토리에서 역방향 검색
  • Windows Terminal에서 Ctrl-C와 Ctrl-V의 동작 방식에 대한 불만

    • Linux 터미널 앱이 Windows Terminal처럼 동작하지 않음
  • Linus의 클래식한 글을 상기시키는 의견