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