17 Nisan 2022 • 11 dakikalık okuma
Vim, komut satırı üzerinde çalışan metin düzenleme uygulamasıdır. Vi metin düzenleme uygulaması temel alınarak geliştirilmiştir. Adını Vi IMproved kelimelerinin baş harflerinden alır.
Uzak bir sunucuya bağlanıldığında veya grafik arayüzü olmayan işletim sistemlerinde çalışırken genellikle konfigürasyon dosyalarını oluşturmak, düzenlemek, kaydetmek için kullanılır. Komut satırı üzerinde çalışarak metin düzenlemeyi sağlar. Vim veya Vi küçük boyutludur genellikle grafik arayüzü bulunmayan sistemlerde varsayılan olarak yüklüdür. Boyut olarak küçük ve sade olduğundan diskte ve bellekte çok fazla yer kaplamaz bu nedenle tercih edilir.
İşletim sisteminde yüklü vim uygulamasını görmek için;
vim --version
komutu girilerek sürüm numarası kontrol edilir.
sürüm değeri görülüyor ise vim yüklüdür.
Debian/Ubuntu tabanlı dağıtımlara vim uygulamasını yüklemek için;
sudo apt update
sudo apt search vim
sudo apt install vim
vim --version
komutları srasıyla çalıştırılır.
RedHat/CentOS tabanlı dağıtımlara vim uygulamasını yüklemek için;
sudo yum install vim-enhanced -y
vim --version
komutları srasıyla çalıştırılır.
Vim uygulamasında Insert mode (Metin Giriş modu) ve Command mode (Komut modu) olmak üzere iki mod bulunur. Uygulama açıldıktan sonra metin girişi yapabilmek için i tuşuna basılarak giriş moduna geçilir. Metin düzenleme tamamlandıktan sonra değişiklikleri kaydetmek için Insert modundan çıkıp Command moduna geçmek gerekir. Insert modundan çıkmak için Esc tuşuna basılır.
Vim ile yeni dosya oluşturmak için;
vim
Uygulama açıldıktan sonra metin girişi yapabilmek için i tuşuna basılarak giriş moduna geçilir. Metin giriş modunda ekranın en altında -- INSERT -- (-- EKLE --) yazar.
Metin düzenlemesi bittikten sonra kayıt yapabilmek için Esc tuşuna basılarak komut moduna geçilir. Komut modunda imleç ekranın en alt satırında komut girişi için bekler.
Kayıt yapabilmek için Esc tuşuna basılarak komut moduna geçilir. Kayıt için Write komutu verilir; :w ve dosya adı yazılır.
:w todo.txt
Sonrasında Enter tuşuna basılır.
Çıkış yapabilmek için Esc tuşuna basılarak komut moduna geçilir. Kayıt için Quit komutu verilir;
:q
yazılır. Enter tuşuna basılır. Değişiklikleri kaydetmeden çıkmak için komut modunda;
:q!
yazılır. Enter tuşuna basılır. Değişiklikleri kaydedip çıkmak için komut modunda;
:wq!
komutu yazılır Enter tuşuna basılır.
Terminal ekranında düzenlenecek dosyanın bulunuduğu dizine gidilir; vim dosya adı yazılır.
vim todo.txt
Enter tuşuna basılır. i tuşuna basılarak giriş moduna geçilir. Düzenlemeler yapıldıktan sonra
Değişiklikleri kaydetmeden çıkmak için komut modunda;
:q!
Düzenlemeler yapıldıktan sonra kayıt için;
:wq!
yazılır. Enter tuşuna basılır. Dizinde yazılan dosya adı yok ise vim yeni dosya oluşturup kaydeder.
Komut modunda; kopyalanmak istenen satırda;
yy
Komut modunda; 3 satır kopyalama için;
3yy
Komut modunda; imlecin bulunduğu kelimeyi kopyalar;
yiw
Komut modunda; imlecin bulunduğu kelimeyi başındaki sonundaki boşluklarla kopyalar;
yaw
Komut modunda; imlecin bulunduğu harften başlayıp sonraki kelime başına kadar kopyalar;
yw
Komut modunda; yapıştırmak istenen satırda;
p
Komut modunda; imleçten önceki alana yapıştırır;
P
Komut modunda;
dd
5 satırı kesmek ve silmek için komut modunda;
5dd
Karakteri kesmek ve silmek için komut modunda;
x
Komut modunda; imlecin bulunduğu kelimeyi keser ve siler;
diw
Komut modunda; imlecin bulunduğu kelimeyi başındaki sonundaki boşluklarla keser ve siler;
daw
Komut modunda; imlecin bulunduğu harften başlayıp sonraki kelime başına kadar keser ve siler;
dw
Komut modunda;
u
Komut modunda; Ctrl + r
Komut modda;
:set number
Komut modda; 7. satıra gitmek için;
7gg
Komut modda; İlk satıra gitmek için;
gg
Komut modda; İlk satıra gitmek için;
G
Komut modda; aranacak kelimenin başına /
/Ağaçlar
Enter tuşuna basılır. Eşleşen satırlarda aşağı gitmek için n , yukarı gitmek için; N ya da Shift + n tuşlarına basılır.
Komut modda; değiştirilecek kelimenin başına :%s/
:%s/Ağaçlar/Çiçekler/gc
Enter tuşuna basılır.
Sondaki g parametresi ile bulunun tüm sonuçlar değiştirilir. c parametresi ile tek tek değişitirmek için onay ister.