Mac OS X'te Fsh-Delete'i zsh olarak bağlama


22

Zsh'de, Fn + Delete (ileri silme) düğmesine her bastığımda bir tilde işareti (~) eklenir. Bu, zsh'nin anahtarın bağlı olmadığını gösterir.

Nasıl bağlarım ve normal davranmasını nasıl sağlarım (imlecin önünden sil)?

Yanıtlar:


20

Önce hangi diziyi ürettiğini anlayın.

echo "CtrlVFnDelete" | od -c

Sonra normal zsh bağlama mekanizmasını kullanarak bu diziyi bağlayın.


1
~> echo "~" | od -c 0000000 ~ \ n 0000002 ~> Bu bilgilerle şimdi ne yapacağım?
Thomas R

10
@rixth: Aslında sadece tilde çıktısı almıyor. Kullanamazsın, echo "~"aslında Ignacio'nun sana verdiği talimatları takip etmelisin. Sistemimde, ^[[3~(veya odçıkışlar olarak 033 [ 3 ~). Yani komut bindkey "^[[3~" delete-charsenin içine girecekti ~/.zshrc.
sonraki duyuruya kadar duraklatıldı.

2
Yukarıdakileri açıklığa kavuşturmak için ctrl-vözel bir kaçış dizisi, "bastığım bir sonraki karakteri, genellikle ne yaparsa yapsın yerine gerçek bir kaçınılmaz karakter olarak ekle" anlamına gelir. Bu, dönüştürülmediği ~, ancak kaçış dizisi olarak kaldığı anlamına gelir.
NHDaly

Bindkey türetmek için yukarıdakilerin çıktısını nasıl kullanacağımı anlamıyorum. Benim çıktım 0000000 C t r l V F n D e l e t e \n 0000016.
Oliver Joseph Ash

4

Benim için yukarıdaki hile yapmadı bu yüzden benim aşağıdaki anahtar bağlama ekledi ~/.zshrc:

bindkey "\e[3~" delete-char

FYI: Mac'liyim (High Sierra).


Bağlamak istediğim diğer anahtarların kodunu nasıl öğrenebilirim, örneğin Fn + F1? böylece benim karşılık gelen kodları ayarlayabilirsiniz ~/.zshrc.
alexventuraio

1
catAnahtarları yazabilir ve sonra yazabilirsiniz. Fn+F1bana ^[OPörnek veriyor .
LordTribual

1

bindkey 'CtrlvFnDelete' delete-char

Bu, tek bir karakteri ileriye silmek için Fn+ ' Deleteya bağlanır . Yukarıdakiler net değilse , tırnak işaretleri arasında Ctrl+ v, Fn+ Deleteyazmanız gerekir. Ctrl+ v, ondan sonra gelen anahtarın gerçek kaçış çıkış sırasını yazmanıza olanak tanır.

Bu satırı ~/.zshrcdosyanıza koyabilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.