프로그램이 zsh에서 실행하는 데 걸린 시간을 측정하고 싶습니다. 시차에 따라 찍은 시간을 출력하고 싶습니다. my-accept-line() {
CMD="$BUFFER"
CMDSTART=$(date +%s)
zle accept-line
CMDRUNTIME=$((($(date +%s)-${CMDSTART})))
i
비주얼 모드에서 표준 모드 인 <ESC> zle vi-mode는 아무것도하지 않는 것입니다. 그러나 나는 vi 모드 비쥬얼 모드에서 <esc>을 누르는 동작이 키 모드를 vi-normal 모드 (vicmd)로 전환하기를 원합니다. 그것은 표준 vi에서와 마찬가지입니다. 나는이 시도 : bindkey -M visual '\e' vi-cmd-mode 을했지만
^x^e으로이 위젯을 호출 한 다음 비주얼 편집기 (vim)를 종료하면 현재 명령이 오류로 중단되고 명령 내용이 실행될 다음 명령어 라인. 내가 예상하는 바에 따르면 명령 내용은 bash와 마찬가지로 현재 명령 줄에 다시 입력해야합니다. 그리고 나는 그 오류가 0이 아닌 편집기 종료 상태 때문이라고 생각합니다. 여전히 zsh -f
autoload -U e
<C-j>을 사용하여 서브 쉘을 신속하게 작성하는 간단한 ZLE 위젯을 작성하고 있습니다. 여기에 내가 가진 무엇 : function zle_subshell {
zle -U '$()'
zle .backward-char
}
# register as widget
zle -N zle_subshell
# create kbd
bindk
ZSH 쉘 프롬프트를 그리는 함수 내에서 변수에 현재 커서 위치 (현재 행 번호 및 열)를 변수로 읽으려고합니다. 필자의 목표는 여분의 스크롤을 발생시키지 않을만큼 충분한 빈 줄이있을 때만 프롬프트 아래에 물건을 표시하는 것입니다. 대화 형 쉘에서, 내가 사용할 수있는 다음 명령 : 그러나 echo -ne "\033[6n"
read -t 1 -s -d '
실행할 명령을 수정할 방법이 있습니까? 출력을 파일로 리디렉션하고 터미널에서 인쇄하고 싶습니다. ls > file.txt | cat이 작업을 수행 했으므로 실행할 명령에 > file.txt | cat을 추가하고 싶습니다. 파일로 리디렉션하고 터미널로 인쇄하는 더 좋은 방법이 있습니까? 나는 로거를 만들려고 노력하고있다.
RPROMPT를 사용하여 zsh 프롬프트를 구성 할 때 이상한 문제가 나타납니다. oh-my-zsh 또는 다른 플러그인 관리자를 사용하지 않습니다. function zle-line-init {
RPROMPT="foo"
zle reset-prompt
}
zle -N zle-line-init
그러나, (새로운 쉘, 또는 새로운 TMU