Alt çizgi komutu _ neden yararlı?


15

_İmlecin altındaki (COUNT - 1). Satırın başına atlayan alt çizgi komutunun neden kendi anahtarını aldığı konusunda biraz şaşkınım . Ne zaman yerine, bu kullanmak +veya ^?

Yanıtlar:


16

İyi soru!

Tek başına bir hareket olarak haklısınız, _özellikle yararlı bir anahtar değil.:h _

                            *_*
_  <underscore>     [count] - 1 lines downward, on the first non-blank
            character |linewise|.

Buradaki anahtar kelime "çizgi roman" dır. Yani eğer amacınız sadece, sonra imleci hareket etmektir ^, jve +tüm işi ve çok nokta için orada değil _. Ancak bir operatöre argüman olarak _süper güçlü.

Birçok çift tuşlu kısayol aslında sadece kısayollardır _. Örneğin,

dd -> d_
cc -> c_
yy -> y_
Y  -> y_

Doğrusal bir hareket olduğu için, temel olarak imlecinizin nerede başladığından bağımsız olarak çalıştırılacak tüm satırı seçer, oysa ^karakterinizden ilk boş olmayan alana gider.

Hareketten önce ya vda Vhemen önce bastığımı hayal etmek, çizgi ve blok hareketleri hakkında düşünürken bana yardımcı olur . Bu yüzden d^eşdeğer olmayı v^dhayal ediyorum d_ve V_dya da eşdeğer olduğunu hayal ediyorum V^d. Elbette, bir hareketi çizgi veya karakterli olmaya zorlamak için geçersiz kılabilirsiniz. Yani dv_olarak aslında tamamen aynıdır d^ya v^dve dVwgibidir Vwdtam olarak hangi gibidir d_.

Özellikle "sayım-1" satırının nedeni, 1dd(gerçekten d1_) bir satırın tamamını, 2dd(gerçekten d2_) 2 satırın tamamını, 3dd3 satırın tamamını, vb. Silmesidir.


1
Tamam, ama bunu gerçekten kullanır mıydım? dddaha kolay d_ve 3yjdaha kolay 4y_.
Diş Hekimi

5
@toothrot Kendi operatörünüzü oluşturuyorsanız ve sonraki n satırda çalışmak istiyorsanız .
James

5
@ Sanırım bunu biraz açıklığa kavuşturmak istiyorum. Günlük vim düzenlemede, hayır gerçekten yararlı değil. Neredeyse hiç kullanmadım. Yararlı olmasının nedeni, birçok yararlı komutun tanımı olmasıdır. dddaha uygun olabilir d_, ancak bunun nedeni ddyalnızca bir eşleme olmasıdır d_. Ve ayrıca vimscript'te de yararlıdır.
James

9
"Hareket" üzerinde hareket eden bazı eylemlerin başka kısayolları olmayabilir. "GU_" gibi bir şey, imleç satırın başında olmasa bile, geçerli satırdaki her şeyi büyük harfle yazacaktır.
bmb

1
@bmb Ne olmuş gUU? Bence nerede <operator>_kullanılacağına dair gerçek bir örnek bulmak faydalı olacaktır.
Hotschke
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.