Bayangkan Anda baru menyewa sebuah server, masuk lewat SSH, lalu ingin mengubah satu baris di file konfigurasi. Anda mengetik vi config.conf, menekan Enter, dan tiba-tiba layar berubah menjadi hamparan teks yang tidak merespons ketikan seperti biasa. Menekan huruf malah memindahkan kursor. Menekan Ctrl+C tidak menutup apa pun. Bahkan sekadar keluar dari layar itu terasa mustahil.

Kalau skenario tersebut terdengar familiar, Anda sedang berhadapan dengan vi. Dan kabar baiknya: vi tidak rusak, tidak sedang menjebak Anda, dan tidak sesulit yang terasa di menit pertama. vi adalah salah satu program paling tua sekaligus paling banyak dipakai di dunia Unix, dan seluruh keanehannya berasal dari satu ide desain yang begitu Anda pahami, semuanya langsung masuk akal.

vi Adalah Apa Sebenarnya?

vi adalah text editor (penyunting teks) berbasis terminal yang menjadi standar di hampir semua sistem operasi Unix dan Linux. Berbeda dengan Notepad atau Microsoft Word yang punya jendela, menu, dan tombol, vi bekerja sepenuhnya di dalam terminal — hanya teks, tanpa antarmuka grafis. Anda mengendalikannya lewat keyboard, bukan mouse.

Keunggulan utama vi bukan pada fiturnya, melainkan pada ketersediaannya. vi nyaris selalu ada di setiap server, sekecil apa pun spesifikasinya, tanpa perlu Anda pasang lebih dulu. Saat Anda mengelola server minimalis, memperbaiki sistem yang bermasalah lewat mode recovery, atau masuk ke kontainer yang hanya berisi paket paling dasar, editor mewah mungkin tidak tersedia — tapi vi hampir pasti ada. Karena itulah, menguasai dasar vi adalah keterampilan yang terus berguna sepanjang Anda berurusan dengan server.

Text editor terminal seperti ini memang terasa asing bagi yang terbiasa mengetik di aplikasi berjendela. Kalau Anda ingin memahami perbedaan mendasar antara penyunting teks polos dan pengolah kata berformat, pembahasan di artikel Notepad bisa menjadi titik awal yang lebih ramah sebelum masuk ke dunia terminal.

Sedikit Sejarah: Dari ed, ex, ke vi

Untuk mengerti kenapa vi berperilaku seperti sekarang, kita perlu menengok asal-usulnya. Silsilahnya bermula dari ed, sebuah line editor (penyunting berbasis baris) yang dibuat Ken Thompson pada 1969 sebagai bagian awal Unix. ed hanya menampilkan satu baris pada satu waktu — Anda memberi perintah, ed menjalankan, tanpa menampilkan keseluruhan isi file.

Pada 1976, muncul ex sebagai pengembangan ed dengan kemampuan lebih luas. Setahun kemudian, Bill Joy — mahasiswa di University of California, Berkeley yang kelak ikut mendirikan Sun Microsystems — menambahkan sebuah mode tampilan layar penuh ke ex. Mode itu bisa menampilkan seluruh isi file sekaligus di layar terminal. Perintah untuk mengaktifkannya adalah vi, singkatan dari visual. Dari sanalah nama vi berasal.

Jadi vi pada dasarnya adalah "mode visual" dari ex, dan keduanya berbagi kode yang sama. Editor ini kemudian ikut disebarkan bersama BSD (varian Unix dari Berkeley) dan resmi terpasang dengan nama vi mulai versi 2BSD pada 1979. Warisan usia inilah yang membuat sebagian cara kerja vi terasa kuno, sekaligus menjelaskan kenapa ia begitu tertanam di seluruh ekosistem Unix hingga hari ini.

Kenapa vi Terasa Aneh: Konsep Modal

Inilah kunci yang membuka segalanya. vi adalah modal editor, artinya editor ini punya beberapa "mode" berbeda, dan tombol yang sama bisa berarti hal yang berbeda tergantung mode yang sedang aktif.

Analoginya mirip remote TV. Saat Anda menonton siaran biasa, menekan tombol angka akan mengganti channel. Namun saat Anda membuka menu pengaturan, tombol angka yang sama berubah fungsi menjadi navigasi menu. Tombolnya sama, hasilnya beda, karena "mode" perangkatnya berbeda. vi bekerja dengan prinsip persis seperti itu.

Inilah penyebab kebingungan di menit pertama. Ketika Anda mengetik di vi dan huruf-huruf itu justru memindahkan kursor atau memicu perintah aneh, itu bukan karena vi rusak. Anda hanya sedang berada di mode yang salah untuk apa yang ingin Anda lakukan. Di editor biasa seperti Notepad, mengetik selalu berarti memasukkan huruf. Di vi, mengetik huruf hanya memasukkan teks kalau Anda memang sedang berada di mode yang tepat untuk itu.

Begitu Anda menerima kenyataan bahwa "ada mode untuk mengetik dan ada mode untuk memerintah", seluruh perilaku vi berubah dari membingungkan menjadi logis.

Mengenal Mode-Mode di vi

vi punya tiga mode utama yang perlu Anda kenali. Memahami ketiganya sudah cukup untuk melewati 90% situasi sehari-hari.

  1. Normal mode (mode perintah): Ini adalah mode default saat vi pertama dibuka. Di sini huruf-huruf di keyboard berfungsi sebagai perintah untuk bernavigasi, menghapus, menyalin, dan menempel — bukan untuk mengetik teks. Banyak pemula tidak sadar bahwa inilah tempat mereka "terdampar".
  2. Insert mode (mode sisip): Ini mode untuk benar-benar mengetik teks seperti di editor biasa. Anda masuk ke mode ini dengan menekan i. Setelah itu, apa pun yang Anda ketik akan muncul sebagai teks di file.
  3. Command-line mode (mode baris perintah): Mode untuk perintah yang lebih panjang, seperti menyimpan file atau keluar. Anda masuk ke mode ini dengan menekan titik dua (:) saat berada di Normal mode. Perintah Anda akan muncul di baris paling bawah layar.

Kunci perpindahan antar-mode adalah tombol Esc. Berapa pun mode Anda saat ini, menekan Esc akan mengembalikan Anda ke Normal mode — titik aman untuk memulai perintah apa pun. Kalau Anda ragu sedang di mode apa, tekan Esc, dan Anda kembali ke posisi netral.

Diagram berikut merangkum bagaimana ketiga mode itu saling terhubung.

Diagram mode vi di Linux: Normal, Insert, dan Command-line serta perintah keluar.Diagram mode vi di Linux: Normal, Insert, dan Command-line serta perintah keluar.

Cara Keluar dari vi dengan Aman

Bagian ini pantas mendapat perhatian khusus, karena "bagaimana cara keluar dari vi" mungkin adalah pertanyaan yang membawa Anda ke artikel ini. Berikut langkahnya, dan pola yang sama juga berlaku untuk vim.

Langkah pertama selalu sama: tekan Esc. Ini memastikan Anda kembali ke Normal mode. Tanpa langkah ini, perintah yang Anda ketik bisa jadi malah tersisip sebagai teks ke dalam file. Setelah menekan Esc, ketik salah satu perintah berikut lalu tekan Enter:

  • :wq — simpan perubahan lalu keluar (write and quit). Ini yang paling sering Anda butuhkan.
  • :q! — keluar tanpa menyimpan, membuang semua perubahan. Berguna kalau Anda tidak sengaja mengubah sesuatu.
  • :q — keluar biasa. Hanya berhasil kalau Anda tidak melakukan perubahan apa pun sejak file dibuka.
  • :x atau ZZ — sama seperti :wq, menyimpan lalu keluar. ZZ diketik tanpa titik dua.

Alasan Esc harus dilakukan lebih dulu kembali ke konsep modal tadi. Perintah seperti :wq hanya dikenali di Command-line mode, dan Anda hanya bisa masuk ke mode itu dari Normal mode. Kalau Anda mengetiknya saat masih di Insert mode, karakter :wq akan muncul sebagai teks biasa di file Anda, bukan sebagai perintah. Alur keputusannya bisa Anda lihat pada diagram berikut.

Diagram alur vi untuk keluar dengan Esc, lalu :wq atau :q! sesuai perubahan.Diagram alur vi untuk keluar dengan Esc, lalu :wq atau :q! sesuai perubahan.

Perintah Dasar vi yang Perlu Anda Kuasai

vi punya ratusan perintah, tapi Anda tidak perlu menghafal semuanya. Sekumpulan kecil perintah berikut sudah menutupi hampir semua kebutuhan mengedit file di server. Semua perintah ini dijalankan dari Normal mode, jadi pastikan Anda menekan Esc lebih dulu.

Untuk mulai mengetik, Anda perlu masuk ke Insert mode dengan salah satu perintah ini:

PerintahFungsi
iMasuk Insert mode di posisi kursor
aMasuk Insert mode setelah kursor
oBuka baris baru di bawah lalu mengetik

Untuk bernavigasi dan menyunting, gunakan perintah berikut dari Normal mode:

PerintahFungsi
h j k lPindah kiri, bawah, atas, kanan
gg / GLompat ke awal / akhir file
ddHapus satu baris
yy / pSalin baris / tempel baris
uBatalkan perubahan terakhir (undo)
/kataCari "kata", lalu n untuk hasil berikutnya

Supaya lebih konkret, begini alur lengkap mengedit sebuah file dari nol sampai tersimpan:

  1. Buka file dengan mengetik vi catatan.txt di terminal.
  2. Tekan i untuk masuk Insert mode, lalu ketik isi seperti di editor biasa.
  3. Setelah selesai mengetik, tekan Esc untuk kembali ke Normal mode.
  4. Ketik :wq lalu tekan Enter untuk menyimpan sekaligus keluar.

Empat langkah itulah inti pemakaian vi sehari-hari. Perintah-perintah lain hanya mempercepat pekerjaan, bukan menggantikan alur dasar ini.

Anda tidak harus langsung fasih. Cukup mulai dari yang paling penting — cara masuk Insert mode, cara menyimpan, dan cara keluar — lalu tambahkan perintah lain seiring kebutuhan. Karena mengedit lewat vi sangat lekat dengan pengelolaan server jarak jauh, memahami SSH sebagai cara mengakses server, termasuk lewat klien seperti PuTTY di Windows, akan melengkapi keterampilan ini. Di lingkungan Linux ringan seperti Termux pun, vi biasanya sudah tersedia untuk latihan.

vi, vim, dan nano: Apa Bedanya?

Ada satu hal yang sering membingungkan pemula. Saat Anda mengetik vi di banyak distribusi Linux modern, program yang sebenarnya berjalan justru vim. Jadi apa hubungan keduanya?

vim adalah singkatan dari Vi IMproved, yaitu versi vi yang dikembangkan lebih jauh oleh Bram Moolenaar pada 1991. vim mempertahankan seluruh cara kerja vi — termasuk konsep modal dan perintahnya — lalu menambahkan banyak fitur modern seperti pewarnaan sintaks, undo bertingkat, dan dukungan plugin. Karena itu, kalau seseorang menyebut "vim adalah" penerus vi, itu tidak keliru. Banyak sistem memasang vim tapi tetap menyediakan perintah vi sebagai jalan pintas ke sana, sehingga secara praktis keduanya sering terasa sama bagi pemula.

Lalu bagaimana dengan nano? nano adalah text editor terminal juga, tapi filosofinya berlawanan dengan vi. nano bersifat modeless alias tanpa mode — Anda bisa langsung mengetik begitu file terbuka, persis seperti Notepad. Daftar perintah pentingnya bahkan ditampilkan di bagian bawah layar, jadi tidak perlu dihafal.

Perbandingan singkatnya seperti ini. nano jauh lebih mudah untuk pemula dan cocok untuk suntingan cepat sekali jalan. vi dan vim punya kurva belajar lebih curam, tapi lebih cepat begitu terbiasa, lebih kuat untuk pekerjaan berat, dan yang terpenting, hampir selalu tersedia di server mana pun. nano tidak selalu terpasang di sistem yang minimalis.

Diagram perbandingan vi, vim, dan nano dengan penjelasan mode serta tanpa mode.Diagram perbandingan vi, vim, dan nano dengan penjelasan mode serta tanpa mode.

Ingin tahu apakah vi di server Anda sebenarnya vi asli atau vim? Jalankan vi --version. Kalau baris pertamanya memuat keterangan "VIM - Vi IMproved", berarti perintah vi di sistem itu mengarah ke vim, dan Anda bisa menikmati fitur tambahannya tanpa perlu mengubah kebiasaan mengetik perintah.

Kelemahan dan Hal yang Perlu Anda Pertimbangkan

vi bukan tanpa kekurangan, dan penting bersikap jujur soal ini agar Anda tidak salah menaruh harapan.

Pertama, kurva belajarnya curam. Konsep modal terasa tidak intuitif bagi siapa pun yang terbiasa dengan editor berjendela, dan butuh beberapa hari pemakaian sebelum jari Anda mulai terbiasa. Kedua, vi mudah memicu kesalahan bagi yang belum terbiasa — salah menekan satu tombol di Normal mode bisa menghapus baris tanpa Anda sadari, meskipun u selalu bisa membatalkannya. Ketiga, untuk sekadar mengubah satu kata lalu keluar, vi terasa berlebihan dibanding editor yang lebih sederhana.

Rekomendasi praktisnya begini. Kalau Anda pemula dan hanya butuh mengedit file sesekali, gunakan nano untuk pekerjaan sehari-hari — lebih cepat dan minim frustrasi. Namun tetap luangkan waktu menghafal minimal tiga hal di vi: cara masuk Insert mode (i), cara menyimpan dan keluar (:wq), serta cara keluar tanpa menyimpan (:q!). Alasannya sederhana: suatu hari Anda akan masuk ke server yang tidak punya nano, dan saat itu vi adalah satu-satunya editor yang tersedia. Keterampilan minimal itu akan menyelamatkan Anda dari terjebak seperti di skenario awal artikel ini.

Kebutuhan berhadapan dengan vi paling sering muncul ketika Anda mengelola server sendiri. Jika Anda sedang mempertimbangkan lingkungan tempat berlatih Linux secara langsung, sebuah VPS memberi Anda akses root penuh untuk bereksperimen dengan editor dan perintah terminal tanpa takut mengganggu perangkat utama.

Pertanyaan yang Sering Diajukan tentang vi

Apa perbedaan vi dan vim? vi adalah editor aslinya, sementara vim (Vi IMproved) adalah versi pengembangannya yang menambahkan fitur seperti pewarnaan sintaks, undo bertingkat, dan plugin. Keduanya memakai konsep modal dan perintah yang sama, sehingga keterampilan di vi langsung berlaku di vim. Di banyak sistem modern, perintah vi bahkan sebenarnya menjalankan vim.

Bagaimana cara keluar dari vi kalau tidak bisa keluar? Tekan Esc terlebih dahulu untuk memastikan Anda di Normal mode, lalu ketik :q! dan tekan Enter untuk keluar tanpa menyimpan. Kalau ingin menyimpan perubahan sebelum keluar, gunakan :wq. Perintah tidak akan bekerja kalau Anda masih berada di Insert mode, jadi Esc adalah langkah wajib.

Bagaimana cara menyimpan file di vi? Dari Normal mode (tekan Esc dulu), ketik :w lalu Enter untuk menyimpan tanpa keluar, atau :wq untuk menyimpan sekaligus keluar. Kedua perintah ini dijalankan di Command-line mode yang diawali dengan tanda titik dua.

Siapa yang menciptakan vi dan kapan? vi diciptakan oleh Bill Joy pada 1976 di University of California, Berkeley, sebagai mode visual dari editor ex. Bill Joy kelak ikut mendirikan Sun Microsystems.

Apakah vi sulit dipelajari untuk pemula? Menit-menit pertama memang membingungkan karena konsep modal terasa asing. Namun begitu Anda paham bahwa ada mode terpisah untuk mengetik dan untuk memerintah, sisanya jauh lebih mudah. Untuk memulai, cukup kuasai tiga perintah: i, :wq, dan :q!.

Kesimpulan

vi adalah text editor modal yang sudah berusia puluhan tahun namun tetap menjadi standar di dunia Unix dan Linux, terutama karena hampir selalu tersedia di server mana pun. Kunci memahaminya bukan menghafal ratusan perintah, melainkan menerima satu konsep dasar: ada mode terpisah untuk mengetik dan untuk memerintah, dan tombol Esc adalah jalan pulang ke posisi aman. Dari sana, cukup kuasai cara masuk Insert mode, menyimpan, dan keluar, lalu tambahkan perintah lain seperlunya.

Kalau untuk kebutuhan harian Anda merasa nano lebih nyaman, itu pilihan yang wajar. Tapi menyimpan sedikit pengetahuan vi di kepala akan selalu berguna pada hari ketika ia satu-satunya editor yang ada. Semoga artikel ini membantu.