Vim'de Tüm Satırları Seçme, Kopyalama ve Silme Yöntemleri

Vim editöründe tüm dosya içeriğini nasıl seçersiniz, kopyalarsınız, silersiniz veya sistem panosuna aktarırsınız? Adım adım rehber.

I
ITWISE
2 görüntülenme
Vim'de Tüm Satırları Seçme, Kopyalama ve Silme Yöntemleri

Giriş

Vim editöründe çalışırken zaman zaman tüm dosya içeriğini seçmeniz, kopyalamanız, silemeniz veya sistem panosuna aktarmanız gerekebilir. Örneğin, bir yapılandırma dosyasını destek talebine yapıştırmak, bir komut dosyasını başka bir editöre taşımak veya tüm içeriği silerek yeniden başlamak isteyebilirsiniz.

Diğer editörlerde bu işlem genellikle Ctrl+A (tümünü seç) ve ardından Ctrl+C (kopyala) ile yapılır. Ancak Vim bu şekilde çalışmaz. Ctrl+A tuş kombinasyonu, imlecin bulunduğu konumdaki sayıyı artırmaktan başka bir işe yaramaz. Peki Vim'de tüm içeriği nasıl seçersiniz? Bu makalede, tüm dosyayı seçme, kopyalama, silme ve sistem panosuna aktarma yöntemlerini detaylı olarak inceleyeceğiz.

Tüm Metni Seçme: ggVG Komutu

Vim'de tüm metni seçmek için normal modda bulunmanız gerekir. Normal moda geçmek için Esc tuşuna basın. Ardından aşağıdaki adımları izleyin:

  1. gg komutu: İmleci dosyanın ilk satırına götürür. Bu komut, dosyanın başına hızlı bir şekilde ulaşmanızı sağlar.
  2. V komutu: Satır bazlı görsel modu başlatır. Bu modda, satırlar tek tek seçilebilir.
  3. G komutu: İmleci dosyanın son satırına götürür ve tüm dosyayı seçer. Bu komut, V komutuyla başlatılan seçimi dosyanın sonuna kadar genişletir.

Bu üç komutun kombinasyonu olan ggVG, tüm dosyayı seçmenizi sağlar. Seçim tamamlandığında tüm satırlar vurgulanır ve Vim, bir sonraki komutu beklemeye başlar. Bu aşamada aşağıdaki işlemleri gerçekleştirebilirsiniz:

  • y (yank): Seçilen metni kopyalar.
  • d (delete): Seçilen metni siler.
  • =: Tüm satırları yeniden girintiler.
  • Gu: Tüm metni küçük harfe çevirir.
  • GU: Tüm metni büyük harfe çevirir.
  • >: Tüm satırları bir girinti düzeyi sağa kaydırır.
  • Esc: Seçimi iptal eder ve normal moda geri döner.

Örnek: Tüm dosyayı seçip kopyalamak için ggVG komutunu kullanın, ardından y tuşuna basın. Tüm metin Vim'in varsayılan kayıt alanına (register) kopyalanır.

Görsel Mod Olmadan Tüm Satırları Seçme

Görsel mod kullanmadan tüm satırları seçmek için gg ve G komutlarını birlikte kullanabilirsiniz. Örneğin:

  • ggyG: Tüm satırları kopyalar (ilk satırdan son satıra kadar).
  • ggdG: Tüm satırları siler (ilk satırdan son satıra kadar).

Bu komutlar, görsel modu kullanmadan tüm satırlar üzerinde işlem yapmanızı sağlar.

Tüm Satırları Kopyalama (Yanklama)

Vim'in Varsayılan Kayıt Alanına Kopyalama

Görsel modda tüm dosyayı seçtikten sonra y tuşuna basarak metni Vim'in varsayılan kayıt alanına kopyalayabilirsiniz. Komut dizini:

ggVGy

Bu komut, ggVG ile tüm dosyayı seçer ve ardından y ile kopyalar. Kopyalanan metin, aynı Vim oturumunda p komutuyla yapıştırılabilir.

Görsel mod kullanmadan tüm satırları kopyalamak için ex komutunu kullanabilirsiniz:

:%y

% sembolü, tüm satırları temsil eder. Bu komut, tüm dosyayı varsayılan kayıt alanına kopyalar. Normal modda karşılığı ggyG şeklindedir.

Örnek: Tüm dosyayı kopyaladıktan sonra imleci dosyanın sonuna götürmek ve kopyalanan metni dosyanın altına eklemek için:

:%y
G
p

Sistem Panosuna Kopyalama

Vim'in varsayılan kayıt alanı, yalnızca Vim içinde kullanılabilir. Kopyalanan metni bir tarayıcıya, e-postaya veya başka bir uygulamaya yapıştırmak için metni sistem panosuna aktarmanız gerekir. Bunu yapmak için "+ kayıt alanını kullanın. Bu kayıt alanı, sistem panosuyla senkronize edilir.

Aşağıdaki komutlar, tüm dosyayı sistem panosuna kopyalamanızı sağlar:

  • Görsel mod ile:
    ggVG"+y
  • Görsel mod olmadan:
    gg"+yG
  • Ex komutuyla:
    :%y+

Sistem panosuna kopyaladıktan sonra, metni diğer uygulamalara yapıştırmak için masaüstü ortamınızın standart yapıştırma kısayolunu kullanabilirsiniz (örneğin, Ctrl+V veya Cmd+V).

Not: "+ kayıt alanı, Vim'in +clipboard özelliğiyle derlenmiş olması gerekir. Bu özelliğin yüklü olup olmadığını kontrol etmek için terminalde aşağıdaki komutu çalıştırın:

vim --version | grep clipboard

Eğer çıktıda -clipboard görüyorsanız, sistem panosu desteği olan bir Vim sürümü yüklemeniz gerekir. Örneğin, Debian ve Ubuntu sistemlerinde vim-gtk3 paketini yükleyebilirsiniz:

sudo apt-get install vim-gtk3

Sistem Panosu Desteği Olmayan Vim için Alternatif Yöntemler

Eğer sistem panosu desteği olmayan bir Vim kullanıyorsanız, dosya içeriğini sistem panosuna aktarmak için harici bir yardımcı programdan yararlanabilirsiniz. Örneğin:

  • X11 sistemlerinde (xclip kullanarak):
    :%w !xclip -selection clipboard
  • Wayland sistemlerinde (wl-copy kullanarak):
    :%w !wl-copy

Bu komutlar, dosya içeriğini xclip veya wl-copy komutuna yönlendirir ve sistem panosuna aktarır. xclip ve wl-copy paketlerini yüklemek için aşağıdaki komutları kullanabilirsiniz:

# X11 için (Debian/Ubuntu)
sudo apt-get install xclip

# Wayland için (Debian/Ubuntu)
sudo apt-get install wl-clipboard

Tüm Satırları Silme

Tüm Dosyayı Silme

Tüm dosyayı silmek için görsel modda ggVGd komutunu kullanabilirsiniz. Bu komut, tüm dosyayı seçer ve ardından siler. Alternatif olarak, görsel mod kullanmadan ggdG komutunu kullanabilirsiniz. Bu komut, ilk satırdan son satıra kadar tüm satırları siler.

En hızlı yöntem ise ex komutunu kullanmaktır:

:%d

Bu komut, tüm satırları siler ve dosyayı tek bir boş satır bırakarak temizler. Silinen metin, varsayılan kayıt alanına kaydedilir. Eğer yanlışlıkla tüm içeriği sildiyseniz, u komutuyla geri alabilir veya p komutuyla metni geri yapıştırabilirsiniz.

Varsayılan Kayıt Alanını Koruyarak Silme

Eğer silinen metnin, daha önce kopyaladığınız metni yapıştırma işlemini etkilemesini istemiyorsanız, metni siyah delik kayıt alanına gönderebilirsiniz. Bu kayıt alanı, silinen metni kaydetmez ve varsayılan kayıt alanını korur:

:%d _

Bu komut, tüm satırları siler, ancak silinen metin varsayılan kayıt alanını değiştirmez. Böylece, daha önce kopyaladığınız metin p komutuyla yapıştırılmaya devam eder.

Diğer Komutları Tüm Dosya Üzerinde Uygulama

Tüm dosyayı seçmek, yalnızca kopyalama ve silme işlemleri için kullanılmaz. Görsel modda tüm dosyayı seçtikten sonra aşağıdaki komutları kullanarak çeşitli işlemler gerçekleştirebilirsiniz:

  • ggVG=: Tüm satırları yeniden girintiler. Aynı zamanda gg=G komutuyla da yapılabilir.
  • ggVGu: Tüm metni küçük harfe çevirir.
  • ggVGU: Tüm metni büyük harfe çevirir.
  • ggVG>: Tüm satırları bir girinti düzeyi sağa kaydırır.

Tüm dosya üzerinde arama ve değiştirme işlemi yapmak içinse görsel moda ihtiyacınız yoktur. % aralığı, tüm dosyayı temsil eder. Örneğin:

:%s/old/new/g

Bu komut, tüm dosyada "old" kelimesini "new" kelimesiyle değiştirir. Ayrıntılı bilgi için Vim'de Arama ve Değiştirme makalesine bakabilirsiniz.

Hızlı Referans Tablosu

Komut Açıklama
ggVG Tüm satırları seç
ggVGy Tüm satırları seç ve kopyala
ggVGd Tüm satırları seç ve sil
ggVG"+y Tüm satırları seç ve sistem panosuna kopyala
ggyG Görsel mod kullanmadan tüm satırları kopyala
ggdG Görsel mod kullanmadan tüm satırları sil
:%y Tüm satırları kopyala (ex komutu)
:%y+ Tüm satırları sistem panosuna kopyala
:%d Tüm satırları sil
:%d _ Tüm satırları sil, ancak varsayılan kayıt alanını koru
gg=G Tüm satırları yeniden girintile
:%s/old/new/g Tüm dosyada "old" kelimesini "new" kelimesiyle değiştir
u Son işlemi geri al

Sonuç

Vim'de tüm dosyayı seçmek, kopyalamak, silmek veya diğer komutları uygulamak oldukça basittir. Eğer işlemden önce tüm dosyayı görsel olarak seçmek istiyorsanız ggVG komutunu kullanın. Eğer işlem doğrudan belliyse, % aralığını kullanarak ex komutlarını tercih edin. Örneğin:

  • Kopyalama: :%y veya ggVGy
  • Silme: :%d veya ggVGd
  • Arama ve Değiştirme: :%s/old/new/g

Bu komutlar, Vim'de verimli çalışmanızı sağlayacak temel işlemlerdir. Uygulamaları kolaylaştırmak için bu komutları ezberlemeniz ve sık sık kullanmanız önerilir.

Kaynak

Linuxize