이미 행에있는 내용을 완료하기 위해 bash 기록 완료를 어떻게 변경합니까?
두 달 전에 위쪽 화살표를 누를 때 이미 bash 기록을 자동으로 완성하는 명령을 찾았습니다.
$ vim fi
프레스 ↑
$ vim file.py
새 컴퓨터에서 이것을 설정하고 싶습니다. 큰 역사를 유지할 때 많은 시간을 절약하기 때문입니다. 문제는 내가 언급 한 곳을 기억하고 끝없는 bash 참조 및 자습서를 읽는 것이 불행히도 도움이되지 않았다는 것을 기억하지 못한다는 것입니다.
아무도 명령을 알고 있습니까?
아마 같은
# ~ / .inputrc "\ e [A": 과거 검색 뒤로 "\ e [B": 검색 기록 전달
또는 동등하게
# ~ / .bashrc [[$-== * i *]] 인 경우 그때 ' "\ e [A"바인딩 : 기록 검색-뒤로' ' "\ e [B"바인딩 : 기록 검색 전달' fi
(if 문은 대화식 모드를 확인합니다)
일반적으로 Up 및 Down은 Readline 기능 previous-history
과 next-history
각각 바인딩됩니다 . Up / Down의 정상적인 작동을 대신하는 대신 PgUp / PgDn을 이러한 기능에 바인딩하는 것을 선호합니다.
# ~ / .inputrc "\ e [5 ~": 과거 검색-뒤로 "\ e [6 ~": 검색 기록 전달
수정 한 후에 ~/.inputrc
쉘을 다시 시작하거나 Ctrl+ X, Ctrl+ R를 사용 하여 다시 읽도록 지시하십시오 ~/.inputrc
.
그건 그렇고, 관련 문서를 찾고 있다면 :
Bash는 쉘 프롬프트와 히스토리에 GNU Readline Library 를 사용합니다.
다음을 사용하여 .inputrc를 업데이트하십시오.
"\C-[OA": history-search-backward
"\C-[[A": history-search-backward
"\C-[OB": history-search-forward
"\C-[[B": history-search-forward
ohmyzsh를 사용하면 .zshrc 에서 이것을 사용하십시오 .
bindkey '^[OA' history-search-backward
bindkey '^[OB' history-search-forward
source ~/.zshrc
터미널 을 다시로드 하거나 다시 시작합니다.
출처 : https://superuser.com/a/418299/71680
경우 set enable-keypad on
에 당신의 ~/.inputrc
일부 성 (로 suckless 간단한 터미널 ) 사용자가 화살표 키를 키패드 모드에 있음을 알고 있습니다. 우분투는 다음과 같이 유용합니다 /usr/share/doc/bash/inputrc.arrows
.
# This file controls the behaviour of line input editing for
# programs that use the Gnu Readline library.
#
# Arrow keys in keypad mode
#
"\C-[OD" backward-char
"\C-[OC" forward-char
"\C-[OA" previous-history
"\C-[OB" next-history
#
# Arrow keys in ANSI mode
#
"\C-[[D" backward-char
"\C-[[C" forward-char
"\C-[[A" previous-history
"\C-[[B" next-history
#
# Arrow keys in 8 bit keypad mode
#
"\C-M-OD" backward-char
"\C-M-OC" forward-char
"\C-M-OA" previous-history
"\C-M-OB" next-history
#
# Arrow keys in 8 bit ANSI mode
#
"\C-M-[D" backward-char
"\C-M-[C" forward-char
"\C-M-[A" previous-history
"\C-M-[B" next-history
따라서 모든 것이 필요한지 확실하지 않지만 다음과 같은 경우에 아프지 않을 수도 있습니다 ~/.inputrc
.
# Arrow keys in keypad mode
"\C-[OA": history-search-backward
"\C-[OB": history-search-forward
"\C-[OC": forward-char
"\C-[OD": backward-char
# Arrow keys in ANSI mode
"\C-[[A": history-search-backward
"\C-[[B": history-search-forward
"\C-[[C": forward-char
"\C-[[D": backward-char
이 같은 주제에 또한 내 커서 키가 작동하지 않음 또한이 xterm 등 : 특수 키
bash 완성을 활성화해야 할 수도 있습니다.
검사
/etc/profile
/etc/bash.bashrc
~/.bashrc
위의 파일 소스 중 하나가 있는지 확인하십시오 /etc/bash_completion
. 즉
. / etc / bash_completion
/etc/bash___completion
위의 파일 중 하나에 의해 제공되지 않은 경우 해당 파일 중 하나에 추가해야합니다.
If you want all bash users on your machine to have bash completion, source /etc/bash_completion
from /etc/bash.bashrc
.
If it's just you who wants bash completion, source /etc/bash_completion
from your ~/.bashrc
.
'programing tip' 카테고리의 다른 글
파이썬 모듈의 argparse 부분에 대한 테스트를 어떻게 작성합니까? (0) | 2020.07.02 |
---|---|
에뮬레이터에서 Google Play 서비스 업데이트 (0) | 2020.07.02 |
HTML (0) | 2020.07.02 |
오류와 예외의 차이점은 무엇입니까? (0) | 2020.07.02 |
Math.random () 설명 (0) | 2020.07.02 |