gnome-terminal 및 vim 삽입 모드에서 단어를 삭제하기 위해 <ctrl> + <backspace> 가져 오기


11

ctrl+ W한 번에 한 단어 씩 뒤로 삭제하는 것처럼 보입니다 . 훌륭하지만 실제로 다른 대부분의 앱과 마찬가지로 ctrl+ backspace와 함께 작동한다는 것을 정말로 원합니다 .

가장 좋은 방법은 무엇입니까? 그놈 터미널 명령, 명령 행 vim 및 GUI vim에 영향을 주려면 변경이 필요합니다.


1
vim에서 D를 누른 다음 B를 누르면 동일한 작업을 수행합니다. 그러나 터미널 에서이 기능을 놓치면 esc out해야하며 삽입 모드에서 작동하는 동안 작동하지 않습니다. CTRL + W에 대한 멋진 팁
mchid

답변:


8

참고 이있는 당신이 경우에 사용하는 (터미널 및 기본 이맥스 모드에서 작동합니다 Ctrl+W 당신을 위해 이전 단어를 삭제합니다). bash의 vi 모드에서는 작동하지 않으며 vi / vim 자체에는 영향을 미치지 않습니다. 따라서 이것은 부분적인 답변 일 뿐이지 만 이맥스 사용자가 제공 할 수있는 최선의 방법입니다.


이러한 종류의 작업은 readline라이브러리를 통해 관리되며,이를 통해 동작을 제어 할 수 있습니다 ~/.inputrc. 편집하거나 존재하지 않는 경우 작성 ~/.inputrc하고 다음 행을 추가하십시오.

"\C-H":"\C-W"

이제 새 터미널을 열면 작동합니다.

설명

\C-H실제로 Control+ BackSpace. 키를 누른 다음 Ctrl+ 키를 누르면 키 코드를 볼 수 있습니다 V. 당신은 BackSpace반환 을 볼 수 있습니다^H 있습니다.

이제 를 사용하여 이전 단어 ( 또는 ) 를 삭제하는 bash 함수에 + 를 바인딩 수 있습니다 . 그러나 나는 그것을 작동시킬 수 없다. 그것은 서로 다른 키와 함께 완벽하게 작동합니다 ( 예를 들어, 수 + 하지만 어떤 이유로, 내가 함께 작동하도록 그것을 얻을 수 없습니다 이전 단어 삭제) .ControlBackSpacebackward-kill-wordunix-word-rubout"\C-H": backward-kill-word"\C-E": backward-kill-wordCtrlEBackSpace

그래서 해결 방법으로, 우리는 단지지도 Ctrl+를 BackspaceCtrl+ W이미 매핑됩니다 backward-kill-word. 누를 때, Ctrl+ Backspace그가에 변환됩니다 Ctrl+ W다시 보낼 것이다, backward-kill-word. 이 SU 게시물 에서이 해결 방법에 대한 아이디어를 얻었 습니다 .


4

아주 최근까지 gnome-terminal은 동일한 코드를 on BackspaceCtrl+로 방출 Backspace했기 때문에 응용 프로그램에서 두 코드를 구별 할 수 없습니다.

이것은 vte-0.42에서 수정되었으며, 이번 가을에 출시 된 Gnome 3.18의 일부입니다.

Wily를 사용하는 경우 Gnome3 Staging 에서 업데이트 된 패키지를 찾을 수 있습니다 .


거대한 PPA를 추가하지 않고도 신뢰할 수있게 실행할 수 있습니까?
Ciprian Tomoiagă

신뢰할 수있는 libvte 2.90 패키지를 다운로드, 패치, 컴파일 및 설치하지 않아도됩니다. 패치는 bugzilla.gnome.org/show_bug.cgi?id=733246에 있습니다.
egmont

3

사용 Alt+는 Backspace대신 : 그것은 단지처럼 작동 Ctrl+ Backspace와 구성이 필요하지 않습니다.


1

내 컴퓨터에서 작동합니다. 그냥 linuxbrew의 master와 nvim의 tmux를 사용하고 bash와 vim에서도 control + backspace를 사용하십시오!

(linuxbrew에서도 bash를 얻으십시오)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.