Interview with vi

April 11, 2007 at 2:17 pm (Administrasi System, Info Linuxer, Linuxer Madiun)

Sebenarnya ada beragam editor text di varian unix misalnya ed, GNU emacs, jed, joe, vim, vi, dll. Tapi karena vi adalah editor klasik pada unix maka dipilihlah vi sebagai bahan pembahasan disini. Editor yang mula-mula dikembangkan di Berkeley oleh om Bill Joy ini merupakan editor layar, yang artinya user dapat dengan bebas mengarahkan kursor pada bagian layar yang mau di edit.

Proses editing teks pada vi dilakukan pada area yang disebut penampung kerja. Semua proses editing tidak akan mempengaruhi isi file pada disk sebelum ada modus perintah untuk melakukan perubahan, penyimpanan ataupun keluar dari vi.
Tulisan ini aku buat biar aku gak lupa sama perintah-perintahnya vi..he..he

STARTING WITH VI

OK sobat memutuskan untuk memulai editing file dengan vi, ini nih, sebelum kita menciptakan suatu file ada prosedur normalnya yaitu :
tentukan nama file yang mau kita buat
then berikan perintah seperti ini
[gombrex@gombrex.com]# vi nama_file
contoh
[gombrex@gombrex.com]# vi index.php
MODUS EDITING PADA VI

Sebelum kita membuat suatu file, mengedit ataupun menghapus suatu isi file ada baiknya kita mengenal tiga modus editing vi :
- Modus masukan (insert mode)
- Modus perintah (command mode)
- Modus baris akhir (last line mode)

Modus masukan

Untuk memulai pengetikan, editing isi file atau masuk ke modus masukan ada beberapa perintah dengan menekan tombol keyboard kamu :
i = menyisipkan beberapa karakter di sebelah kiri posisi kursor sekarang
I = menyisipkan beberapa karakter di awal baris
a = menyisipkan karakter di sebelah kanan posisi kursor sekarang
A = menyisipkan karakter di akhir baris
o = menyisipkan sebuah baris kosong di bawah kursor semula berada dan meletakkan teks ke    baris tersebut
O = menyisipkan sebuah baris kosong diatas kursor semula berada dan meletakkan teks ke      baris tersebut.

Modus Perintah

Untuk keluar dari modus penyisipan menuju modus perintah gunakan tombol <esc>
Berikut ini beberapa modus perintah :
<backspace> = menghapus karakter di posisi kiri kursor, tetapi karakter         tersebut tidak dihapus pada layar sampai <esc> ditekan
<ctrl-w> = menempatkan kursor ke awal kata terakhir yang diketikkan.
<kill>  = menghapus seluruh teks pada baris sekarang yang baru diketik selama pada modus masukan

Menggerakkan kursor

l   = ke kanan a karakter
h  = ke kiri a karakter
j  = ke bawah 1 baris
k  = ke atas 1 baris
+ atau enter = ke bawah 1 baris
-  = ke atas satu baris
0  = meletakkan kursor ke awal baris
$  = ke akhir baris
nG  = ke baris n
n|  = ke kolom n

Menghapus teks

x = menghapus karakter pada posisi kursor
X = menghapus karakter di sebelah posisi kursor
dw = menghapus dari posisi kursor sampai akhir kata
ndw = menghapus sejumlah kata dengan n jumlah kata yang akan    dihapus
dW = menghapus dari posisi kursor sampai akhir kata
db = menghapus dari awal kata hingga tepat sebelum posisi kursor
dB = semacam db, hanya saja berlaku untuk kata yang dipisahkan    spasi
D<enter>= menghapus 2 baris, baris sekarang dan baris berikutnya
dd = menghapus baris sekarang
ndd = menghapus sejumlah baris dengan n jumlah baris yang akan    dihapus
d0 = menghapus dari awal baris hingga tepat sebelum posisi kursor
d$ = menghapus dari posisi kursor hingga akhir baris
D = menghapus dari posisi kursor hingga akhir baris
d) = menghapus dari posisi kursor sampai akhir kalimat
d( = menghapus dari awal kalimat hingga sebelum posisi kursor
d} = menghapus dari posisi kursor hingga akhir paragraf
d{ = menghapus dari awal paragraf hingga sebelum posisi kursor

Membatalkan perubahan

u = undo, mengembalikan perubahan terakhir yang dilakukan user ke keadaaan       sebelumnya
U = UNDO, mengembalikan seluruh perubahan yang dilakukan pada baris tempat kursor      berada

Mengubah teks

cw = mengubah sampai akhir kata
cW = mengubah sampai akhir kata yang dipisahkan spasi
cb = mengubah dari awal kata sampai senelum posisi kursor
cB = mengubah dari awal kata yang dipisahkan spasi sampai sebelum    posisi kursor
cl = mengubah sebuah karakter pada posisi kanan kursor
ch = mengubah sebuah karakter pada posisi kiri kursor
cc = mengosongkan baris pada posisi kursor dan memperkenankan user untuk mengganti      baris tersebut
c0 = mengganti dari awal baris hingga sebelum posisi kursor
c$ = mengganti dari posisi kursor hingga akhir baris
C = sama dengan C
c) = mengganti sampai akhir kalimat
c( = mengganti dari awal kalimat sampai sebelum posisi kursor
c} = mengganti sampai akhir paragraf
c{ = mengganti dari paragraf sampai sebelum posisi kursor
r = mengganti sebuah karakter pada posisi kursor
R = mengganti sejumlah karakter dimulai dari posisi kursor sampai<esc> ditekan sampai akhir    baris
s = mengganti karakter pada posisi kursor dan kemudian menempatkan ke modus masukan

Mencari suatu string

/string = mencari string pertama yang cocok dengan pola dengan arah pencarian ke depan
?string = mencari string pertama yang cocok dengan pola yang terletak sebelum posisi kursor    (pencarian ke belakang)
n = mencari lagi string yang cocok dengan pola yang diberikan sebelumnya
N = mencari dengan arah yang berlawanan dengan pencarian sebelumnya

contoh

/gombrex
perintah ini akan menempatkan ke string gombrex yang terletak sesudah kursor
/^gombrex
perintah ini akan menempatkan ke baris yang diawali gombrex
/gom$
perintah ini akan menempatkan ke baris berkahir dengan gom
/\>brex
perintah ini akan menempatkan ke kata yang berakhir denagn brex
/\<gom
perintah ini akan menempatkan ke kata yang berawalan gom
/[Gg]ombrex
perintah ini akan menempatkan ke string Gombrex atau gombrex

Mencari dan mengganti string

Bentuk umumnya :[alamat]s/string_yang_dicari/string_pengganti[/g]
notasi dan perintahnya
6 = hanya baris 6
6,20 = baris 6 hingga baris 20
5,$ = baris 5 hingga baris terakhir
.,$ = dari baris tempat kursor berada hingga baris terakhir
.,+3 = dari baris tempat kursor berada hingga 3 baris berikutnya
.,-3 = dari baris tempat kursor berada hingga 3 baris sebelumnya
1,. = dari baris pertama hingga baris tempat kursor berada
%s = seluruh baris
1,$ = sama dengan %s

contoh-contoh:
gombrex sedang belajar
gombrex belajar vi
gombrex sangat menikmati
kemudian beri perintah:1,$s/gombrex/putra/g     dan hasilnya
putra sedang belajar
putra belajar vi
putra sangat menikmati
untuk mennganti pada kalimat gombrex sedang belajar saja
beri perintah berikut:
1. tempatkan kursor pada baris tersebut (dikolom mana saja)
2. berikan perintah:s/gombrex/putra
3. akhiri dengan enter
putra sedang belajar
gombrex belajar vi
gombrex sangat menikmati

Perintah subtitusi lainnya

:s/p1/p2 = string p1 yang pertama pada baris kursor berada akan     diganti menjadi p2
:s/p1/p2/g = semua string p1 pada baris kursor berada akan diganti     menjadi p2
:1,$/p1/p2 = string p1 yang pertama untuk semua baris akan diganti     menjadi p2
:1,$/p1/p2/g = semua string p1 pada semua baris akan diganti menjadi     p2
:5$/p1/p2/g = semua string p1 pada baris 5 hingga baris     yang terakhir akan diganti menjadi p2

CUT & PASTE

Pada saat kita menghendaki agar suatu teks dimasukkan ke dalam buffer tanpa menghapus, misalnya untuk menyalin kita dapat melakukan yanking (cut), berikut ini perintahnya :
yw  = karakter dari posisi kursor hingga akhir kata
yW  = karakter dari posisi kursor hinggan akhir kata yang dipisahkan spasi
yb  = karakter dari awal kata hingga tepat sebelum posisi kursor
yB   = karakter dari awal kata yang dipisahkan spasi hingga sebelum posisi kursor
y<enter> = baris pada posisi kursor dan baris sesudah posisi kursor
yy  = baris pada posisi kursor
y0  = dari awal baris hingga sebelum posisi kursor
y$  = dari posisi kursor hingga akhir baris

Dan untuk mengambil data dari proses cut diatas yaitu paste(p)
p  = meletakan isi kata hasil perintah cut(yanking) diatas setelah posisi kursor
P  = meletakan isi kata hasil perintah cut(yanking) diatas sebelum posisi kursor

contoh-contoh

1. tempatkan kursor pada awal kata yang hendak di cut
2. berikan perintah yw
3. letakkan kursor pada posisi kata yang mau di paste
4. berikan perintah p(sesudah posisi kursor)
5. berikan perintah P(sebelum posisi kursor)

contoh-contoh

1. tempatkan kursor pada baris yang hendak dipindahkan
2. berikan perintah dd, baris pada posisi kursor akan terhapus dan ditempatkan pada buffer
3. pindahkan kursor pada tempat baris yang terhapus tadi yang akan diletakkan
4. ketik p

contoh -contoh

:1,30w gombrex
 perintah ini akan menyimpan baris 1 hingga 30 ke file gombrex
 jika file gombrex belum diciptakan tapi seandainya sudah diciptakan kamu dapat menimoanya  dengan perintah
:1,30w! gombrex

Mungkin itu saja yang dapat aku tulis untuk diingat-ingat, soale nih jari sudah mulai keriting semoga ada lagi tulisan-tulisan yang lain yang lebih bagus and keren tapi tetep dengan semangat open source, so kamu bisa copy artikel ini kamu distribusikan atau kamu edit sekalipun tapi jangan lupa authornya

Thanks :sobat^unibraw,itats,its,uwg,umm,unm,Anonymous,David A Curry
antithanks:cracker,defacer,scriptkiddies

 

Tulis sebuah Komentar