Komut satırı modu ile vi şekilde nasıl çalışılır?


10

Her zaman başlangıç ​​konumundayken komut satırı moduyla etkileşim kurmanın bir yolu var mı?

Özellikle, aşağıdaki iki eylem hantaldır, parmakları ok tuşlarına ve bazen daha da kötüsü fareye doğru hareket ettirmeyi gerektirir.

  1. Hareket etme: Normal konumda kalırken komut satırı modunda ileri ve geri gitmenin bir yolu var mı?
  2. Komut satırına nasıl kopyalayıp yapıştırabilirsiniz? Hem komut satırının kendisinden başka bir bölüme, hem de metin veya hatta panoya kopyalamak demek.

1
Her ikisi de :q; ile komut satırı penceresi kullanılarak çözülebilir ; bu, hjklhareket, yyankılanma vb. için kullanabileceğiniz yeni bir "tampon benzeri" pencere açar .
Martin Tournoij

1
@Carpetsmoker (demek istiyorsun q:, değil mi?) Bilmek güzel! Yanlışlıkla geçmişte oraya gelmiştim, ama onu kullanmayı gerçekten düşünmemiştim. Yine /de (arama) ile çalışmıyor gibi görünüyor .
Shahbaz

Hata! Evet, q demek istedim: ... Hiç bu kadar çok kullanmadım, bu yüzden size tam / doğru bir cevap
veremem

Yanıtlar:


17

Orada komut satırı (bildiğinize göre) ve orada komut satırı penceresi (sadece diğerleri gibi düzenleyebileceğiniz özel bir tampon içerisinde komut satırı). Ya yoluyla bu girmek <C-f>(aynı zamanda için komut satırından /adanmış aracılığıyla normal modda doğrudan daha "güç düzenleme" için ihtiyacı hissediyorum aramalar vs.) veya q:, q/vb komutlar.

Bununla ilgili daha fazla bilgiyi adresinde bulabilirsiniz :help command-line-window.


4
<C-f>bilmeniz çok yararlıdır, çünkü komutun yarısına geldikten sonra çalışır.
Shahbaz

1
Katılıyorum; :'s iyi normal moda geri gitmeden geçiş yapabilmek için çok benim için neredeyse otomatik olarak gelir.
Ingo Karkat

11

Sağlamanın yanı sıra komut satırı penceresi , Vim da (komut satırı modunda iken komut satırı ile etkileşim sağlayan bazı sınırlı özellikler sunar olmadan ok tuşlarını kullanarak).

hareket

  • <ctrl-b> imleci komut satırının başına götür
  • <ctrl-e> imleci komut satırının sonuna taşıma

düzenleme

  • <ctrl-h> imleçten önceki karakteri sil (geri silme gibi)
  • <ctrl-w> imleçten önceki kelimeyi sil
  • <ctrl-u> imleçten komut satırının başına kadar tamamen sil

Diğer programların gezinme tuşlarını:cnoremap taklit etmek için elbette komut satırı eşlemeleri ekleyebilirsiniz . Veya fiili standart Readline bağlarını kullanmak için Tim Pope'in RSI eklentisini yükleyin .

yapıştırma

Herhangi bir kaydın içeriğini, tuşuna basarak <ctrl-r>kaydı belirten karaktere basarak, imlecin bulunduğu konumdaki komut satırına yapıştırabilirsiniz . örneğin <ctrl-r>, +panonun içeriğini komut satırına ekler; <ctrl-r>, ""adsız" kaydın içeriğini ekler (yani son silme veya kaydetme içeriğiniz).

:help cmdline.txtYukarıdakilerin tümü hakkında daha fazla bilgi için bakınız.


1
Müthiş! <ctrl-r>özellikle yararlı olacaktır.
Shahbaz

Evet, ^Rmakroları bile kullandım . Makro sırasında ve daha sonra da makro sırasında dosyanın uzun bir Ex-mode komutunda yanked parçasını kullanarak süper zor manipülasyonlar yapmama izin verdi ^R. :)
Wildcard
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.