Vim “daha ​​fazla” çağrı cihazı kullanarak içerik görüntülediğinde nasıl arama yapabilirim?


17

Bir değişkenin değerini görmek istiyorum, bu yüzden komutu çalıştırın

:let

Vim, --more--çağrı cihazını kullanarak bu komutun sonuçlarını görüntüler .
Bunu bir cümle için nasıl arayabilirim, örneğin html? Arama için kullanıldığını
söyleyen daha fazla çağrı cihazı için adam sayfasına baktım, +/ancak işe yaramadı, /daha az çağrı cihazına göre.


1
AFAIK, bu bir Vim dahili komutu - 'daha fazla' gibi görünüyor, ancak program Vim tarafından çağrılmıyor (kanıt: Windows'ta da çalışıyor). Yine de bir değişken adının başlangıcını yazabilirsiniz, ancak Vim'den tamamlamasını isteyin (örneğin ile Ctrl-d).
VanLaser

teşekkürler, değişken adını yazdığımda - ya da aslında hemen hemen her şey - vim kabul etmeyecek - sadece -- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quitkomut satırında soruyor.
the_velour_fog

1
Yazın :let sonra vurmayın Enter, Tabya da Ctrl-d- "daha" tarzında görüntülenen mevcut değişkenlerin bir listesine sahip olacaksınız - şimdi vurun Esc, birkaç harf yazın, vurun Tabveya Ctrl-dtekrarlayın ... ve değişkeni bulana kadar istemek. Aslında, bir değişkenin değerini görmek için, echo bunun yerine belki de kullanmalısınız ? (Veya set variable-name?seçenekler için)
VanLaser

1
çok güzel, hem de Ctrl-dve yankı hüner güzel çalıştı, teşekkürler!
the_velour_fog

Yanıtlar:


16

Bu moreçağrı cihazı değil , bu Vim'in arama yetenekleri olmayan dahili ve minimalist çağrı cihazı.

Ancak şu :redirkomutu kullanabilirsiniz :

:redir @a    redirect output of following commands to register a
:let         list every current option and its value
G<CR>        go straight to the end of the listing and make it disappear
:redir END   stop redirection
:tabnew      open a new buffer in a new window in a new tab page
"ap          put from register a

… Sonra normal Vim komutlarını kullanın.


oh çok güzel, bu bilmek harika bir komut! thanks
the_velour_fog

7
biraz daha basit::redir @b|sil let|redir end
Christian Brabandt

11

Vim 8, bir execute()komutun çıktısını almanızı sağlayan bir komuta sahiptir. Geçerli arabelleğe görmek için şunları yapın:

:put =execute('let')

Vim 7 için capture.vim kullanabilirsiniz . Komutları @ romainl'in cevabından saran ve onu şu şekilde kullanmanızı sağlayan bir eklentidir

:Capture let

bunu bilmek güzel, teşekkürler. Yükselttiğimde kontrol edeceğim. Vim 7'de yeni bir tampona büyük miktarda çıktı yakalamak için steve losh'ın istiridye eklentisini kullanıyorum. çok iyi çalışıyor
the_velour_fog
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.