이미 행에있는 내용을 완료하기 위해 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 |