28 November 2009

Pengenalan Perintah Dasar Vi

Pengenalan Perintah Dasar Vi

Sedikit Pengenalan Tentang Vi Teks Editor
Mungkin banyak diantara kita (termasuk saya), yang mengalami kesulitan ketika pertamakali menggunakan Vi sebagai teks editor di platform *Nix. Minimnya pilihan bantuan yang ditampilkan di layar, menjadi salah satu kendala besar bagi kebanyakan pengguna yang terbiasa menghadapi Windows (fwerd says Windows is a virus, not OS).
Salah satu ciri khas Vi adalah semua pengendalian teks dilakukan melalui command mode. Hal ini yang biasanya menyusahkan para newbie, karena harus menghafal seluruh command yang diperlukan. Vi sendiri memiliki 2 modus, modus penulisan (INSERT) dan modus command. Pengeditan teks hanya bisa dilakukan pada modus INSERT (ditandai dengan munculnya kata INSERT di sebelah kiri bawah jendela Vi), sementara modus command dipakai untuk menjalankan berbagai perintah (seperti save, pindah kursor, menghapus teks, dll). Ketika pertamakali vi dijalankan (dengan perintah $ vi filename), kita akan masuk ke modus command. Untuk berpindah ke modus penulisan, tekan huruf i atau Insert sampai muncul kata INSERT atau kursor masuk ke dalam teks (tadinya kursor berada di kiri bawah/command mode). Untuk kembali lagi ke modus command, tekan tombol Escape, sampai kursor berpindah ke kiri bawah jendela Vi.

Vi tidak terlalu bermasalah jika digunakan di shell lokal, karena tidak ada time lag antara pengguna dengan file yang di-edit. Namun seringkali masalah muncul ketika sedang mengedit file yang dibuka melalui shell remote. Time lag antara ketukan keyboard dan tampilan layar sering membingungkan pengguna. Mouse tidak akan mempengaruhi pergerakan cursor di Vi, walaupun bisa untuk meng-copy tampilan di layar.

Cara mudah yang sering saya lakukan untuk mengakali Vi adalah: kita menuliskan dahulu semua teks di komputer kita (menggunakan Notepad). Setelah itu baru membuka vi di shell remote, dan mem-paste semua tulisan dari teks Notepad di komputer lokal ke Vi di remote shell. (Daripada pusing² meng-edit di shell yang lelet =P~).

Untuk memudahkan pengguna Vi, berikut ini ringkasan command mode di Vi yang dimaksudkan sebagai Referensi Perintah Teks Editor Vi.

**Memulai vi
$ vi Membuka/mengedit file baru (disimpan dengan perintah :w filename)
$ vi filename Membuka/mengedit file dengan nama filename
$ vi -r filename Recover file


**Keluar dari vi
:x Keluar dan menyimpan modifikasi
:wq Keluar dan menyimpan modifikasi
:q Keluar
:q! Keluar tanpa menyimpan, file tetap seperti pada sebelum dibuka


**Menggerakkan cursor (modus command)
j atau Menurunkan kursor satu baris
k atau Menaikkan kursor satu baris
l atau Menggeser kursor satu karakter ke kanan
h atau Menggeser kursor satu karakter ke kiri
0 (nol) Menggeser kursor ke awal baris
$ (dolar) Menggeser kursor ke akhir baris
w Menggeser kursor ke awal kata berikutnya
b Menggeser kursor ke awal kata sebelumnya
:0 (nol) atau 1G Menggeser kursor ke awal file
:n atau nG Menggeser kursor ke baris nomor n, misal :12 menggeser kursor ke baris 12
:$ atau G Menggeser kursor ke akhir file


**Manipulasi Layar
^f Scroll 1 layar ke bawah
^b Scroll 1 layar ke atas
^d Scroll ke bawah 1 setengah layar
^u Scroll ke atas 1 setengah layar
^l Refresh
^r Refresh, dan tidak menampilkan baris yang dihapus


**Perintah Sakti
u Undo


**Menulis
i Menulis (Insert) teks pada kursor
I Menulis pada awal baris kursor
a Menambah (append) teks pada kursor
A Menambah (append) teks pada akhir baris
o (huruf o kecil) Membuka (open) baris baru dibawah kursor dan menulis.
O (huruf o besar) Membuat baris baru di atas kursor dan menulis.


**Mengganti Teks
r Mengganti (replace) satu huruf yang berada di kursor
R Mengganti karakter-karakter dimulai dari posisi kursor, sampai Escape ditekan
cw Mengganti (change) kata dimulai dari posisi kursor, sampai Escape ditekan
cNw Mengganti sejumlah N kata dimulai dari posisi kursor, sampai Escape ditekan. Misalnya c5w akan mengganti 5 kata dimulai dari posisi kursor
C Mengganti karakter di baris pada kursor, sampai Esc ditekan
cc Mengganti seluruh baris, Esc
Ncc atau cNc Mengganti N baris berikutnya, dimulai dari baris pada kursor, Esc


**Menghapus Teks
x Menghapus satu karakter
Nx Menghapus N karakter
dw Menghapus kata (delete word)
dNw Menghapus N kata
D Menghapus seluruh kata dan karakter di belakang kursor
dd Menghapus seluruh baris
Ndd atau dNd Menghapus N baris


**Cut dan Paste
yy Meng-cut seluruh baris (masuk ke buffer) dikeluarkan dengan perintah p
Nyy atau yNy Cut N baris
p Paste teks yang di-cut


**Mencari String Teks
/string Mencari string, contoh /password akan mencari kata "password"
?string Mencari string ke atas kursor
n Pindah ke string yang dicari berikutnya
N Pindah ke string yang dicari berikutnya (ke arah sebaliknya)


**Nomor Baris
:.= Memperlihatkan nomor baris kursor saat ini (ditampilkan di kiri bawah)
:= Memperlihatkan total baris
^g (Ctrl-g) Memperlihatkan nomor baris dan total baris


**Menyimpan dan Membaca File (semua diakhiri ENTER)
:r filename Membuka file (read) dan langsung masuk INSERT mode
:w Menyimpan file (write)
:w newfile Menyimpan dengan nama newfile (Save As)
:12,35w smallfile Menyimpan baris 12 sampai 35 ke smallfile
:w! existfile Menyimpan file ke file yang sudah ada (overwrite)

Setelah diperhatikan, ternyata tombol digunakan untuk melakukan manipulasi, ke arah kebalikan dari command. Misalnya o akan membuat baris baru dibawah kursor, maka SHIFT+o akan membuat baris baru di ATAS kursor. Lalu n akan menuju ke temuan string di bawah kursor, sementara SHIFT+n (N kapital) akan menuju ke ATAS kursor.

Disclaimer: Saya bukan penulis asli artikel ini. Cuman mengambil tulisan buatan schauble@CS.ColoState.EDU di http://http://www.cs.colostate.edu/helpdocs/vi.html

Artikel Terkait:

3 komentar:

Chela Gurukecil said...

nice blog^^

Farhan Hariri said...

thnks sob...

resumedini said...

trims artikelnya begitu bermanfaat, salam.

Post a Comment

Tinggalkan Komentarmu Sob.

Sedikit Tentang Aye

Cari di Blog ini

Sobat Aye

Pesan Sobat

 
Copyright © Blognya Farhan