Interview with vi
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