VI에서 현재 쉘 명령을 편집하는 방법


31

Linux 컴퓨터의 블로그에서 ctrl-x, ctrl-e를 눌러 VI의 현재 bash 쉘 명령 (또는 EDITOR가 설정된 모든 항목)을 편집 할 수 있습니다.

이것은 10.8에서 작동하지 않는 것 같습니다. 기본 편집기에서 현재 bash 명령을 편집하는 방법에 대한 아이디어가 있습니까?


이것은 10.8에서 작동 해야 합니다 (적어도 나에게 적합합니다). FCEDIT 및 EDITOR를 설정 해제하려고 했습니까?
nohillside

C-xC-e에 대한 문서가 여기 있습니다 - VISUAL변수에 무엇이 있습니까?
glenn jackman

약 10.8이 아닙니다. 나는 10.8에 있고 나와 잘 작동합니다. 이것을 가능하게하기 위해 .bash_profile에서 아무것도 변경하지 않았습니다.
Vincent


1
방금 Ctrl + (x, e) (Ctrl 키를 누르고 x를 누르고 e를 누르고 제어를 해제)를하고 있다는 것을 깨달았습니다. 이것이 저에게 효과적이지 않은 이유입니다. 두 개의 명확한 스트로크 Ctrl-x를 눌러 변경했을 때 Ctrl, Ctrl-e를 놓으면 모든 것이 완벽하게 작동하기 시작했습니다!
Dimitry K

답변:


32

당신이 원합니다 set -o vi(에 추가하십시오 ~/.bashrc). 그런 다음 현재 줄을 편집하려면 Esc명령 모드로 들어가기 위해 누르십시오.

http://www.gnu.org/software/bash/manual/bashref.html#Readline-vi-Mode를 참조 하십시오

전체 화면 편집기에서 현재 명령을 편집하려면 VISUAL환경 변수를 vim(I 가정 vim)으로 설정 한 다음 현재 주석의 명령 모드에서을 누르십시오 v.


5
"v"를 누르면 내가 놓친 비밀 소스였습니다. 감사.
Scott Walter

2
vemacs (비 vi) 모드 에서이 명령 을 얻을 수 있습니까?
Alex Kahn

10
Ctrl-X를 누른 다음 Ctrl-E를 수행하십시오.
albapa

7

당신 edit-and-execute-commandvi모드에 바인딩되지 않을 수 있습니다 . 시험:

bind -m vi-insert '"\C-x\C-e": edit-and-execute-command'

영구적으로 만들려면 ~/.inputrc파일에 해당 줄을 추가 하십시오.

( 이 답변을 통해 ; 링크에 대한 @unforgettableid의 크레딧)

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