Linux Vi / Vim Metin Editörü Komutları

Vi nedir?

Vi editörü bir metin editörüdür . Her Linux sisteminde varsayılan olarak kuruludur. Başka bir deyişle, tüm Linux dağıtımlarında kullanılabilir. Farklı dağıtım ve platformlarda aynı şekilde çalışır. Güçlü bir uygulamadır. Vi editörünün geliştirilmiş sürümü ise vim‘dir.

Vi/Vim metin editörü yeni başlayan kullanıcılar için karmaşık gözüken, aslında göründüğü kadar karmaşık olmayan bir programdır.

Vi /Vim metin editöründe en çok kullanılan komutlar ve anlamları aşağıdaki gibidir.

ESC ekleme ve görsel moddan komut moduna dönüş için kullanılır. Komutları çalıştırmak için mutlaka komut modunda olmalısınız. Değilseniz ESC tuşuyla komut moduna geçebilirsiniz.

EKLEME MODUNA GEÇİŞ

i Bulunduğu karakterden önce ekleme moduna geç

I Satırın başından itibaren ekleme moduna geç

a Bulunduğu karakterden sonra ekleme moduna geç

A Satırın sonundan itibaren ekleme moduna geç

o Mevcut satırdan sonra yeni satırda ekleme moduna geç

O Mevcut satırdan önce yeni satırda ekleme moduna geç

EDİTÖRDEN ÇIKIŞ

:wq Kaydet ve Çık

:w Sadece Kaydet

:q Çık

:w DOSYAADI DOSYAADI gibi yazdığım isimle kaydet

ZZ Kaydet ve Çık

:q! Değişiklikleri kaydetmeden çık

:w! Kaydet (SADECE okunabilir dosyaya yazmak içindir)

İSTENİLEN SATIRA ATLAMA

j Aşağı gitmek için (Aşağı ok tuşu ile aynı işlevi görür)

k Yukarı gitmek için (Yukarı ok tuşu ile aynı işlevi görür)

h Sola gitmek için (Sol ok tuşu ile aynı işlevi görür)

l Sağa gitmek için (Sağ ok tuşu ile aynı işlevi görür)

*** j, k, h, l öncesine SAYI yazarsanız hızlı seçilde yukarı, aşağı, sola ve sağa haraket edebilirsiniz.

G Dosyanın son satırına git

Dosyadaki son konumunuza götürür

SİLME İŞLEMLERİ

x Geçerli karakteri sil

X İmleçten önceki karakteri sil

r Mevcut karakteri değiştir

xp İki karakter değiştir

dd İmlecin bulunduğu satırı sil

D Geçerli karakterden satırın sonuna kadar sil

dG Geçerli satırdan dosyanın sonuna kadar sil

GERİ AL / YİNELE İŞLEMLERİ

u Son komutu geri al

.(NOKTA) Son komutu tekrarla

KES, KOPYALA ve YAPIŞTIR İŞLEMLERİ

dd Bir satırı kes

yy Bir satırı kopyala (yank yank)

p Bulunduğu satırdan sonraya yapıştır.

P Bulunduğu satırdan önceye yapıştır.

SAYIdd SAYI kadar satırı kes/sil

SAYIyy SAYI kadar satırı kopyala

SATIRLARLA İŞLEMLER

0 İmlecin bulunduğu satırın başına git

^ İmlecin bulunduğu satırın başına git

$ İmlecin bulunduğu satırın sonuna git

d0 İmlecin bulunduğu yerden satırın başına kadar sil

d$ İmlecin bulunduğu yerden satırın sonuna kadar sil

J İki (2) satırı birleştir

yyp Bulunduğu satırı tekrarla (kopyala/yapıştır)

ddp Satırların yerini değiştir

KELİMELERLE İŞLEMLER

w Kelime kelime ilerlemek için kullanılır.

b Kelime kelime geri gitmek için kullanılır

SAYIw SAYI kadar kelime ileri git

SAYIb SAYI kadar kelime geri git

dw Bir kelimeyi sil

yw Bir kelimeyi kopyala

SAYIdw SAYI kadar kelimeyi sil

ARAMA YAPMA

/ARANACAK Dosyanın başından sonuna doğru arama yap

?ARANACAK Dosyanın sonundan başına doğru arama yap

/^ARANACAK Satırın başında geçen ifadeyi ara

/ARANACAK$ Satırın sonunda geçen ifadeyi ara

n Arama işleminde ileri/geri gitmek için

/\<KELIME\> Tam kelime eşleşmesi yaparak arama yap (Kelimede ek varsa bulamaz)

BUL/DEĞİŞTİR

:BAŞLANGIÇ SATIRI,BİTİŞ SATIRI s/ARADIĞIMIZ İFADE/YENİ İFADE/g (g yerine c yazarsak her değiştirmede onay istenir.)

ÖRNEK;

:1,$ s/lorem/LOREM IPSUM/g

DİĞER BAZI KOMUTLAR

:sh linux komut satırına (yani konsol) geçici dönüş için kullanılır. exit ile editöre geri dönülür.

:! KOMUT editörden çıkmadan komut çalıştırmayı sağlar. Komut sonrası editöre geri dönülür.

gg Dosya başına git

GG Dosya sonuna git

<CTRL>e imlecin yeri değişmeden dosyayı yukarı kaydır

<CTRL>y imlecin yeri değişmeden dosyayı aşağı kaydır

zt imlecin bulunduğu satırı sayfanın baş tarafında gösterir

zb imlecin bulunduğu satırı sayfanın alt tarafında gösterir

zz imlecin bulunduğu satırı sayfanın orta kısmında gösterir


SWITCHING TO THE INSERT MODE

i Switch to insert mode before the character it is on

I Switch to insert mode from the beginning of the line

a Switch to insert mode after the character it is in

A Switch to insert mode from the end of the line

o Switch to insert mode on new line after current line

O Switch to insert mode on new line before current line

EXIT FROM THE EDITOR

:wq Save and Exit

:w Save Only

:q Exit

:w Filename Save with my name as filename

ZZ Save and Exit

:q! Exit without saving changes

:w! Save (for writing to readable file ONLY)

SKIP TO REQUESTED LINE

j To go down (Same function as Down arrow key)

k To move up (Same function as Up arrow key)

h To go left (Functions same as left arrow key)

l To move right (Same function as Right arrow key)

*** If you type NUMBER before j, k, h, l, you can move up, down, left and right quickly.

G Go to the last line of the file

Takes you to your last location in the file

DELETE COMMANDS

x Delete current character

X Delete character before cursor

r Replace current character

xp Change two characters

dd Delete line with cursor

D Delete from current character to end of line

dG Delete from current line to end of file

UNDO / REPEAT

u Undo the last command

.(POINT) Repeat the last command

CUT, COPY and PASTE

dd Cut a line

yy Copy one line (burned)

p Paste after the current line.

P Paste before the current line.

NUMBERdd Cut / delete rows up to NUMBER

NUMBERyy Copy number as many as NUMBER

TRANSACTIONS WITH ROWS

0 Move to the beginning of the line with the cursor

^ Go to the beginning of the line with the cursor

$ Go to the end of the line where the cursor is located

d0 Delete from cursor position to the beginning of the line

d$ Delete from where the cursor is located to the end of the line

J Merge two (2) lines

yyp Repeat the current line (copy / paste)

ddp Move rows

TRANSACTIONS WITH WORDS

w Vocabulary is used to advance the word.

b Vocabulary is used to go back

NUMBERw Go as far as NUMBER

NUMBERb Say back to NUMBER words

dw Delete a word

yw Copy a word

NUMBERdw Delete as many words as NUMBER

SEARCH

/SEARCH Search from beginning to end of the file

?SEARCH Search right from the end of the file

/^SEARCH Search for the expression at the beginning of the line

/SEARCH$ Search the expression at the end of the line

n To go forward / back in search

/\<WORD\> Search by matching exact words (Cannot find any attachments in the word)

FIND / REPLACE

:START LINE,FINISH LINE s/EXPRESSION WE SEEK/NEW EXPRESSION/g (If we write c instead of g, confirmation is requested each time.)

SAMPLE;

: 1,$ s/lorem/LOREM IPSUM/g

OTHER SOME COMMANDS

:sh linux is used for temporary return to the command line (i.e. console). Exit returns to the editor.

:! Allows running commands without leaving the COMMAND editor. After the command, you return to the editor.

gg Go to top of file

GG Go to end of file

<CTRL>e Scroll up the file without moving the cursor

<CTRL>y Scroll down the file without moving the cursor

zt Shows the line with the cursor at the top of the page

zb Shows the line with the cursor at the bottom of the page

zz shows the line with the cursor in the middle of the page