Buradaki menu select
davranışı kullanıyorum zsh
, bu imlecin altında çeşitli olasılıkları görebileceğiniz bir menüyü çağırıyor. Bunun için belirlediğim .zshrc seçeneği
zstyle ':completion:*' menu select=2
Varsayılan olarak, Return
bu menüde bir olasılık seçmek için basılması yalnızca kelimeyi tamamlar - aslında komutu göndermez. Mesela böyle bir menü alabilirim
~ % cd de<TAB>
completing directory:
[Desktop/] Development/
Return
Buraya basarak sonuçlanır
~ % cd Desktop/
Sonra basmak gerekiyor Return
bir ikinci aslında komutu göndermek için zaman.
Bunu yapmak için bu davranışı değiştirebilirim, böylece Return
her iki basışta tamamlamayı seçer ve bunu yaparak komutu gönderir
bindkey -M menuselect '^M' .accept-line
Ancak, bu bir problem var: bazen bir dosya veya dizin tamamlamak için gereken olmadan komutu gönderme. Örneğin, yapmanız gerekebilir ln -s Desktop Desktop2
- bu bindkey
davranışla Masaüstü'nü tamamlamaya çalışmak ln -s Desktop/
komut olarak gönderilmesine neden olur ve açıkçası bunu istemiyorum.
Sadece boşluklara basmama emri vermeme izin vereceğini biliyorum, ama bu şimdi bir alışkanlık.
Bunu göz önüne alarak, yalnızca bazı komutların bir Return
kez basmanıza izin vermesini sağlayacak bir yol var mı cd
, ancak diğer tüm komutlar iki kez basılmasını mı gerektiriyor?
.zshrc
dosya bunu daha sonra cevap basitçe komut tabanlı davranışı desteklemek için kaynak kodu kendiniz ayarlamak sürece, hiçbir olacak yapmaya izin vermez. Ama o zaman hala hangi komutları yapabileceğini tanımlamak zorundasın, bu da kendi başına ek bir