Görsel seçimin diğer ucunu ayarlama


14

Ben bu vim görsel seçim özelliği seçimi mevcut terminus "geçiş" için bir yetenek sağlayarak fare bile verimliliğini aşmasına izin olacağını düşünüyorum:

Resimli ( |İmleci temsil eder (Vim, üzerinde bulunduğu karakterin sol tarafında çalışır) ve [text]seçilen metni temsil eder, sadece sıfır genişliğe sahipmiş gibi davranır. Arasındaki boşluğun arka planı [ ]gri ve hemen karakter aşağıdaki |yeşil):

İle başla

Some |text here
Some second line of text
Some more text in the third line 

Basın v2j; mkarakterin seçime dahil edildiğine dikkat edin (imleç şimdi vurgulanmıştır):

Some [text here
Some second line of text
Some |m]ore text in the third line 

Basın 10l:

Some [text here
Some second line of text
Some more text |i]n the third line 

Bu noktada farklı bir yerden seçim yapmaya başlamak istediğime karar verebilirim . örneğin, "Some"ilk satırdaki.

Tipik bir editör / IDE'de seçeneğim yok. Muhtemelen elimi fareye hareket ettirmek zorunda kalacağım, geleneksel yöntemleri kullanarak metin seçmek genellikle çok acı verici, kelime atlamalı Ctrlve sayfa yukarı / aşağı kullanımı biraz yardımcı oluyor, ama ne olursa olsun taahhüt etmeliyim seçime başlamadan önce seçimin sonlanma noktalarından birine .

Bu yüzden Vim'de şu anki durumumu alma ve gizemli bir bağlama vurarak bunu getirme yeteneğini çok isterim:

Some [|text here
Some second line of text
Some more text i]n the third line 

Sonra sadece vurabilirim ^veya <Home>(her ikisi de aynı boşlukların olmadığı bu durumda aynı şeyi yapabilir)

[|Some text here
Some second line of text
Some more text i]n the third line 

Diyelim ki fikrimi tekrar değiştirdim, diğer ucunu ayarlamak istiyorum!

[Some text here
Some second line of text
Some more text |i]n the third line 

İsabet e:

[Some text here
Some second line of text
Some more text i|n] the third line 

Güzel! Şimdi bu seçim ile ne istersen yapabilirim.

Peki bu gizemli bağ nedir?

Ayrıca, daha da potansiyel olarak verimli olan, en çok kullanılan hareket komutlarının bazıları için başka bir tuş sırasına bir dizi alternatif bağlamalar olacaktır ve bunlar (görsel moddayken) her zaman seçimin diğer ucunu hareket ettirir. Bu görsel mod seçim işleminde, seçimin diğer ucu için hareket tuşları "yuio" olarak ayarlanmış olsaydı (muhtemelen ihtiyacımız olduğu için iyi bir seçim değil yama sadece benimle kaldık)

v2j10l5ye

ziyade

v2j10lX^Xe

Hey biliyor musun, bu o kadar da iyileşme değil. Sadece X özelliğini ver. :)

Aradığım mükemmel cevaplar:

  • Hey, bak :help some_awesome_vim_feature_that_just_does_this
  • Hey, bak https://github.com/awesome_user/vim_plugin_that_does_this
  • Hey, bak :help vimscript_functions_that_allow_mutation_of_visual_selections

Vim ile olan bu büyüye oldukça yeniyim, bu yüzden Vimscript söz konusu olduğunda çok yeşilim ve dürüst olmak gerekirse başka bir dil öğrenmeye çalışmaktan uzak durmak istiyorum , umarım bunu şu şekilde inşa etmek zorunda kalmayacağım bir eklenti.


Tamam. Şimdi burada neler olduğunu bilmiyorum (gizemli bir şekilde ninja SO'dan SU'ya taşındı), ama aslında bunu SO'da yayınladım ve gerçekten orada kalmasını tercih ederim. Programcı olmayan kişilere tüm saygıyla, yalnızca programcılar metin düzenleme konusunda bu kadar önem verebilirler . Tabii ki, tüm vim kullanıcıları bunun nasıl çalışabileceğini öğrenmekten faydalanabilirler, sadece daha fazla göz küresi ve eklenti geliştiricilerin bulunduğu yerde cevap alma şansı olacağını düşünüyorum.
Steven Lu

Bazen okuyor musun :help? :help visual-modegörsel mod hakkında ihtiyaç duyabileceğiniz tüm bilgileri içerir o.
romainl

Bazen okuyorum ama muhtemelen aynı zamanda düşüncelerimi yazmam da gerekebilir. Yardım dizesinin ne olduğunu tahmin etmekten daha kesin bir görevdir.
Steven Lu

Öğrenme tahmin etmekten daha iyidir. Heptite'nin cevabı size iki şey öğretti , onları adlandırabilir misiniz?
romainl

Evet, yani öğrenilecek çok şey var ama Obaşkent O'nun ne yaptığını zaten unuttum , ama hatırlayacağım o. Bahsettiğiniz ikinci şey muhtemelen :helpdaha fazlasını kullanmaktır . Ve başladığımdan daha fazla kullanıyorum.
Steven Lu

Yanıtlar:


49

Aslında ne istediğinizi anladığımdan emin değilim, ama belki de bu:

:help v_o

Temel olarak, metin görsel olarak vurgulanırken, tuşuna basabilirsiniz ove görsel bölgenin değiştirilmeden diğer "sonuna" atlar.


2
Kutsal saçmalık, evet !!! Bu umduğumdan bile daha iyi, zaten tek bir anahtara bağlı , bu yüzden Xaslındao
Steven Lu

1
Ayrıca, sağ tıklama faresinin (terminalinizi Vim'e iletmek üzere yapılandırdıysanız) , geçerli görsel seçimin en yakın ucunu imlecin bulunduğu yere akıllıca ayarlamasına izin vereceğine de işaret etmeme izin verin . Bu, seçim alanını ayarlamak için çok daha az acı verici bir yöntem olmasını sağlar, çünkü seçimin karşı ucunun konumunu atmaz.
Steven Lu

@StevenLu: Yine de atılmadı. oTekrar dokunup geri dönebilirsiniz.
13'te Heptit

@StevenLu Bu muhtemelen o ... ayrıca, upvotes bir ton vardır, sorununuzu çözdü ben ilk Google sonuca tam olarak ihtiyaç duyduğumuz oldu ve herkes tarafından aslında sadece ibraz cevaptır sadece göz önüne alındığında, kabul cevabı olmalı
Kingdon

Evet, sanırım hiç kabul etmedim çünkü o kadar çabuk yayınlandım, henüz o zaman yapmama izin verilmedi ve bu Vim özelliğini neredeyse beş yıldır mutlu bir şekilde kullanıyorum, asla kendime ne olduğunu hatırlatmaya gerek yok anahtar, hatırlaması çok kolay olduğu için.
Steven Lu
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.