8. Edit File dengan Vi
Apa yang akan dipelajari
- Cara menggunakan vi editor
Vi Editor
- Lebih advance dan mempunyai fitur lebih powerful dan editor nano
- Lebih sulit untuk dipelajari daripada editor nano
- Memerlukan waktu untuk mahir menggunakannya
Cara menggunakan Vi editor
vi [file_name] = Edit file
vim [file_name] = Sama seperti vi, tapi lebih banyak fitur
view [file_name] = Menjalankan vim dengan mode read-only
note :
- vim singkatan dari vi improved. Kompatibel dengan semua perintah yang dibuat oleh vi.
- vim mempunyai beberapa fitur tambahan seperti sintaks highlighting dan kemampuan untuk mengedit file melalui jaringan.
- Di kebanyakan distribusi linux, saat menjalankan vi sebenarnya kita menjalankan vim
- vi selalu tersedia di sistem linux
- setelah mempelajari keymapping pada vi, kita dapat menerapkan ke perintah lain seperti man, more, less, view, bahkan bisa menggunakan vi mode untuk mengedit shell command.
note penting :
- vi mempunyai konsep mode
- kita akan selalu bekerja di salah satu dari tiga mode
- Mode tersebut adalah : Command mode, Insert mode, dan Line mode
- Ketika vi mulai dijalankan, kita akan ditempatkan dalam Command mode
- Untuk masuk/kembali ke Command mode, tekan tombol Escape(Esc)
- Huruf yang diketikkan pada Command mode tidak akan masuk ke file, tapi ditafsirkan sebagai perintah
Vi Command mode and navigation
k = Keatas satu baris
j = Kebawah satu baris
h = Kekiri satu karakter
l = Kekanan satu karakter
w = Kekanan satu kata
b = Kekiri satu kata
^ = Pergi ke awal baris
$ = Pergi ke akhir baris
Vi Navigation Keys
k = Keatas satu baris
j = Kebawah satu baris
h = Kekiri satu karakter
l = Kekanan satu karakter
Vi Insert Mode
i = Insert di posisi kursor
I = Insert di awal baris
a = Append/menambahkan setelah posisi kursor
A = Append/menambahkan di akhir baris
Vi Line Mode
:w = Writes (Save) file
:w! = Paksa file untuk disimpan (saved)
:q = Keluar
:q! = Keluar tanpa menyimpan perubahan
:wq! = Write (simpan) and quit (keluar)
:x = sama seperti :wq
Line mode juga bisa digunakan untuk navigasi :
:n = Meletekkan kursor ke baris n
:$ = Meletakkan kursor ke akhir baris
:set nu = Aktifkan nomor baris
:set nonu = Nonaktifkan nomor baris
:help [subcommand] = Mendapatkan bantuan (help)
Vi Modes
Mode Key
Command Esc
Insert iIaA
Line :
Vi - Mengulang Command
- Mengulang sebuah command dengan mengawalinya dengan angka
ex :
5k = Memindahkan kursor ke atas lima baris
80i<Teks><Esc> = Insert <Teks> 80 kali
80i_<Esc> = Insert tanda "_" sebanyak 80 karakter
Vi - Menghapus Teks
Saat dalam Command mode :
x = Hapus satu karakter
dw = Hapus satu kata
dd = Hapus satu baris
D = Hapus teks yang tersisa dari posisi kursor saat ini (Setelah posisi kursor) sampai akhir baris
Vi - Mengganti Teks
r = Replace karakter pada posisi kursor
cw = Ganti kata pada posisi kursor
cc = Ganti Baris pada posisi kursor
c$ = Ganti teks dari posisi kursor saat ini ke akhir baris
C = Sama seperti c$
~ = Membalikkan case pada sebuah karakter (dari besar ke kecil/sebaliknya)
Vi - Copy dan Paste
yy = Yank (copy) baris saat ini
y<position> = Yank (copy) <posisi>
ex :
yw = Copy
note :
yw === yank word (copy word)
p = Paste teks yang paling baru dihapus atau di yank (copy)
Vi- Undo / Redo
u = Undo
Ctrl-R = Redo
Vi - Searching
/<pattern> = Memulai pencarian maju (forward search)
?<pattern> = Memulai pencarian terbalik (reverse search)
:noh = Keluar dari mode perncarian
n = Pergi ke kata berikutnya (yang dicari)
N = Pergi ke kata sebelumnya (yang dicari)
vimtutor
command :
vimtutor
- Membantu belajar editor vi. Terdapat tutorial yang bisa dibaca
- Tulisan di file vimtutor bisa di edit dan tidak akan tersimpan.