공백과 특수 쉘 문자를 이스케이프 처리하지 않고 파일 완성을 표시하려면 어떻게 해야 합니까?

공백과 특수 쉘 문자를 이스케이프 처리하지 않고 파일 완성을 표시하려면 어떻게 해야 합니까?

공백이 포함된 파일 이름이 여러 개 있습니다.

[~/music]% ls
Acid Eater - Black Fuzz On Wheels.ogg         Angel'in Heavy Syrup 4.mp3
Akalé Wubé - Akalé Wubé.opus                  Astor Piazzolla & Gary Burton - The New Tango.mp3
Allen Toussaint - The Bright Mississippi.mp3  B.B. King - Live at the Regal.mp3
Angel'in Heavy Syrup 1.opus                   Bar Kokhba Sextet - Lucifer.opus
Angel'in Heavy Syrup 2.opus                   Billy Bang - Vietnam the Aftermath.mp3
Angel'in Heavy Syrup 3.mp3

완료하면 공백에 이스케이프 문자가 삽입됩니다(이는 두 열에 표시할 공간이 충분하지 않음을 의미함).

[~/music]% mpv <Tab>
Acid\ Eater\ -\ Black\ Fuzz\ On\ Wheels.ogg
Akalé\ Wubé\ -\ Akalé\ Wubé.opus
Allen\ Toussaint\ -\ The\ Bright\ Mississippi.mp3
Angel\'in\ Heavy\ Syrup\ 1.opus
Angel\'in\ Heavy\ Syrup\ 2.opus
Angel\'in\ Heavy\ Syrup\ 3.mp3
Angel\'in\ Heavy\ Syrup\ 4.mp3
Astor\ Piazzolla\ \&\ Gary\ Burton\ -\ The\ New\ Tango.mp3
B.B.\ King\ -\ Live\ at\ the\ Regal.mp3
Bar\ Kokhba\ Sextet\ -\ Lucifer.opus
Billy\ Bang\ -\ Vietnam\ the\ Aftermath.mp3

이것은 말이 되지만 읽기도 어렵다고 생각했습니다.

[~/music]% mpv <Tab>
Acid Eater - Black Fuzz On Wheels.ogg         Angel'in Heavy Syrup 4.mp3
Akalé Wubé - Akalé Wubé.opus                  Astor Piazzolla & Gary Burton - The New Tango.mp3
Allen Toussaint - The Bright Mississippi.mp3  B.B. King - Live at the Regal.mp3
Angel'in Heavy Syrup 1.opus                   Bar Kokhba Sextet - Lucifer.opus
Angel'in Heavy Syrup 2.opus                   Billy Bang - Vietnam the Aftermath.mp3
Angel'in Heavy Syrup 3.mp3

[~/music]% mpv Acid<Tab>
# Completes to:
[~/music]% mpv Acid\ Eater\ -\ Black\ Fuzz\ On\ Wheels.ogg

# It's okay to type escapes on the cmdline; it's just the display.
[~/music]% mpv Angel\'in\ H<Tab>
Angel'in Heavy Syrup 1.opus  Angel'in Heavy Syrup 3.mp3
Angel'in Heavy Syrup 2.opus  Angel'in Heavy Syrup 4.mp3

나는 zshcompsys(1)에 대해 읽는 데 시간을 보냈지만 실제로는 이를 수행할 방법을 찾지 못했습니다.

답변1

언제든지 입력할 수 있습니다 (그리고 zsh는 인용된 문자열을 mpv '<Tab>완성합니다 ). 또는 '...'와 동일합니다 . 이스케이프해야 하는 문자가 있는 경우(예: 일부 파일 이름) 백슬래시가 계속 표시됩니다 ."$''

작은따옴표가 포함된 스크린샷

'이것들 도 색상에 영향을 미치는 것 같습니다 . 아마도 버그일 것입니다. 큰따옴표를 사용하는 것이 더 좋습니다.

큰따옴표가 포함된 스크린샷

관련 정보