bash 탭 완성이 vim 탭 완성처럼 작동하고 일치하는 일치 항목을 순환하도록하려면 어떻게해야합니까?
나는 몇 년 동안 이것에 대한 해결책을 찾고 싶었습니다.
이런 이유로 bash보다 파일을 조작 할 때 vim에서 훨씬 더 생산적입니다.
만약 내가 가지고 있다면
file_12390983421
file_12391983421
file_12340983421
file_12390986421
bash에서 file_1-> tab을 입력하면 분명히 다음과 같이 나열됩니다.
file_12390983421 file_12391983421 file_12340983421 file_12390986421
그리고 이것은 작업하기에 끔찍한 지루하고 고통 스럽습니다.
vim의 동일한 시퀀스는 한 번에 하나씩 파일을 반복합니다.
누군가 bash에서이 작업을 수행하는 방법을 알려주십시오. 또는이를 수행 할 수있는 다른 쉘이 있으면 내일 전환 할 것입니다.
기본적으로 readline 명령에 TAB
바인딩됩니다 complete
. menu-complete
대신 원하는 행동이 될 것입니다. 을 편집하여 readlines 설정을 변경할 수 있습니다 ~/.inputrc
. 리 바인드하려면 TAB
다음 행을 추가하십시오.
TAB: menu-complete
자세한 내용은의 READLINE
섹션을 참조하십시오 man bash
.
bash> = 4의 경우 다음 설정을 좋아할 수 있습니다.
# If there are multiple matches for completion, Tab should cycle through them
bind 'TAB':menu-complete
# Display a list of the matching files
bind "set show-all-if-ambiguous on"
# Perform partial completion on the first Tab press,
# only start cycling full results on the second Tab press
bind "set menu-complete-display-prefix on"
이 설정은 Vim의 set wildmode=longest:full:list,full
Unix 및 Linux 사이트 의이 질문 에서 이러한 설정을 가져 왔습니다 .
위에
# cycle forward
Control-k: menu-complete
# cycle backward
Control-j: menu-complete-backward
추가를 고려할 수도 있습니다.
# display one column with matches
set completion-display-width 1
이렇게하면 현재 탭 기능을 유지하고 bash가 하나의 열에 가능성을 표시하도록 할 수 있습니다. 그래서 대신
file_12340983421 file_12390983421 file_12390986421 file_12391983421
당신은 얻을 것이다
file_12340983421
file_12390983421
file_12390986421
file_12391983421
추신 GNU Readline Library 웹 사이트 readline
에서 최신 라이브러리를 얻을 수 있습니다 .
@sth 덕분에 나에게 가장 적합한 것을 찾았습니다.
정상적인 bash 탭 완성을 유지하고 필요할 때 ctl-f를 사용하여 menu-complete를 사용하여 순환합니다.
이것을 .inputrc 파일에 넣으십시오.
"\C-f": menu-complete
내 경험상 sth의 답변에 제공된 솔루션이 완전히 효과가 없었습니다. TL은, DR은 : 추가 set -o vi
당신에게 ~/.bashrc
.
When using menu-complete in conjunction with vi keybindings, I have to make sure that my ~/.bashrc
has:
set -o vi
It's never been enough for my ~/.inputrc
just to have:
TAB: menu-complete
set editing-mode vi
set keymap vi
My guess is that somehow set editing-mode
and set keymap
are clobbering the TAB: ...
setting, but I haven't looked into the documentation thoroughly to figure out why this is the case.
'Programing' 카테고리의 다른 글
python 및 sqlite3를 사용하여 새 datebase (xx.db라는 이름)를 만드는 방법 (0) | 2020.10.30 |
---|---|
SQLiteDatabase에 싱글 톤 디자인 패턴 사용 (0) | 2020.10.30 |
Web API로 익명 형식 반환 (0) | 2020.10.30 |
복사 중에 SCP가 심볼릭 링크를 무시하도록 할 수 있습니까? (0) | 2020.10.30 |
Ansible로 .bashrc를 소싱 할 수 없음 (0) | 2020.10.30 |