![FreeBSD에서 `nvi`를 사용하여 백스페이스로 텍스트를 삭제하는 방법은 무엇입니까?](https://linux55.com/image/208835/FreeBSD%EC%97%90%EC%84%9C%20%60nvi%60%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%B0%B1%EC%8A%A4%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%A1%9C%20%ED%85%8D%EC%8A%A4%ED%8A%B8%EB%A5%BC%20%EC%82%AD%EC%A0%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
어떤 이유로 현재 삽입 모드가 전환되기 전에 이미 파일에 있던 텍스트를 삭제하기 위해 백스페이스를 사용할 수 없습니다.
이 텍스트의 한 줄을 편집한 다음 삽입 모드에서 백스페이스를 시도하면 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
설치할 수 있습니다.