Bu çoğunlukla eğlenceli bir nottur bashve readlineancak EDITORortam değişkeninizi olarak ayarlarsanız vim, Ctrl+ x+ tuşuna basmak egeçerli satırı açar vim. Ayrıca, Meta(Alt/Opt/Esc)+ Ctrl+ yazarsanız e, bash geçerli komut satırında yerinde genişletme gerçekleştirir, yani:
$ echo $EDITOR # Assuming EDITOR was set
Meta(Alt/Opt/Esc)+ Ctrl+ ile eolur
$ echo vim # Assuming EDITOR was set
Ctrl+ x+ ile eolur
1 echo vim # Assuming EDITOR was set
~
~
/tmp/sometmpbufferfile
Vim'den çıkıldığında, vim arabelleğinin içeriğinin komut satırında yürütüldüğünü unutmayın.
Bu özellikler, burada deyimler gerektiren döngüler veya programlar gibi bash'da çok satırlı komutlar yapmak istediğimde benim için çok yararlı olur ve daha sonra kullanmak üzere dosyaya biraz komut satırı geçmişi kaydetmek için ilginç bir yol sağlar.
Böylece orijinal soruya cevap vermek için,
$ This is an example
ve yüklemek için Ctrl+ x+ düğmesine ebasın vim. Ayrıca,
$ $(cat /etc/hosts)
ve Meta(Alt/Opt/Esc)+ Ctrl+ esonra Ctrl+ + ' xyı yapın e; bu, tüm hosts dosyasını bir satıra yerleştirir ve yükler vim(muhtemelen bu özelliklerin en iyi şekilde kullanılmaması - ancak, bu yöntemlerin kullanışlılığı tartışılan birkaç örnekten çıkarılabilir. buraya).
Modunuzun readlineayarlanmış olduğunu varsayıyorum emacs. Modunuz moda readlineayarlanmışsa vim, komutu kullanarak ilgili bağlantıları kolayca keşfedebilirsiniz:
bind -p
ve sırasıyla + + ve + + bağlarıyla ilişkili olan edit-and-execute-commandya da shell-expand-linebunların aranması .CtrlxeMeta(Alt/Opt/Esc)Ctrle
:help stdin... Yerleşik belgelerle ilgili sorularını sorarak cevapları ne kadar hızlı bulabileceği şaşırtıcı.