Pengantar
Sebagai pengarjin kode, menguasai alat editor teks merupakan suatu kewajiban. Umumnya, mereka memiliki preferensi sendiri dalam mengatur editor teks sedemikian rupa sehingga dapat digunakan dengan nyaman dan meningkatkan produktivitas dalam mengembangkan perangkat lunak.
Tedapat banyak sekali editor teks modern di luar sana, editor teks tersebut datang dan pergi, seolah memiliki masanya masing-masing. Sekitar satu dekade yang lalu saya masih nyaman menggunakan editor teks seperti Sublime Text, namun sekarang seperti sudah tidak relevan lagi.
Sekarang masanya editor teks seperti VS Code, editor teks ini open source dan memiliki komunitas yang besar, tidak heran banyak sekali yang menggunakannya. Selain VS Code, banyak lagi editor teks lain berbayar yang memiliki fitur-fitur premium.
Memilih editor teks adalah persoalan subjektif: mungkin kita memilihnya karena itu populer, atau mungkin kita memilihnya karena memiliki fitur yang ciamik. Semua itu persoalan preferensi yang tidak pernah bisa diperdebatkan, namun dihargai.
Hal yang membuat kita bertahan pada sebuah editor teks biasanya soal kenyamanan dan muscle memory. Saat di dalam editor teks tersebut kita melakukan penyuntingan kode dengan mudah tanpa memikirkan setiap langkah untuk melakukannya.
Ketika kita memutuskan beralih kepada editor teks yang lain karena beberapa alasan, hal yang menyulitkan adalah persoalan pemetaan tombol. Kita sudah terbiasa dengan pemetaan tombol pada editor teks sebelumnya. Namun, sial, editor teks yang baru ini memiliki pemetaan yang berbeda.
Saya pernah berada pada situasi yang sama, ketika saya merasa Sublime Text sudah kadaluarsa, saya memutuskan untuk beralih pada VS Code yang saat itu memiliki fitur lebih mutakhir. Tentu saja saya mengalami kesulitan pada kesan pertama, namun itu konsekuensi logis yang perlu saya ambil untuk mencapai kemaslahatan.
Seiring berjalannya waktu, saya pun terbiasa dengan pemetaan-pemetaan yang baru hingga menjadi muscle memory, dan pada akhirnya saya merasakan pengalaman yang lebih baik dalam melakukan pengembangan perangkat lunak.
Pada VS Code, semakin banyak ekstensi yang dipasang semakin banyak juga sumber daya yang dikonsumsi. Komputer saya tidak pernah memiliki memori yang lebih dari 4 GB saat itu. Sehingga saya perlu mencari alternatif lain.
Urgensitas itulah yang menghadirkan ide radikal untuk beralih ke Vim. Tentu saja beralih dari editor teks konvensional ke modal editor seperti Vim lebih sulit lagi. Banyak hal yang perlu dipelajari, terutama mebiasakan diri dengan beberapa mode di dalamnya.
Bagi saya, mempelajari Vim saat itu adalah salah satu keputusan terbaik sepanjang masa walaupun membutuhkan waktu yang relatif lama untuk memahaminya secara mendasar.
Saat pertama kali membuka Vim, saya tidak tahu bagaimana cara untuk keluar dari program tersebut. Sekarang, saat saya sudah cukup memahaminya, saya menyengaja untuk tidak pernah keluar.
Vim juga merupakan sebuah editor teks yang tidak pernah mati, seolah ia berada di semesta yang berbeda. Ketika banyak orang tergiur dengan editor teks modern yang penuh dengan magis, para pengguna Vim tidak berpaling.
Vim Esensial adalah materi belajar yang ditujukan bagi mereka yang ingin mempelajari Vim sebagai pilihan alternatif editor teks. Dengan mempelajari Vim, kita akan dapat menyunting teks dengan lebih cepat dan efisien, dan memanfaatkan kekuatan editor tersebut untuk meningkatkan produktivitas.
Materi belajar ini dimaksudkan untuk membantu kamu memahami dasar-dasar Vim, mulai dari mengenal editor ini hingga menguasai perintah dan fiturnya.
Kita akan mempelajari Vim dengan pendekatan filosofis, bukan dengan membaca daftar perintah dan menghafalnya. Melainkan memahaminya secara mendasar, memahami perintah-perintah sebagai bahasa komunikasi dengan Vim.
Menghafal perintah-perintah mudah saja dilakukan, tapi dengan memahaminya secara mendasar, kita dapat mengerti bagaimana perintah tersebut dapat terstruktur menjadi satu perintah yang utuh dan bagaimana perintah-perintah tersebut dapat digabungkan untuk mencapai suatu aksi tertentu.
Materi belajar ini tidak mencakup semua hal di dalam Vim, karena tujuannya bukan untuk menulis ulang dokumentasi Vim dalam Bahasa Indonesia. Tapi, materi belajar ini mencakup konsep-konsep penting dalam Vim, seperti mode editor, operator dan motion, serta cara membuat konfigurasi Vim yang sesuai dengan kebutuhan.
Materi belajar ini dapat dijadikan referensi bagi mereka yang ingin mencoba alternatif lain dalam menyunting kode, memahami Vim secara mendasar, dan mulai berkelana di ekosistem Vim. Ada alasan mengapa materi belajar ini diberi judul "Vim Esensial".
Kita perlu membiasakan mencoba alternatif lain untuk melihat potensi pengalaman yang lebih baik. Bukan menutup diri dengan berlagak konservatif.
Materi belajar ini saya dedikasikan untuk para pengembang yang hendak mempelajari Vim, terutama para penikmat video tutorial saya di YouTube yang seringkali protes ketika saya menggunakan Vim.
Selamat mempelajari Vim!