Vim arama ve değiştirme

Vim Search Replace



Vim, Linux dağıtımlarının çoğunda önceden yüklenmiş olarak gelen gelişmiş ve popüler bir metin düzenleyicidir. Çoğunlukla GUI tabanlı olmayan işletim sistemlerinde kullanılan komut satırı tabanlı bir metin düzenleyicidir. Son derece yapılandırılabilir ve birçok özellik ile birlikte gelir. Vim ile ilgili önemli bir nokta, tekrarlama için yüksek oranda optimize edilmiş olmasıdır.

Bu yazıda, en kullanışlı özelliklerinden biri olan arama ve değiştirmeyi açıklayacağız. Bir avuç konfigürasyonla, istediğiniz her şeyi inanılmaz hızda ve daha ince ayrıntıyla arayabilirsiniz.







Yöntem 1 Bir Seferde Tek Bir Olayı Bul ve Değiştir (eğik çizgi ve nokta komutunu kullanarak)

Vim'de bir kelimeyi aramanın ve değiştirmenin en basit yolu eğik çizgi ve nokta komutunu kullanmaktır. Bir kelimeyi aramak için eğik çizgi (/) kullanılabilirken, nokta (.) o kelimeyi değiştirmek için kullanılabilir.



Vim düzenleyicide herhangi bir kelimeyi aramak ve değiştirmek için aşağıdaki basit adımları izleyin:



  • Dosyayı Vim'de açın
  • / search_term gibi arama terimi ile birlikte eğik çizgi (/) tuşuna basın ve Enter'a basın. Seçilen kelimeyi vurgulayacaktır.
  • Ardından tuşa basın cgn vurgulanan kelimeyi değiştirmek ve replace_term'i girmek için
  • Normal moda geri dönün. Ardından, arama teriminin bir sonraki oluşumuna geçmek için n'ye basın.
  • Ardından, bir sonraki oluşumu aynı replace_term ile değiştirmek istiyorsanız, noktaya (.) basın, aksi takdirde bir sonraki oluşuma geçmek için tekrar n tuşuna basın.

Temel arama için en hızlı ve en iyi yöntemdir ve yalnızca birkaç tuşa basmayı gerektirdiği ve mevcut çalışmanızda daha az kesinti olduğu için işlevlerin yerini alır. Ancak, çok fazla tekrarlanan bir kelimeyi aramak, tekrar eden ve zaman alan bir iş haline gelecektir.





Vim ile, ikame komutunu kullanan bu tekrarlayan görevden kaçınmanın daha iyi bir yolu daha var.

Yöntem #2 Substitute komutunu kullanarak Bul ve Değiştir

Değiştirme komutu, temelden gelişmişe arama yapmak ve işlevleri tek bir komutla değiştirmek için kullanılabilir. Bu komutun sözdizimi şöyledir:



$:s/<Arama terimi> /<replace_term> /seçenek

Bu komutu normal modda girmeniz gerektiğini unutmayın.

Nereye

  • S: ikame anlamına gelir
  • search_term: aramak ve değiştirmek istediğiniz kelime
  • replace_term: ile değiştirmek istediğiniz kelime
  • Seçenek: c (teyit için), g (bir satırdaki tüm oluşumları değiştir), i (büyük/küçük harfin yok sayılması için)

Ara ve Değiştir

Temel aramayı gerçekleştirmek ve ikame komutunu kullanarak değiştirmek için aşağıdaki sözdizimini kullanın:

:%s/<Arama terimi> /<replace_term> /G

Bu komut, tüm search_term örneklerini replace_term ile değiştirecektir.

Örneğin, bu bizim örnek metnimiz:

Ubuntu, en çok kullanılan Linux işletim sistemlerinden biridir. Ubuntu binlerce faydalı program içerir. Ubuntu komut satırı ile hemen hemen her türlü görevi gerçekleştirebilirsiniz.

Aşağıdaki metinde her Ubuntu oluşumunu Debian ile değiştirmek için aşağıdaki komut kullanılacaktır:

:%s/Ubuntu/Debian/G

Tek bir satırda Ara ve Değiştir

Tüm dosya yerine yalnızca tek bir satırdaki bir sözcüğü aramak ve değiştirmek için aşağıdaki sözdizimini kullanın:

:s/<Arama terimi> /replace_term/G

Örneğin, yukarıdaki örnek metinde Ubuntu oluşumunu Debian ile değiştirmek için % sembolü olmadan aşağıdaki komut kullanılacaktır:

:s/Ubuntu/Debian/G

Ara ve Onay ile Değiştir

Arama terimini değiştirmeden önce onay sorulmasını istiyorsanız, arama komutunun sonunda aşağıdaki gibi c kullanın:

:s/<Arama terimi> /<replace_term> /gc

Yukarıdaki komut, her değiştirmeden önce onay isteyecektir (evet için y, hayır için n girin).

Büyük/küçük harfe duyarsız Ara ve Değiştir

Vim'de arama ve değiştirme yaptığınızda, varsayılan olarak büyük/küçük harf duyarlıdır. Komutun sonuna i ekleyerek aşağıdaki gibi büyük/küçük harf duyarlı olmayan bir arama yapabilirsiniz:

:s/<Arama terimi> /<replace_term> /vermek

Örneğin, durumu ne olursa olsun (UBUNTU, Ubuntu, ubuntu, uBuntu) Ubuntu terimini aramak için aşağıdaki komut kullanılacaktır:

:s/ubuntu/debian/vermek

Tüm kelimeyi arayın ve değiştirin

Varsayılan olarak, ikame komutu, ister kısmi ister tam olsun, herhangi bir eşleşmeyi arar. Tam search_term'i eşleştirmek ve ardından bunu replace_term ile değiştirmek için, search_term'i .

Örneğin bazı belgelerde aratıp tam olarak sen kelimesini bana göre değiştirmek istiyorsun. Bu durumda, aşağıdaki komut kullanılacaktır:

:s/<sen> /ben/

Sen kelimesini bulacak ve benimle değiştirecek. Ancak, sizinki gibi kelimelerin yerini almayacak.

Belirli Satırlarda Kelimeleri Ara ve Değiştir

Sadece bir satır veya tüm dosya yerine belirli satırlar arasında bir kelime aramak için aşağıdaki sözdizimi kullanılabilir:

:<başlama çizgisi>,<bitiş çizgisi>s/<Arama terimi> /<replace_term> /G

Örneğin, bazı dosyalarda 3 ile 8 arasında değişen satırlarda Ubuntu oluşumunu Debian ile aramak ve değiştirmek için komut şöyle olacaktır:

:1,10s/ubuntu/debian/G

Geçerli satırdan sonraki x satır sayısına kadar bir kelimenin oluşumunu aramak ve değiştirmek için aşağıdaki sözdizimi kullanılacaktır:

:s/Arama terimi/replace_term/gx

Benzer şekilde, geçerli satırdan son satıra kadar bir kelimenin oluşumunu aramak ve değiştirmek için: aşağıdaki sözdizimi kullanılacaktır:

:.,$s/Arama terimi/replace_term/G

ÇÖZÜM

Bu makalede, bir Vim düzenleyicide herhangi bir kelimeyi aramanın ve değiştirmenin iki komut satırı yolunu öğrendik. Eğik çizgi ve nokta kullanan ilk komut, en basit ve en kolay yöntemdir ancak çok fazla tekrarlanan bir kelimeyi ararken ve değiştirirken tekrarlayan bir işlem olduğu ortaya çıkıyor. Bir zamanlar ikame komutu olan diğer komut zor ve karmaşık görünebilir, ancak bir kez uygulamaya başladığınızda, onu birçok senaryoda son derece yararlı bulacaksınız.