Komut satırı ZSH'de tam ekran editörde nasıl düzenlenir?


52

Ben vurursam bash olarak, vi modunu kullanarak Esc, vbenim şimdiki komut satırı ile belirtilen editörü açılır $EDITORve ben kabuk döndü ve yürütülecek komutu 'tasarruf' önce tam ekran düzenlemek mümkün.

Zsh'da nasıl benzer davranış elde edebilirim? vKomut modunda vurmak bir zille sonuçlanır ve EDITORortam değişkeninin ayarlanması rağmen belirgin bir etkisi olmaz .

Yanıtlar:


36

Bkz edit-command-lineiçinde zshcontrib.

bindkey -M vicmd v edit-command-line

13
(Sadece netleştirmek için): etkin To edit-command-linegibi “aleti” İhtiyacınız olacak bir şey autoload edit-command-line; zle -N edit-command-linesizin birinin de zsh init dosyaları (bkz ZLE İşlevleri bölümüne ait zshcontribbelgeler ).
Chris Johnsen,

Yerine geçtikten sonra bunu nasıl etkinleştirirsiniz? Emacs tarzı cevabın tuş takımı bana mantıklı geliyor. Ama ne olduğuna dair referans bulamıyorum bindkey -M vicmd v.
Mat Schaffer

@ MatSchaffer Bash ile aynı: vi modundaysanız, o zaman <ESC>ekleme modundan ve sonra vgörsel moda ( Meta-vaynıdır) komut moduna girmek için tıklayın veya sadece vzaten komut modundaysanız. Emacs modunu kullanıyorsanız, tipik bağlayıcıdır C-x C-e.
efemient

1
V tuşunun yeniden işaretlenmesi, artık görsel modu kullanamayacağınız anlamına gelir, bu nedenle boşluk çubuğuna (normal modda işe yarar bir şey yapmaz) yeniden eklemeyi tercih ederimbindkey -M vicmd ' ' edit-command-line
gib

37

Emacs klavye tuşlarını tercih etmeniz durumunda:

autoload -z edit-command-line
zle -N edit-command-line
bindkey "^X^E" edit-command-line

9
^x^eBağlama ile varsayılan olarak görünüyor akım .oh-my-zsh , son derece güzel.
quodlibetor

^ x ^ e tam olarak aradığım şeydi.
jmreicha

1
editorModül yüklendiği sürece Prezto için benzer kurulum .
AL, X

23

fcTarihin son komutunu düzenlemek için kullanabilirsiniz . Aynı komutu düzenlemekle aynı değildir, ancak Enter tuşuna hızlıca basmak, geçerli komutunuzu tarihteki son komut haline getirir.


14

Bu, ~/.zshrcbash'tan aynı davranışı elde etmek için benim eklediğim tüm yapılandırmadır :

export VISUAL=vim
autoload edit-command-line; zle -N edit-command-line
bindkey -M vicmd v edit-command-line

Daha önceki yorumlara göre, Oh ZSH veya Prezto kullanıyorsanız bu varsayılan olarak yapılandırılmıştır . İkincisi, komut modu için editormodülün yüklenmesini ve viveya vimseçilmesini gerektirir .
AL, X

Bunu kabul edilen cevabı yapmak için oy kullanırdım, sorumluluğu açıklanan tüm yapılandırmalarla çözdü. Teşekkürler.
Laurent,
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.