Deneyimlerimle ilgili en son güncelleme
0"+y$ddAşağıdaki eşlemedeki bölüm , dikkatlice düşünmeniz ve zevkinize / iş akışınıza / deneyiminize göre uyarlamanız gereken bir şeydir.
Örneğin, sık sık kendimi arabellek içinde birden çok satır ile sonunda buldum, burada sadece imlecin üzerinde olan yürütmek istiyorum; bu durumda 0"+y$dd:%d<CR>bunun yerine kullanabilirim 0"+y$dd.
Ve bu olası senaryolardan sadece biri.
Sevenler için son cevap vim
- Set
vimsizin bizim gibi EDITOR/ VISUALbir komut satırı düzenlerken, kullanacağınız böylece vimdüzenlemek bunun için.
- Put
au BufEnter /tmp/bash-fc.* nn <Leader>d 0"+y$dd:wq<CR>your içinde ~/.vimrcharitaya dosyaya Leaderdeylem (bir komut düzenlerken nadiren kullanacağı olan) "geçerli satırı silin +sondaki EOL olmadan kayıt".
- Bir komutu düzenlerken bitmiş
vimeditör, vurmak EscapeLeaderd.
- Panoyu terminale yapıştırın (bu terminale bağlıdır).
Orijinal cevap
Sık sık aynı şeyi yapmam gerekiyor ve bunu aşağıdaki gibi yapıyorum. (Normalde kullanmak set -o viin'i bashkullandığınız takdirde aşağıda noktaları 1 ve 2 farklıdır bu yüzden, set -o emacsbu noktada birleşen, 1 ve 2 noktaları benziyor sorunuzu dayalı; varsayılan Ctrl+ xizledi Ctrl+ eyazmak için zordur, imho .)
- vurmak Escapenormal modda olması,
- vurmak vkomutu düzenlemek için editör girmek için,
- komutu istediğim gibi düzenle,
(Soruyu burada soruyorsunuz.)
- vurmak Escape0"+y$dd:wq,
- Not: 0"+y$değil sadece "+yy, ikincisi de yeni satır kopyalarmış ve bu komut satırında yapıştırarak üzerine komutu yürütülürken neden olacaktır olarak,
- panoyu komut satırına yapıştır
- bunu nasıl yapacağınız kullandığınız terminale bağlıdır, sanırım; Ben çarptı Ctrl+ Alt+ viçinde
URxvt.
- onaylamaya / manuel düzenlemeye devam et.
Açıkçası bu, tüm komutu silmeden önce düzenlenen komutu panoya kopyalamaktan oluşan bir çözümdür, böylece editörden çıkıldığında hiçbir şey yürütülmez; ancak kendim için alabileceğim en iyisi bu.
Güncelleme
Benim EDITOR(ve VISUAL) eşit olduğu için vim, komutu düzenlediğimde, onu düzenlerim vim.
Bu bağlamda, ben tampon adlı fark etmiş /tmp/bash-fc.randomnerede, random6 karakter alfanümerik rastgele dizedir.
Bu, vimdüzenleyiciniz olarak kullanırsanız .vimrc, tüm diziyi yürütmek için bazı eşleme tanımlayabileceğiniz gibi birçok olasılığa yer verir Escape0"+y$dd:wq. Örneğin, bir komut satırını düzenlerken nadiren kullanacağınız bir komut Leaderd; bu nedenle aşağıdaki mapping'i .vimrcdosyanıza koyabilirsiniz
au BufEnter /tmp/bash-fc.* nn <Leader>d 0"+y$dd:wq<CR>
böylece yukarıdaki tarifte 4. adım
- isabet EscapeLeaderd
edit-and-execute-command.