全部产品
Search
文档中心

Alibaba Cloud CLI:Editor Vim

更新时间:Jul 02, 2025

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.

image

Mode

Fungsionalitas

Metode Penggantian Mode

Mode Normal

Memungkinkan Anda menyalin, menempel, dan menghapus karakter atau baris.

  • Saat menjalankan perintah vim <Nama file> untuk membuka file, editor Vim masuk ke mode Normal.

  • Untuk beralih dari mode lain ke mode ini, tekan tombol Esc.

Mode Sisip

Memungkinkan Anda menyisipkan karakter.

Untuk beralih dari mode Normal ke mode ini, tekan i, I, a, A, o, atau O.

Catatan

Setelah editor Vim masuk ke mode Sisip, -- INSERT -- ditampilkan di pojok kiri bawah editor.

Mode Ganti

Memungkinkan Anda mengganti karakter.

Untuk beralih dari mode Normal ke mode ini, tekan R.

Catatan

Setelah editor Vim masuk ke mode Ganti, -- REPLACE -- ditampilkan di pojok kiri bawah editor.

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 v.

Catatan

Setelah editor Vim masuk ke mode Visual, -- VISUAL -- ditampilkan di pojok kiri bawah editor.

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 :w untuk menyimpan File 1. Lalu, masukkan :bn untuk membuka File 2, modifikasi File 2, lalu masukkan :w untuk menyimpan File 2.

    • Masukkan :bp untuk membuka kembali File 1.

    • Masukkan :ls untuk melihat daftar file.

  • Jalankan perintah :open <Nama File 3> untuk membuka file baru dalam mode Perintah. Sebelum menjalankan perintah :open <Nama File 3>, masukkan :w untuk 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 menekan p.

  • nyy: n menentukan jumlah baris yang akan disalin. Misalnya, tekan 2yy untuk 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 menekan p.

    • 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 menekan p.

  • 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 ignorecase terlebih dahulu. Jalankan perintah :set noignorecase untuk mendapatkan hasil pencocokan tepat.

  • Tekan n untuk menuju ke kecocokan berikutnya.

  • Tekan N untuk 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 tombol Esc untuk 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>. /g menunjukkan 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 dengan Ctrl+Z di 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 dengan Ctrl+Y di 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

Catatan
  • 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 perintah sudo cp /etc/text.txt /etc/text.txt.bak untuk 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:

      1. Pindahkan kursor ke atas atau ke bawah untuk memilih baris yang ingin Anda komentari.

      2. Tekan : untuk masuk ke mode Perintah. Lalu, :'<,'> akan otomatis terisi, yang menunjukkan bahwa konten yang dipilih akan dikomentari.

      3. Masukkan perintah penggantian atau string. Misalnya, tambahkan pembatas komentar (#) di awal setiap baris, masukkan perintah s/^/#/ lalu tekan tombol Enter.

    • Komentari semua kode. Jalankan perintah :%s/^/#/g untuk 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 :w dalam mode Normal dan tekan tombol Enter.

  • Untuk keluar dari Vim, masukkan :q dan tekan tombol Enter.

  • Untuk menyimpan file dan keluar dari Vim, masukkan :wq atau :x lalu tekan tombol Enter, atau langsung masukkan ZZ.

  • 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 :wq dan 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.

    1. Dalam Vim, jalankan perintah :set key= untuk membatalkan enkripsi. Perintah ini menghapus kunci enkripsi dari file saat ini.

    2. Masukkan :wq untuk menyimpan perubahan dan keluar dari Vim.

    3. Jalankan perintah vim < Nama file> untuk membuka file. Anda tidak akan diminta untuk memasukkan kata sandi.

Jalankan perintah

  • Jalankan perintah !pwd untuk menanyakan direktori kerja saat ini tanpa perlu keluar dari Vim.

  • Jalankan perintah !ls untuk 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 :n untuk beralih ke jendela lain untuk diedit.

  • Masukkan :N untuk kembali ke jendela sebelumnya untuk diedit.

Dapatkan informasi bantuan

  • Jalankan perintah vim --help di terminal untuk melihat informasi bantuan perintah Vim.

  • Dalam mode Normal:

    • :help: Lihat informasi bantuan. Dokumentasi bantuan Vim bersifat hanya-baca. Masukkan :q untuk keluar dari dokumentasi bantuan.

    • :help i: Tanyakan informasi bantuan perintah i.

    • :help yy: Tanyakan informasi bantuan perintah yy.

    • :set nu: Tanyakan nomor baris.

Contoh

Modifikasi file konfigurasi

Untuk menyisipkan Lokasi sebagai baris pertama dalam file example.conf, lakukan langkah-langkah berikut:

  1. Jalankan perintah vim example.conf untuk membuka file dan masuk ke mode Normal.

  2. Saat kursor bergerak ke karakter pertama file, tekan i untuk masuk ke mode Sisip.

  3. Masukkan Lokasi lalu tekan tombol Enter.

  4. Tekan tombol Esc untuk keluar dari mode Sisip.

  5. Masukkan :wq untuk menyimpan file dan keluar dari Vim.

    example-1-1-2.gif

Sisipkan konten pada baris tertentu

Untuk menyisipkan # di awal Baris 10 dalam file example.conf, lakukan langkah-langkah berikut:

  1. Jalankan perintah vim example.conf untuk membuka file dan masuk ke mode Normal.

  2. Masukkan :10 untuk memindahkan kursor ke Baris 10.

  3. Tekan i untuk masuk ke mode Sisip.

  4. Masukkan #.

  5. Tekan tombol Esc untuk keluar dari mode Sisip.

  6. Masukkan :wq untuk menyimpan file dan keluar dari Vim.

    example-2-1-2.gif

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:

  1. Jalankan perintah vim example.conf untuk membuka file dan masuk ke mode Normal.

  2. Jalankan perintah /Include conf.modules.d/*.conf untuk menemukan baris tempat Anda ingin melakukan operasi penyisipan.

  3. Tekan i untuk masuk ke mode Sisip.

  4. Jalankan perintah LoadModule rewrite_module modules/mod_rewrite.so.

  5. Tekan tombol Esc untuk keluar dari mode Sisip.

  6. Masukkan :wq untuk menyimpan file dan keluar dari Vim.

    example-3-1-2.gif

Hapus konten

Untuk menghapus # di awal baris #Listen 12.34.XX:XX:80 dan Listen 80 dalam file example.conf, lakukan langkah-langkah berikut:

  1. Jalankan perintah vim example.conf untuk membuka file dan masuk ke mode Normal.

  2. Jalankan perintah /#Listen 12.34.XX:XX:80 untuk menemukan baris tempat Anda ingin melakukan operasi penghapusan. Dengan cara ini, kursor dipindahkan ke atas simbol #.

  3. Tekan x untuk menghapus #.

  4. Pindahkan kursor ke Listen 80 dan tekan dd untuk menghapus baris tempat Listen 80 berada.

  5. Masukkan :wq untuk menyimpan file yang telah dimodifikasi dan keluar dari Vim.

    delete-1.gif

Modifikasi file Docker.yaml

Buat dan modifikasi file docker-compose.yaml.

vim docker-yaml-2.gif

Hapus pembatas komentar dari beberapa baris

  1. Jika pembatas komentar (#) berada di awal baris, karakter spasi mungkin ada sebelum dan sesudah pembatas komentar.

    # Ini adalah komentar
        # Komentar lain
    # Komentar lain lagi
  2. Untuk 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 vim

CentOS 7 dan CentOS 8

sudo yum update vim

Fedora

sudo yum update vim

Ubuntu dan Debian

sudo apt upgrade vim

openSUSE

sudo zypper update vim

FAQ

  • 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 Esc untuk 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/hosts dan /etc/nginx/nginx.conf, Anda harus memiliki hak istimewa superuser.

    • Solusi 1: Mulai Vim sebagai superuser dengan menjalankan perintah sudo. Misalnya, jalankan perintah sudo 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 perintah sudo chown atau sudo 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 .swp dengan menjalankan perintah ll -a, lalu buka file untuk dimodifikasi. Anda juga dapat menjalankan perintah :recover untuk memulihkan file lalu memodifikasi file tersebut.