Belajar dengan membaca secara berurutan

Dasar-dasar Editor Teks vi

Pelajari cara memulai vi, berpindah antara mode normal dan insert, kembali dengan Esc, serta menyimpan dengan :wq atau membuang dengan :q! — praktik langsung di terminal browser.

Memulai vi dan Mode-modenya

vi adalah editor teks yang ada di hampir setiap server Linux.

Di kursus ini kamu akan mempelajari operasi vi minimal yang bekerja di server mana pun.

vi punya dua mode.

Tepat setelah dimulai kamu berada di mode normal, tempat tombol berfungsi sebagai gerakan atau perintah dan kamu tidak bisa mengetik teks.

Menekan i berpindah ke mode insert, tempat kamu bisa mengetik karakter.

Menekan Esc mengembalikanmu ke mode normal.

Dua mode vi
mode normalgerak / perintah (:wq dll.)mode insertkamu bisa mengetik tekspindah dengan ikembali dengan Esc
Tepat setelah dimulai kamu di mode normal. i masuk ke mode insert, dan Esc kembali ke mode normal.
vi memo.txt   # buka memo.txt (mulai di mode normal)
# tekan i       -> mode insert (kamu bisa mengetik)
# ketik teks
# tekan Esc     -> kembali ke mode normal

Bingung? Esc lalu :q! membawamu keluar

Jika kamu salah dan layar tampak macet, tekan Esc beberapa kali lalu :q! untuk keluar dan mulai ulang.

Ini selalu membawamu kembali dengan aman ke keadaan semula.

① Buka note.txt dengan vi note.txt (mulai di mode normal).

② Tekan i untuk berpindah ke mode insert dan ketik hello vi.

③ Tekan Esc untuk kembali ke mode normal, lalu ketik :wq dan tekan Enter untuk menyimpan dan keluar.

④ Kembali di terminal, jalankan cat note.txt dan pastikan apa yang kamu ketik tersimpan. (Jalankan dengan benar dan penjelasan akan muncul.)

Linux console
0 / 2 selesai
Loading Linux Terminal...

Menyimpan dan Membuang — :wq dan :q!

Mengetik : di mode normal membuka baris perintah tempat kamu bisa memasukkan perintah terkait keluar.

:wq berarti write and quit — yaitu simpan dan tutup.

:w hanya menyimpan tanpa keluar, dan :q keluar saat tidak ada perubahan.

:q! membuang perubahan dan force-quit, kembali ke keadaan sebelum mengedit.

Tombol / PerintahModeAksi
vi fileBuka file (mulai di mode normal)
iNormalMasuk mode insert
EscInsertKembali ke normal
:wNormalSimpan (tanpa keluar)
:qNormalKeluar (saat tidak ada perubahan)
:wqNormalSimpan dan keluar
:q!NormalBuang perubahan dan keluar
:wq menyimpan, :q! membuang
:wqsimpan dan keluar (isi disimpan):q!buang dan keluar(kembali sebelum edit)
:wq menyimpan perubahan dan keluar; :q! membuang perubahan dan keluar.

:q! tidak menyimpan perubahan apa pun

:q! keluar membuang semua perubahan dari sesi pengeditan itu.

Ini berguna saat kamu salah ketik dan ingin mulai ulang, tetapi saat ada isi yang ingin disimpan, pakai :wq.

vi draft.txt   # buka
# i untuk insert -> ketik teks -> Esc
# ketik :q!      -> buang perubahan dan keluar (draft.txt tetap kosong)
cat draft.txt  # tidak ada yang ditulis

① Buka scratch.txt dengan vi scratch.txt.

② Berpindah ke mode insert dengan i, ketik temporary, lalu tekan Esc.

③ Ketik :q! dan tekan Enter untuk membuang perubahan dan keluar.

④ Kembali di terminal, jalankan cat scratch.txt dan pastikan tidak ada yang tersimpan karena kamu membuangnya.

Linux console
0 / 2 selesai
Loading Linux Terminal...

Lebih Banyak dengan vi — a / o dan :w

i bukan satu-satunya cara masuk mode insert.

a mulai mengetik di kanan kursor, dan o membuka baris baru di bawah kursor lalu mulai mengetik.

Huruf besar A mulai di akhir baris, dan O membuka baris baru di atas kursor.

Semuanya kembali ke mode normal dengan Esc yang sama.

Kamu juga bisa memakai perintah simpan secara selektif.

:w hanya menyimpan, tanpa keluar, jadi kamu bisa terus mengedit.

Untuk pengeditan panjang, simpan sering dengan :w dan tutup dengan :wq di akhir agar tetap aman.

TombolTempat mengetik dimulai
iDi kiri kursor (sebelumnya)
aDi kanan kursor (setelahnya)
oDi baris baru yang dibuka di bawah
ADi akhir baris
ODi baris baru yang dibuka di atas
Berbagai cara masuk mode insert
iketik dari kiri kursoraketik dari kanan kursorobuka baris baru dibawah lalu ketik
i mulai dari kiri, a dari kanan, dan o dari baris baru di bawah. Semua kembali dengan Esc.

① Buka practice.txt dengan vi practice.txt.

② Tekan o untuk membuka baris baru di bawah dan masuk mode insert, lalu ketik first line.

③ Tekan Esc, tekan o lagi untuk membuka baris baru lain, ketik second line, dan tekan Esc.

④ Ketik :w dan tekan Enter untuk menyimpan (belum keluar), lalu ketik :q untuk keluar.

⑤ Di terminal, jalankan cat practice.txt dan pastikan kedua baris tersimpan.

Linux console
0 / 2 selesai
Loading Linux Terminal...

Menghapus dan Menyalin Baris — dd / yy / p

Di mode normal kamu bisa mengedit per baris tanpa mengetik karakter.

dd menghapus (memotong) seluruh baris tempat kursor berada.

x menghapus satu karakter di bawah kursor, dan u membatalkan operasi sebelumnya (undo).

yy menyalin (yank) baris tempat kursor berada, dan p menempelkan isi yang disalin — atau yang dipotong dd — ke baris di bawah kursor.

Baris yang dipotong dengan dd juga bisa ditempel dengan p, jadi ini berguna juga untuk memindahkan baris.

TombolAksi
xHapus satu karakter di bawah kursor
ddHapus satu baris (potong)
3dd / d3dHapus beberapa baris dengan hitungan (mis. 3 baris)
yySalin sebuah baris (yank)
10yy / y10ySalin beberapa baris dengan hitungan (mis. 10 baris)
pTempel baris yang disalin / dipotong di bawah
uBatalkan operasi sebelumnya
Mengedit baris dengan dd / yy / p
ddpotong baris saat iniyysalin baris saat iniptempel di baris bawah
dd memotong, yy menyalin, dan p menempel di baris bawah. Semua diketik di mode normal.

① Buka edit.txt dengan vi edit.txt.

② Masuk mode insert dengan i, ketik one dan Enter, lalu two, dan tekan Esc untuk menyiapkan 2 baris.

③ Salin baris saat ini dengan yy dan tempel di bawah dengan p, pastikan baris yang sama ditambahkan.

④ Lalu hapus baris tempat kursor berada dengan dd.

⑤ Simpan dan keluar dengan :wq, dan cek hasilnya dengan cat edit.txt.

Linux console
0 / 2 selesai
Loading Linux Terminal...

Menambahkan hitungan di depan memungkinkanmu beroperasi pada beberapa baris sekaligus.

3dd (atau d3d) menghapus 3 baris, dan 10yy (atau y10y) menyalin 10 baris.

Jika kamu menempel dengan p setelah menghapus atau menyalin, kamu bisa memindahkan atau menggandakan beberapa baris dalam satu operasi.

Beroperasi pada beberapa baris dengan hitungan
3dd / d3dhapus 3 baris sekaligus10yy / y10ysalin 10 baris sekaligusptempel baris yangdisalin sekaligus
Menambahkan hitungan di depan: 3dd menghapus 3 baris, 10yy menyalin 10 baris. Tempel sekaligus dengan p.

① Buka block.txt dengan vi block.txt.

② Masuk mode insert dengan i, ketik one dan Enter, dan demikian pula ketik two sampai five satu per baris untuk total 5 baris, lalu tekan Esc.

③ Ketik :1 dan tekan Enter untuk berpindah ke baris 1, potong 3 baris teratas dengan 3dd (atau d3d), lalu tempel 3 baris itu di bawah kursor dengan p dan pastikan kamu bisa memindahkan baris.

④ Salin 2 baris dengan 2yy (atau y2y) dan tempel di bawah dengan p.

⑤ Simpan dan keluar dengan :wq, dan cek hasilnya dengan cat block.txt.

Linux console
0 / 2 selesai
Loading Linux Terminal...

Menggerakkan Kursor dan Mencari — gg / G dan / ?

Di file panjang, melompat sekaligus membawamu ke tujuan lebih cepat daripada bergerak baris demi baris.

gg menggerakkan kursor ke baris pertama file, dan G ke baris terakhir.

Bahkan di tempat gg tidak bekerja, 1G berpindah ke baris pertama.

Untuk menemukan teks, gunakan pencarian.

Mengetik /word dan Enter mencari maju (ke bawah) untuk word dari kursor.

?word mencari mundur (ke atas), n berpindah ke kecocokan berikutnya di arah yang sama, dan N ke kecocokan di arah berlawanan.

Semuanya diketik di mode normal; tidak perlu Esc.

TombolAksi
gg / 1GPindah ke baris pertama
GPindah ke baris terakhir
/wordCari ke bawah (maju) untuk word
?wordCari ke atas (mundur) untuk word
n / NKe kecocokan berikutnya / sebelumnya
Berpindah dengan gg / G dan mencari dengan / ?
gg / 1Gpindah ke baris pertamaGpindah ke baris terakhir/word ncari ke bawah, berikutnya?word Ncari ke atas, berlawanan
gg/G melompat ke baris pertama/terakhir; /word mencari ke bawah dan ?word ke atas, dengan n/N berpindah ke kecocokan berikutnya/sebelumnya.

① Siapkan sebuah file dengan banyak baris memakai ls -l /bin > nav.txt.

② Buka dengan vi nav.txt, pindah ke baris terakhir dengan G, dan ke baris pertama dengan gg (atau 1G).

③ Ketik /sh dan tekan Enter untuk mencari ke bawah baris yang mengandung sh, lalu pindah ke kecocokan berikutnya dengan n dan sebelumnya dengan N.

④ Ketik ?ls dan tekan Enter untuk mencari ke atas untuk ls kali ini.

⑤ Karena kamu tidak membuat perubahan, keluar dengan :q dan kembali ke terminal.

Linux console
0 / 2 selesai
Loading Linux Terminal...
QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Agar bisa mengetik teks di vi, apa yang kamu tekan di mode normal?

Soal 2Apa yang kamu tekan untuk kembali dari mode insert ke mode normal?

Soal 3Apa yang terjadi saat kamu menjalankan :q!?