vim
Linux'taki en popüler dosya editörlerinden biridir. Popülerliğin bir kısmı, kullanıcıların, özellikle yazılım geliştiricilerin ve ileri düzey kullanıcıların dosya değiştirme işlemleri için zamanı optimize etmelerini sağlayan vim'in komut satırı modundan kaynaklanmaktadır.
Bu yazıda, vim
komut satırı modunda metnin nasıl bulunacağını ve değiştirileceğini göreceğiz .
İlk önce vim'de bir metin dosyası açalım:
vim test.txt
Vim çeşitli modlarda çalışır. En önemli iki mod, yukarıda bahsedilen komut modudur ve ikincisi, dosya içeriğini değiştirmek için kullanılan Ekleme modudur.
Varsayılan olarak, bir dosya açıldığında vim komut modunda çalışır. i
Ekle moduna gitmek için tuşuna basabilirsiniz .
Komut modunda doğrudan vim komutlarını yazmaya başlayabilirsiniz; terminalin altında görünürler. Bu alt kısım, vim'de entegre bir komut istemi görevi görür.
Bir dize aramak için ters eğik çizgi ve /
ardından aranacak dizeyi yazın.
For example:
/dog
Yukarıda görüldüğü gibi, imleci, imlecin bulunduğu konumdan dizenin bir sonraki oluşumuna götürür. İmleç, brown
önceki bir resimde gösterildiği gibi diziye yerleştirildi . Sonraki oluşumları bulmak için tuşuna basın n
. Son olaydan sonra, “arama ALTINDA, ÜSTte devam ediyor” mesajı vererek ilk duruma döner .
Özel karakterli bir dizeyi veya örneğin artı (+) veya boşluk gibi karakterleri aramak için karakterin önüne eğik çizgi koyun:
For example:
/C\+
Bir satırdaki ilk dize oluşumunu bulmak ve değiştirmek için imleci o satıra yerleştiririz ve aşağıdaki komutu kullanırız:
For example:
:s/dog/tiger
Yukarıdaki ekran görüntüsünde de görebileceğiniz gibi, imlecin bulunduğu üçüncü satır , komutta belirtildiği gibi kelime dog
ile değiştirilmiştir tiger
.
Bir satırdaki tüm dize oluşumlarını bulmak ve değiştirmek/g
için sonunda öğesini kullanın .
For example:
:s/cat/dog/g
Global olarak tüm oluşumları bulmak ve değiştirmek için , kullandığımız %s
tek yerine s
:
For example:
:%s/dog/mouse
Dize boşluk gibi özel karakterlerden oluşuyorsa, daha önce gösterildiği gibi önüne eğik çizgi gelebilir.
🍻 Şerefe!