2010-04-26 5 views
10

vim 삽입 모드에서 현재 단어를 삭제하려면 Ctrl-Backspace를 사용하고 싶습니다. xterm에서 나는 이것을 꺼낼 수있다.gnome-terminal에서 vim의 단어를 삭제하려면 Ctrl-Backspace를 어떻게 가져 옵니까?

:inoremap <C-H> <C-W> 

그러나 내가 그럴 수있는 방법을 알아낼 수 없다.

vim 삽입 모드에서 control-v를 입력하고 백 스페이스 키를 누르면 xterm에서^H가 표시되고 ^? 그놈 터미널에서. 아쉽게도

:inoremap <C-?> <C-W> 

그놈 터미널에서 트릭을 수행하지 않습니다. control-backspace는 무엇이든 상관없이 단일 문자를 지 웁니다.

에 대해서는 ASCII 코드 :

그놈 터미널 당신이 편집에서 백 스페이스 문자를 변경할 수 있습니다 -> 회원 정보 환경 설정 -> 호환성. 불행하게도, 어떤 옵션은 내가 말할 수있는 지금까지, 작동하지 않습니다 : 나는 문자 자체를 매핑하려고하면

:inoremap <C-H> <C-W> 

후 정기적으로 백 스페이스 및 제어 - 백 스페이스처럼, 설정을 통해 백 스페이스 모두에 적용됩니다 전체를 지우고 자 등 워드; 해당 문자를 더하기 매핑하는 경우

:inoremap <C-^H> <C-W> 

그런 다음 일반 백 스페이스 및 제어 - 백스 페이스는 단일 문자 만 지우는 것입니다.

답변

10

그놈 터미널의 libvte를 패치해야합니다.

libvte에는 백 스페이스를 매핑하는 몇 가지 옵션이 있으며 그 중 아무 것도 Ctrl-backspace를 구분하지 못합니다. 리눅스 콘솔의 동작을 따르는 옵션 (백 스페이스의 경우 ^?, Ctrl-backspace의 경우^H)이 필요한 옵션이 필요합니다. this gnome bug을 참조하십시오.


2015 업데이트 : 23c7cd0f99d504cbab06d4c27254d4f3e2807ba8으로 수정되었습니다.

libvte 0.41.90, 0.40.3 이상으로 수정되었습니다.

+0

어떻게 패치를 적용 할 수 있습니까? libvte와 gnome-terminal을 재 컴파일하기 위해 필요한 단계는 무엇입니까? –

+0

@StevenLu 패치를 전달하고 gnome-term에 구성을 노출 시키십시오 (gconf-editor에서 직접 gconf/dconf를 편집 할 수 있음). 재 컴파일 된 libvte가로드 경로에 있는지 확인하십시오. – Tobu

+2

지난 달에이 패치가 주목을 받고 곧 출시 될 것으로 보입니다. 기다릴 수 없어. 난 정력을 위해 콘솔 vim에서 ctrl-backspace가 필요하다. – trusktr