나는 의 답변을 사용하고 있습니다이 문제이렇게 하면 각각 Ctrl+ W또는 +를 누를 Alt때 텍스트의 더 길거나 짧은 부분을 잘라낼 수 있습니다 Backspace. 구체적으로 + 동작을 .zshrc
추가 하려면 다음이 필요합니다 . ( +는 내장되어 있습니다.)AltBackspaceCtrlW
backward-kill-dir () {
local WORDCHARS=''
zle backward-kill-word
}
zle -N backward-kill-dir
bindkey '^[^?' backward-kill-dir
이는 텍스트 삭제에 효과적이지만 붙여넣은 후에는 예상대로 작동하지 않습니다. 다음과 같은 텍스트가 있다고 가정해 보겠습니다.
A quick brown fox
Ctrl+를 네 번 누른 W다음 Ctrl+를 누르면 Y전체 텍스트가 잘린 다음 다시 붙여넣어집니다. 하지만 다음과 같은 텍스트가 있는 경우:
a-quick-brown-fox
Alt+를 네 번 누른 Backspace다음 Ctrl+를 누르면 Y예상대로 텍스트가 잘리지만 붙여넣기만 됩니다.
a-
후자가 전체 텍스트도 붙여넣도록 하려면 어떻게 해야 합니까?
답변1
내장된 종료 위젯은 이전 명령이 종료 동작이 아닌 이상 내부 클립보드의 이전 내용을 대체합니다. 다음을 호출하여 사용자 정의 위젯이 종료 작업임을 나타내야 합니다.zle
내장플래그를 설정합니다 kill
.
backward-kill-dir () {
local WORDCHARS=''
zle backward-kill-word
zle -f kill
}
zle -N backward-kill-dir
bindkey '^[^?' backward-kill-dir