FreeBSD에서 `nvi`를 사용하여 백스페이스로 텍스트를 삭제하는 방법은 무엇입니까?

FreeBSD에서 `nvi`를 사용하여 백스페이스로 텍스트를 삭제하는 방법은 무엇입니까?

어떤 이유로 현재 삽입 모드가 전환되기 전에 이미 파일에 있던 텍스트를 삭제하기 위해 백스페이스를 사용할 수 없습니다.

이 텍스트의 한 줄을 편집한 다음 삽입 모드에서 백스페이스를 시도하면 esc뒤에 클릭해야만 새로 추가된 문자를 삭제할 수 있습니다 backspace. 하지만 이미 있는 문자는 삭제되지 않습니다. 캐럿이 바로 그들 앞에 멈췄습니다.

nvi역시 지원되지 않습니다 :set backspace.

즉, 내 작업은 백스페이스 키를 사용하여 현재 텍스트의 단어 중간 왼쪽에 있는 일부 문자를 삭제하는 것입니다 nvi. 이 목표를 달성하는 방법은 무엇입니까?

답변1

이것이 작동하는 방식입니다 nvi. 변경하려면 nvi소스 코드를 패치해야 하며 주석 처리도 가능합니다.아래 차단, v_txt.c그리고 다시 컴파일:

    /* If nothing to erase, bell the user. */
    if (tp->cno <= tp->offset) {
        if (!LF_ISSET(TXT_REPLAY))
            txt_nomorech(sp);
        break;
    }

또는 기능이 vim필요한 경우 vim설치할 수 있습니다.

관련 정보