Vim adalah editor teks umum di Linux yang cocok untuk skenario seperti pemeliharaan sistem (O&M) dan penyusunan skrip shell. Topik ini menjelaskan perintah dasar Vim serta cara mengganti mode kerja Vim, membantu Anda memulai dengan cepat menggunakan editor Vim.
Instalasi Vim
Secara default, Vim sudah terinstal di Linux sehingga tidak perlu instalasi terpisah. Untuk melihat versi Vim, jalankan perintah vim --version di terminal. Contoh berikut menggunakan Vim 8.0. Perintah dapat bervariasi berdasarkan versi Vim.
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Aug 10 2022 11:26:47)
Termasuk tambalan: 1-1763
Dimodifikasi oleh OpenAnolis Community
Dikompilasi oleh OpenAnolis Community
Versi besar tanpa GUI. Fitur yang disertakan (+) atau tidak (-):
+acl +farsi +mouse_sgr -tag_any_white
...Ganti mode
Saat menjalankan perintah vim <Nama file> untuk membuka file, Vim masuk ke mode Normal. Jika file tidak ada, Vim akan membuatnya. Gambar berikut menunjukkan cara mengganti mode kerja Vim.
Mode | Fungsionalitas | Metode Penggantian Mode |
Mode Normal
| Memungkinkan Anda menyalin, menempel, dan menghapus karakter atau baris. |
|
Mode Sisip
| Memungkinkan Anda menyisipkan karakter. | Untuk beralih dari mode Normal ke mode ini, tekan Catatan Setelah editor Vim masuk ke mode Sisip, |
Mode Ganti
| Memungkinkan Anda mengganti karakter. | Untuk beralih dari mode Normal ke mode ini, tekan Catatan Setelah editor Vim masuk ke mode Ganti, |
Mode Visual
| Memungkinkan Anda memilih blok teks. Sebelum menjalankan perintah seperti salin, ganti, dan hapus pada teks, Anda harus memilih blok teks. | Untuk beralih dari mode Normal ke mode ini, tekan Catatan Setelah editor Vim masuk ke mode Visual, |
Mode Perintah
| Memungkinkan Anda mencari dan mengganti string, menanyakan nomor baris, menyimpan perubahan ke file, dan keluar dari editor Vim. | Untuk beralih dari mode Normal ke mode ini, tekan |
Perintah Dasar
Buka file
Jalankan perintah
vim <Nama file>untuk membuka satu file dan masuk ke mode Normal. Jika file tidak ada, Vim akan membuatnya.Jalankan perintah
vim <Nama File 1> <Nama File 2>untuk membuka beberapa file dan masuk ke mode Normal.Secara default, File 1 dibuka. Setelah memodifikasi File 1, masukkan
:wuntuk menyimpan File 1. Lalu, masukkan:bnuntuk membuka File 2, modifikasi File 2, lalu masukkan:wuntuk menyimpan File 2.Masukkan
:bpuntuk membuka kembali File 1.Masukkan
:lsuntuk melihat daftar file.
Jalankan perintah
:open <Nama File 3>untuk membuka file baru dalam mode Perintah. Sebelum menjalankan perintah :open <Nama File 3>, masukkan:wuntuk menyimpan file sebelumnya.
Pindahkan kursor
Dalam mode Normal:
Tombol panah atas atau k: Pindahkan kursor ke atas.
Tombol panah bawah atau j: Pindahkan kursor ke bawah.
Tombol panah kiri atau h: Pindahkan kursor ke kiri.
Tombol panah kanan atau l: Pindahkan kursor ke kanan.
Dalam mode Sisip:
Anda hanya bisa memindahkan kursor dengan menekan tombol panah atas, bawah, kiri, atau kanan.
Sisipkan konten
Untuk beralih dari mode Normal ke mode Sisip, tekan i, I, a, A, o, atau O.
i: Sisipkan karakter di sebelah kiri karakter saat ini.I: Sisipkan karakter di awal baris saat ini.a: Sisipkan karakter di sebelah kanan karakter saat ini.A: Sisipkan karakter di akhir baris saat ini.o: Sisipkan baris di bawah baris saat ini.O: Sisipkan baris di atas baris saat ini.
Salin dan tempel konten
Tombol yang digunakan untuk menyalin dan menempelkan konten memberikan fungsi yang sama dengan Ctrl+C dan Ctrl+V di editor Word Windows. Dalam mode Normal:
yy: Salin konten baris tempat kursor berada. Anda dapat menempelkan konten dengan menekanp.nyy: n menentukan jumlah baris yang akan disalin. Misalnya, tekan2yyuntuk menyalin baris tempat kursor berada dan baris berikutnya.p: Tempel ke baris berikutnya dari baris tempat kursor berada.P: Tempel ke baris di atas baris tempat kursor berada.
Hapus konten
Dalam mode Normal:
Untuk menghapus satu karakter, pindahkan kursor ke karakter tersebut dan tekan
x.Untuk menghapus seluruh baris, pindahkan kursor ke baris tersebut dan tekan
dd. Tombol ini setara dengan Ctrl+X di editor Word Windows. Anda dapat menempelkan konten dengan menekanp.Untuk menghapus baris saat ini dan baris di atas baris saat ini, tekan
dk.Untuk menghapus baris saat ini dan baris berikutnya, tekan
dj.Untuk menghapus konten dari baris saat ini hingga akhir file, tekan
dG.nx: n adalah angka. Tombol ini menghapus karakter yang disorot oleh kursor dan karakter berikutnya (n - 1).ndd: n adalah angka. Tombol ini menghapus konten dari baris saat ini tempat kursor berada dan (n - 1) baris di bawah baris saat ini. Tombol ini setara dengan Ctrl+X di editor Word Windows. Anda dapat menempelkan konten dengan menekanp.
Dalam mode Sisip:
Pindahkan kursor ke kanan konten yang ingin Anda hapus dan tekan tombol
Delete.
Cari konten
Dalam mode Normal:
/teks: Cari teks. Secara default, pencocokan tepat digunakan. Setelah menjalankan perintah /teks dan menekan tombol Enter, karakter yang cocok akan disorot.Untuk mencari konten tanpa memperhatikan huruf besar/kecil, jalankan perintah
:set ignorecaseterlebih dahulu. Jalankan perintah:set noignorecaseuntuk mendapatkan hasil pencocokan tepat.
Tekan
nuntuk menuju ke kecocokan berikutnya.Tekan
Nuntuk menuju ke kecocokan sebelumnya.
Ganti konten
Dalam mode Normal:
r: Ganti karakter yang disorot oleh kursor.R: Terus ganti karakter yang disorot hingga Anda menekan tombolEscuntuk keluar dari mode Ganti.cc: Hapus baris tempat kursor berada dan masuk ke mode Sisip.:%s/<Teks lama>/<Teks baru>/g: Cari semua teks yang cocok dengan <Teks lama> dan ganti setiap teks yang cocok dengan <Teks baru>./gmenunjukkan bahwa semua teks yang cocok diganti. Jika Anda tidak memasukkan /g, hanya kecocokan pertama di setiap baris yang diganti.
Dalam mode Sisip:
Hapus konten yang ingin Anda ganti dan sisipkan konten pengganti.
Urungkan dan ulangi operasi
Dalam mode Normal:
u: Urungkan penyisipan atau modifikasi. Tombol ini setara denganCtrl+Zdi editor Word Windows.U: Urungkan semua penyisipan dan modifikasi dan pulihkan konten baris sebelumnya.Ctrl+r: Ulangi operasi sebelumnya untuk memulihkan operasi yang telah diurungkan. Tombol ini setara denganCtrl+Ydi editor Word Windows.
Indentasi dan atur garis
Dalam mode Normal:
>>: Indentasi seluruh baris ke kanan. Secara default, nilai indentasi adalah 8, yaitu jumlah spasi yang dimiliki karakter tab (Tab) secara default.<<: Indentasi seluruh baris ke kiri.
Dalam mode Perintah:
:ce: Ratakan seluruh baris ke tengah.:le: Ratakan seluruh baris ke kiri.:ri: Ratakan seluruh baris ke kanan.
Komentari kode
Cadangkan file. Sebelum melakukan operasi penggantian besar-besaran, kami sarankan Anda mencadangkan file atau menggunakan fitur urung (
u) untuk mencegah operasi yang tidak disengaja. Misalnya, jalankan perintahsudo cp /etc/text.txt /etc/text.txt.bakuntuk mencadangkan file.Pahami ekspresi reguler. Pastikan Anda memahami arti dari ekspresi reguler Vim dan tidak menghapus konten yang tidak relevan. Dalam ekspresi reguler Vim, tanda garis miring maju (
/) harus diloloskan sebagai kombinasi tanda garis miring maju dan mundur (\/). Jika Anda tidak familiar dengan ekekspresi reguler, latih atau debug ekspresi reguler Anda dengan menggunakan alat seperti Regex101.Pahami gaya komentar dalam bahasa yang berbeda. Gunakan pembatas komentar dalam perintah penggantian berdasarkan bahasa pemrograman yang Anda gunakan.
Dalam mode Visual:
Untuk mengomentari baris kode berturut-turut, lakukan langkah-langkah berikut:
Pindahkan kursor ke atas atau ke bawah untuk memilih baris yang ingin Anda komentari.
Tekan
:untuk masuk ke mode Perintah. Lalu,:'<,'>akan otomatis terisi, yang menunjukkan bahwa konten yang dipilih akan dikomentari.Masukkan perintah penggantian atau string. Misalnya, tambahkan pembatas komentar (
#) di awal setiap baris, masukkan perintahs/^/#/lalu tekan tombolEnter.
Komentari semua kode. Jalankan perintah
:%s/^/#/guntuk menggunakan pembatas komentar (#) untuk mengomentari semua baris.
Dalam mode Sisip:
Masukkan pembatas komentar (#) secara manual untuk mengomentari baris yang ingin Anda komentari.
Simpan file dan keluar
Untuk menyimpan file, masukkan
:wdalam mode Normal dan tekan tombol Enter.Untuk keluar dari Vim, masukkan
:qdan tekan tombol Enter.Untuk menyimpan file dan keluar dari Vim, masukkan
:wqatau:xlalu tekan tombol Enter, atau langsung masukkanZZ.Untuk keluar dari Vim secara paksa tanpa menyimpan file, masukkan
:q!dan tekan tombol Enter.Untuk menyimpan file dan keluar dari Vim secara paksa, masukkan
:wqdan tekan tombol Enter.
Enkripsi file
Untuk mengenkripsi file, jalankan perintah
vim -x <Nama file>. Setelah Anda menentukan kata sandi, Anda masuk ke mode Normal. Anda harus menyimpan file setidaknya sekali. Jika tidak, enkripsi tidak akan berlaku. Saat Anda membuka kembali file, masukkan kata sandi untuk autentikasi.Batalkan enkripsi file.
Dalam Vim, jalankan perintah
:set key=untuk membatalkan enkripsi. Perintah ini menghapus kunci enkripsi dari file saat ini.Masukkan
:wquntuk menyimpan perubahan dan keluar dari Vim.Jalankan perintah
vim < Nama file>untuk membuka file. Anda tidak akan diminta untuk memasukkan kata sandi.
Jalankan perintah
Jalankan perintah
!pwduntuk menanyakan direktori kerja saat ini tanpa perlu keluar dari Vim.Jalankan perintah
!lsuntuk menanyakan file dan folder dalam direktori saat ini, tanpa perlu keluar dari Vim.
Modifikasi file di beberapa jendela
Jalankan perintah
vim -o <Nama File 1> <Nama File 2>untuk membuka file di dua jendela secara bersamaan. Saat Anda keluar dari Vim, jalankan perintah keluar secara terpisah.Masukkan
:nuntuk beralih ke jendela lain untuk diedit.Masukkan
:Nuntuk kembali ke jendela sebelumnya untuk diedit.
Dapatkan informasi bantuan
Jalankan perintah
vim --helpdi terminal untuk melihat informasi bantuan perintah Vim.Dalam mode Normal:
:help: Lihat informasi bantuan. Dokumentasi bantuan Vim bersifat hanya-baca. Masukkan:quntuk keluar dari dokumentasi bantuan.:help i: Tanyakan informasi bantuan perintahi.:help yy: Tanyakan informasi bantuan perintahyy.:set nu: Tanyakan nomor baris.
Contoh
Modifikasi file konfigurasi
Untuk menyisipkan Lokasi sebagai baris pertama dalam file example.conf, lakukan langkah-langkah berikut:
Jalankan perintah
vim example.confuntuk membuka file dan masuk ke mode Normal.Saat kursor bergerak ke karakter pertama file, tekan
iuntuk masuk ke mode Sisip.Masukkan
Lokasilalu tekan tombol Enter.Tekan tombol
Escuntuk keluar dari mode Sisip.Masukkan
:wquntuk menyimpan file dan keluar dari Vim.
Sisipkan konten pada baris tertentu
Untuk menyisipkan # di awal Baris 10 dalam file example.conf, lakukan langkah-langkah berikut:
Jalankan perintah
vim example.confuntuk membuka file dan masuk ke mode Normal.Masukkan
:10untuk memindahkan kursor ke Baris 10.Tekan
iuntuk masuk ke mode Sisip.Masukkan
#.Tekan tombol
Escuntuk keluar dari mode Sisip.Masukkan
:wquntuk menyimpan file dan keluar dari Vim.
Cari dan sisipkan konten
Untuk menyisipkan LoadModule rewrite_module modules/mod_rewrite.so pada baris di bawah baris Include conf.modules.d/*.conf dalam file example.conf, lakukan langkah-langkah berikut:
Jalankan perintah
vim example.confuntuk membuka file dan masuk ke mode Normal.Jalankan perintah
/Include conf.modules.d/*.confuntuk menemukan baris tempat Anda ingin melakukan operasi penyisipan.Tekan
iuntuk masuk ke mode Sisip.Jalankan perintah
LoadModule rewrite_module modules/mod_rewrite.so.Tekan tombol
Escuntuk keluar dari mode Sisip.Masukkan
:wquntuk menyimpan file dan keluar dari Vim.
Hapus konten
Untuk menghapus # di awal baris #Listen 12.34.XX:XX:80 dan Listen 80 dalam file example.conf, lakukan langkah-langkah berikut:
Jalankan perintah
vim example.confuntuk membuka file dan masuk ke mode Normal.Jalankan perintah
/#Listen 12.34.XX:XX:80untuk menemukan baris tempat Anda ingin melakukan operasi penghapusan. Dengan cara ini, kursor dipindahkan ke atas simbol#.Tekan
xuntuk menghapus#.Pindahkan kursor ke Listen 80 dan tekan
dduntuk menghapus baris tempat Listen 80 berada.Masukkan
:wquntuk menyimpan file yang telah dimodifikasi dan keluar dari Vim.
Modifikasi file Docker.yaml
Buat dan modifikasi file docker-compose.yaml.

Hapus pembatas komentar dari beberapa baris
Jika pembatas komentar (
#) berada di awal baris, karakter spasi mungkin ada sebelum dan sesudah pembatas komentar.# Ini adalah komentar # Komentar lain # Komentar lain lagiUntuk menghapus pembatas komentar dan karakter spasi (seperti spasi dan indentasi) sebelum dan sesudah pembatas komentar pada setiap baris, jalankan perintah berikut:
:%s/^\s*#\s\?//Perhatikan parameter berikut:
^: cocok dengan awal baris.\s*: cocok dengan sejumlah karakter spasi (indentasi).#: pembatas komentar.\s\?: cocok dengan karakter spasi opsional seperti spasi setelah pembatas komentar.//: menghapus konten yang cocok dengan menggantinya dengan konten kosong.
Perintah ini melintasi seluruh file. Contoh berikut memberikan konten file yang telah dimodifikasi:
Ini adalah komentar Komentar lain Komentar lain lagi
Perbarui Vim
Jika Vim yang disediakan oleh sistem operasi saat ini tidak memenuhi kebutuhan bisnis Anda, jalankan perintah untuk memperbarui Vim. Perintah dapat bervariasi berdasarkan sistem operasi.
Alibaba Cloud Linux 2 dan 3
sudo yum update vimCentOS 7 dan CentOS 8
sudo yum update vimFedora
sudo yum update vimUbuntu dan Debian
sudo apt upgrade vimopenSUSE
sudo zypper update vimFAQ
Apa yang harus saya lakukan jika pesan "No Write..." muncul saat saya keluar dari file?
Penyebab: File telah dimodifikasi tetapi belum disimpan.
Solusi: Untuk menyimpan file yang telah dimodifikasi dan keluar, masukkan
:wq. Untuk keluar tanpa menyimpan file, masukkan:q!.
Apa yang harus saya lakukan jika saya tidak bisa memasukkan teks?
Penyebab: Editor Vim mungkin bekerja dalam mode Visual.
Solusi: Tekan tombol
Escuntuk kembali ke mode Normal, lalu masuk ke mode Sisip.
Apa yang harus saya lakukan jika saya tidak bisa menyimpan file?
Penyebab: Anda mungkin tidak memiliki izin yang diperlukan. Anda tidak memiliki izin tulis pada file atau direktori tempat file disimpan. Misalnya, untuk memodifikasi file konfigurasi sistem seperti
/etc/hostsdan/etc/nginx/nginx.conf, Anda harus memiliki hak istimewa superuser.Solusi 1: Mulai Vim sebagai superuser dengan menjalankan perintah
sudo. Misalnya, jalankan perintahsudo vim example.conf.Solusi 2: Jalankan perintah
:w !sudo tee %untuk menyimpan file saat ini sebagai administrator. Untuk mengubah izin akses atau kepemilikan file konfigurasi, jalankan perintahsudo chownatausudo chmod.
Apa yang harus saya lakukan jika file .swp ada?
Penyebab: File dibuka oleh sesi Vim lain.
Solusi: Untuk memeriksa apakah sesi Vim lain sedang mengedit file, tanyakan dan hapus file
.swpdengan menjalankan perintahll -a, lalu buka file untuk dimodifikasi. Anda juga dapat menjalankan perintah:recoveruntuk memulihkan file lalu memodifikasi file tersebut.