zsh forward-word bash/emacs'den biraz farklı davranır ve bunu değiştirmek isterim.Bash/emacs ile aynı zsh forward-word davranışı nasıl yapılır?
Tüm farklılıkların açıklaması yerine, yalnızca bash'ın adım adım davranışını göstereyim. İmleç "^" sembolü olarak işaretledim.
foo bar --non-needed-param --needed-param^
M-b
foo bar --non-needed-param --needed-^param
M-b
foo bar --non-needed-param --^needed-param
M-b
foo bar --non-needed-^param --needed-param
M-b
foo bar --non-^needed-param --needed-param
M-b
foo bar --^non-needed-param --needed-param
M-b
foo ^bar --non-needed-param --needed-param
M-f
foo bar^ --non-needed-param --needed-param
M-d
foo bar^-needed-param --needed-param
M d
foo bar^-param --needed-param
M-d
foo bar^ --needed-param
Bu algoritma, kelimeler üzerinden hareket benim için bunların parçaları çıkarmak için esnek hem de. Ayrıca emacs içinde, bu yüzden alışkınım. Onu da zsh'da görmek isterim. Teşekkürler.
Teşekkür:; ben de (aksi biri koydu ya yanı
$fpath
diziyi değiştirmez sizin$ZDOTDIR/functions
dizin$fpath
olduğunu varsayarak)$ZDOTDIR/functions/forward-word-match
içine Şu içeriğe koyarakforward-word-match
overwrote! Ama aslında bash'tan farklı davranıyor (yanlış bir şey mi yaptım?). Bu durumda: "fo^ooo --bar", eğer "Mf" ye basarsan, hemen foooo'nun sonuna kadar gitmeli, şöyle ki: "foooo^--bar", ama ben sana gösterdiğin gibi Buna git: "foooo -^bar". Aslında bu eklenti sadece WORDCHARS = '' ihraç ediyor gibi görünüyor. –Tam zsh yapılandırması istediğiniz gibi çalışır - bu yüzden cevabımda belirttiğimden daha fazlasını yaptım. Benim WORDCHARS aslında biraz daha fazla chars içeriyor olsa da, aslında ayarlandığı yere gelemiyorum: ($ WORDCHARS is * *? _-. [] ~ =/&;! # $% ^() {} <> ') –
Tamam, bunun ne işe yaradığını ve cevabımı buna göre güncellediğini hatırladı. –