Apa itu Neovim?
Neovim adalah editor teks berbasis Vim yang sangat dapat diperluas, yang bertujuan untuk memodernisasi dan meningkatkan pengalaman Vim klasik. Diluncurkan pada tahun 2014 sebagai cabang dari Vim, Neovim sejak itu berkembang menjadi proyek mandiri dengan identitas dan lintasan pengembangan sendiri. Sambil mempertahankan kompatibilitas penuh dengan model pengeditan Vim, Neovim memperkenalkan basis kode yang lebih mudah dipelihara, pengaturan default yang lebih baik, dan arsitektur plugin yang kuat yang memanfaatkan eksekusi asinkron.
Intinya, Neovim mempertahankan filosofi pengeditan modal yang telah membuat Vim menjadi legenda di kalangan pengembang dan pengguna tingkat lanjut. Pendekatan ini memisahkan pengeditan teks ke dalam mode yang berbeda - terutama mode normal untuk navigasi dan perintah, mode sisip untuk mengetik teks, dan mode visual untuk memilih dan memanipulasi blok teks. Pemisahan ini memungkinkan manipulasi teks yang sangat efisien setelah dikuasai, memungkinkan pengguna untuk mengedit teks secepat pikiran daripada kecepatan penekanan tombol.
Neovim membedakan dirinya dari editor teks tradisional melalui ekstensibilitasnya. Ia menyediakan dukungan kelas satu untuk server bahasa melalui Language Server Protocol (LSP), emulasi terminal bawaan, dan antarmuka skrip Lua yang memungkinkan pengembang untuk membuat plugin yang kuat dengan overhead minimal. Fitur-fitur ini memposisikan Neovim bukan hanya sebagai editor teks tetapi lingkungan pengembangan yang dapat disesuaikan yang dapat disesuaikan dengan alur kerja individu.
Sebelum menyelami perintah Neovim kita, saya ingin memperkenalkan Anda pada Apidog – platform pengembangan API komprehensif yang dengan cepat menjadi alternatif Postman yang disukai oleh banyak pengembang.

Jika Anda sering bekerja dengan API saat membuat kode di Neovim, Apidog menawarkan pengalaman yang mulus untuk desain, debugging, dan dokumentasi API.

Apidog menggabungkan dokumentasi API, pengujian otomatis, dan server mock dalam satu alat terintegrasi, menjadikannya sempurna untuk pengembang individu dan tim. Antarmuka intuitif dan fitur-fitur canggihnya menyederhanakan alur kerja API Anda sambil mempertahankan kompatibilitas dengan koleksi Postman Anda yang ada. Luangkan waktu sejenak untuk menguji Apidog bersama dengan pengaturan Neovim Anda – kombinasi alat yang ampuh ini dapat merevolusi proses pengembangan Anda.
Sekarang, mari selami perintah Neovim penting tersebut!
Mengapa Anda Harus Menggunakan Neovim
Kinerja dan Efisiensi
Arsitektur Neovim dirancang untuk kecepatan. Dengan memanfaatkan I/O asinkron, ia tetap responsif bahkan saat menjalankan tugas intensif seperti pengindeksan kode atau operasi git. Ini berarti tidak ada lagi pembekuan atau kelambatan saat mengerjakan file besar atau proyek kompleks. Pendekatan pengeditan modal juga meminimalkan gerakan tangan, mengurangi risiko cedera regangan berulang yang umum di antara pengembang yang menghabiskan waktu berjam-jam untuk membuat kode.
Kustomisasi dan Ekstensibilitas
Meskipun banyak editor modern menawarkan opsi kustomisasi, pendekatan Neovim sangat kuat. Setiap aspek editor dapat dikonfigurasi sesuai preferensi Anda, mulai dari keybinding hingga tampilan. Ekosistem plugin yang kuat memungkinkan Anda untuk memperluas fungsionalitas ke hampir semua arah - ubah Neovim menjadi IDE untuk bahasa pilihan Anda, lingkungan penulisan untuk dokumentasi, atau apa pun di antaranya.
Keterampilan yang Tahan Masa Depan
Mempelajari Neovim mengembangkan keterampilan mengedit yang melampaui alat atau lingkungan tertentu. Pengeditan gaya Vim tersedia sebagai plugin atau mode di hampir setiap editor dan IDE populer, termasuk VS Code, IntelliJ IDEA, dan bahkan browser. Menguasai perintah-perintah ini menciptakan keterampilan yang dapat ditransfer yang meningkatkan produktivitas Anda di berbagai platform.
Efisiensi Sumber Daya
Jejak sumber daya minimal Neovim menjadikannya pilihan yang sangat baik untuk pekerjaan jarak jauh atau perangkat bertenaga rendah. Ia mulai secara instan dan mengkonsumsi memori secara signifikan lebih sedikit daripada editor grafis, meninggalkan lebih banyak sumber daya yang tersedia untuk tugas pengembangan Anda yang sebenarnya.
Komunitas dan Ekosistem
Neovim telah membina komunitas aktif yang terus berkontribusi pada peningkatannya. Ekosistem plugin kaya dan beragam, dengan alat yang tersedia untuk hampir setiap kebutuhan pengembangan. Mulai dari pencarian fuzzy dan navigasi file hingga integrasi git dan penyorotan sintaks, komunitas telah menciptakan solusi yang menyaingi atau melampaui yang ditemukan di IDE komersial.
Etos Sumber Terbuka
Dengan memilih Neovim, Anda merangkul alat sumber terbuka penuh dengan proses pengembangan yang transparan. Editor Anda tidak tunduk pada keinginan perusahaan atau perubahan mendadak dalam model lisensi atau harga.
Cara Menginstal Neovim di Windows, Mac, Linux
Instalasi Windows
Menggunakan Windows Package Manager (winget)
winget install Neovim.Neovim
Menggunakan Chocolatey
choco install neovim
Menggunakan Scoop
scoop install neovim
Instalasi Manual
- Kunjungi halaman rilis Neovim GitHub
- Unduh arsip ZIP Windows stabil terbaru
- Ekstrak konten ke lokasi pilihan Anda (mis.,
C:\Program Files\Neovim
) - Tambahkan direktori
bin
ke variabel lingkungan PATH Anda - Verifikasi instalasi dengan membuka command prompt dan mengetik
nvim --version
Instalasi macOS
Menggunakan Homebrew
brew install neovim
Menggunakan MacPorts
sudo port install neovim
Instalasi Manual
- Unduh arsip macOS terbaru dari halaman rilis Neovim GitHub
- Ekstrak aplikasi ke folder Aplikasi Anda
- Secara opsional, tambahkan alias ke file konfigurasi shell Anda:
alias nvim='/Applications/Neovim.app/Contents/MacOS/nvim'
Instalasi Linux
Ubuntu/Debian
sudo apt update
sudo apt install neovim
Fedora
sudo dnf install -y neovim python3-neovim
Arch Linux
sudo pacman -S neovim
Membangun dari Sumber
Untuk fitur terbaru atau pada distribusi tanpa paket terbaru:
git clone https://github.com/neovim/neovim
cd neovim
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install
Memverifikasi Instalasi Anda
Setelah instalasi, buka terminal atau command prompt dan ketik:
nvim --version
Anda akan melihat output yang menampilkan versi Neovim dan informasi build. Untuk memulai Neovim, cukup ketik:
nvim
Konfigurasi Awal
Neovim menyimpan konfigurasinya di lokasi berikut:
- Windows:
%LOCALAPPDATA%\nvim\
- macOS/Linux:
~/.config/nvim/
Buat file init.vim
di direktori ini untuk konfigurasi Vimscript atau init.lua
untuk konfigurasi Lua. Banyak pengguna memulai dengan konfigurasi minimal dan membangun saat mereka belajar:
Contoh init.vim dasar:
" Basic settings
set number " Show line numbers
set relativenumber " Show relative line numbers
set expandtab " Use spaces instead of tabs
set tabstop=4 " Set tab width to 4 spaces
set shiftwidth=4 " Set shift width to 4 spaces
set autoindent " Enable auto-indentation
set smartindent " Enable smart indentation
set termguicolors " Enable true colors support
100 Perintah Neovim Teratas untuk Pemula
Neovim telah memantapkan dirinya sebagai editor teks yang kuat dan dapat diperluas untuk pengembang dan pengguna tingkat lanjut. Dibangun di atas fondasi Vim, Neovim menawarkan peningkatan kinerja, arsitektur plugin yang lebih baik, dan komunitas yang dinamis yang terus meningkatkan kemampuannya. Apakah Anda seorang veteran Vim berpengalaman atau pendatang baru dalam pengeditan modal, memiliki referensi perintah yang komprehensif di ujung jari Anda dapat secara dramatis meningkatkan efisiensi dan alur kerja Anda.
Lembar contekan ini mengumpulkan 100 perintah Neovim penting yang harus diketahui setiap pengguna, yang diatur berdasarkan kategori untuk referensi cepat. Dari navigasi dasar hingga manipulasi teks tingkat lanjut, perintah-perintah ini mewakili perangkat yang membuat Neovim menjadi lingkungan pengeditan yang tangguh. Menguasai bahkan sebagian kecil dari perintah-perintah ini akan secara signifikan meningkatkan produktivitas Anda dan membantu Anda memanfaatkan potensi penuh Neovim.
Navigasi Dasar
h
,j
,k
,l
- Pindahkan kursor ke kiri, bawah, atas, kanan (tombol gerakan inti di Neovim)w
- Lompat ke awal kata berikutnya (tanda baca dianggap sebagai kata)W
- Lompat ke awal KATA berikutnya (kata-kata yang dipisahkan spasi)b
- Lompat ke awal kata sebelumnyaB
- Lompat ke awal KATA sebelumnyae
- Lompat ke akhir kataE
- Lompat ke akhir KATA0
- Lompat ke awal baris (kolom pertama)^
- Lompat ke karakter non-kosong pertama dari baris$
- Lompat ke akhir barisgg
- Pergi ke baris pertama dokumenG
- Pergi ke baris terakhir dokumen{number}G
- Pergi ke nomor baris tertentu{
- Lompat ke paragraf/blok kode sebelumnya}
- Lompat ke paragraf/blok kode berikutnyaCtrl-u
- Pindahkan setengah layar ke atasCtrl-d
- Pindahkan setengah layar ke bawahCtrl-b
- Pindahkan satu layar penuh ke atasCtrl-f
- Pindahkan satu layar penuh ke bawahzz
- Pusatkan kursor di layar (baris saat ini menjadi baris tengah)zt
- Posisikan kursor di bagian atas layarzb
- Posisikan kursor di bagian bawah layar
Perintah Pengeditan
i
- Masuk ke mode sisip sebelum kursor (untuk menyisipkan teks)I
- Masuk ke mode sisip di awal barisa
- Masuk ke mode sisip setelah kursor (tambahkan)A
- Masuk ke mode sisip di akhir bariso
- Sisipkan baris baru di bawah baris saat ini dan masuk ke mode sisipO
- Sisipkan baris baru di atas baris saat ini dan masuk ke mode sisipr
- Ganti satu karakter di bawah kursor (tanpa masuk ke mode sisip)R
- Masuk ke mode ganti (menimpa teks yang ada)x
- Hapus karakter di bawah kursorX
- Hapus karakter sebelum kursordd
- Hapus seluruh baris (dan simpan dalam register){number}dd
- Hapus beberapa barisD
- Hapus dari kursor hingga akhir barisyy
atauY
- Yank (salin) seluruh baris{number}yy
- Yank beberapa barisy$
- Yank dari kursor hingga akhir barisp
- Tempel setelah kursorP
- Tempel sebelum kursoru
- Batalkan perubahan terakhirCtrl-r
- Ulangi (batalkan pembatalan)~
- Ubah huruf karakter di bawah kursor>>
- Indentasi baris<<
- Hapus indentasi baris.
- Ulangi perintah terakhir (kuat untuk pengeditan berulang)cc
atauC
- Ubah seluruh baris (hapus baris dan masuk ke mode sisip)cw
- Ubah kata (hapus kata dan masuk ke mode sisip)c$
atauC
- Ubah hingga akhir barisJ
- Gabungkan baris saat ini dengan baris berikutnya
Cari dan Ganti
/pattern
- Cari maju untuk pola?pattern
- Cari mundur untuk polan
- Ulangi pencarian dalam arah yang samaN
- Ulangi pencarian dalam arah yang berlawanan*
- Cari maju untuk kata di bawah kursor#
- Cari mundur untuk kata di bawah kursor:%s/old/new/g
- Ganti semua kemunculan 'old' dengan 'new' di seluruh file:%s/old/new/gc
- Ganti semua kemunculan dengan konfirmasi:s/old/new/g
- Ganti semua kemunculan pada baris saat ini:noh
- Hapus penyorotan pencariangd
- Pergi ke definisi lokal dari kata di bawah kursorgD
- Pergi ke definisi global dari kata di bawah kursor
Mode Visual
v
- Masuk ke mode visual karakter-bijaksana (pilih karakter)V
- Masuk ke mode visual baris-bijaksana (pilih seluruh baris)Ctrl-v
- Masuk ke mode visual blok-bijaksana (pilih blok persegi panjang)gv
- Pilih ulang pilihan visual sebelumnyao
- Dalam mode visual: Pindah ke ujung pilihan lainnyaO
- Dalam mode blok visual: Pindah ke sudut blok lainnyaaw
- Pilih sebuah kata (dalam mode visual)ab
- Pilih blok dengan () (dalam mode visual)aB
- Pilih blok dengan {} (dalam mode visual)at
- Pilih blok dengan tag HTML/XML (dalam mode visual)
Operasi File
:e filename
- Edit file (buat jika tidak ada):w
- Tulis (simpan) file:w filename
- Tulis ke nama file yang ditentukan (simpan sebagai):q
- Keluar (gagal jika ada perubahan yang belum disimpan):q!
- Keluar tanpa menyimpan (buang perubahan):wq
atau:x
- Tulis dan keluar:saveas filename
- Simpan file sebagai nama file:r filename
- Sisipkan konten file di bawah kursor:r !command
- Sisipkan output perintah shell di bawah kursor
Bekerja dengan Jendela dan Tab
:split
atau:sp
- Pisahkan jendela secara horizontal:vsplit
atau:vs
- Pisahkan jendela secara vertikalCtrl-w h/j/k/l
- Navigasi antar jendela (kiri/bawah/atas/kanan)Ctrl-w +/-
- Tingkatkan/kurangi tinggi jendelaCtrl-w </>
- Tingkatkan/kurangi lebar jendelaCtrl-w =
- Buat semua jendela berukuran samaCtrl-w o
- Buat jendela saat ini menjadi satu-satunya:tabnew
- Buat tab barugt
- Pergi ke tab berikutnyagT
- Pergi ke tab sebelumnya:tabclose
- Tutup tab saat ini:tabonly
- Tutup semua tab lainnya
Manajemen Buffer
:ls
- Daftar semua buffer:b number
- Beralih ke buffer berdasarkan nomor:bn
- Buffer berikutnya:bp
- Buffer sebelumnya:bd
- Hapus buffer (tutup file):bufdo command
- Jalankan perintah pada semua buffer:e #
- Edit file alternatif (biasanya file yang diedit sebelumnya)
Tanda dan Lompatan
m{a-z}
- Atur tanda pada posisi saat ini (huruf kecil untuk lokal file)m{A-Z}
- Atur tanda pada posisi saat ini (huruf besar untuk global)'{mark}
- Lompat ke baris tanda`{mark}
- Lompat ke posisi tandaCtrl-o
- Lompat ke posisi yang lebih lama dalam daftar lompatanCtrl-i
- Lompat ke posisi yang lebih baru dalam daftar lompatan'.
- Lompat ke posisi perubahan terakhir`.
- Lompat ke posisi tepat perubahan terakhir
Objek Teks dan Gerakan
ci(
- Ubah di dalam tanda kurungdi"
- Hapus di dalam tanda kutip gandayi]
- Yank di dalam tanda kurung sikuva{
- Pilih secara visual di sekitar kurung kurawal (termasuk kurung kurawal)dap
- Hapus di sekitar paragrafcit
- Ubah di dalam tag HTML/XMLdiw
- Hapus di dalam katadaw
- Hapus di sekitar kata (termasuk spasi)dab
- Hapus di sekitar blok (tanda kurung)daB
- Hapus di sekitar blok (kurung kurawal)
Perintah Lipat
zf
- Buat lipatan (dalam mode visual)zo
- Buka lipatan di bawah kursorzc
- Tutup lipatan di bawah kursorza
- Alihkan lipatan di bawah kursorzR
- Buka semua lipatanzM
- Tutup semua lipatanzj
- Pindah ke lipatan berikutnyazk
- Pindah ke lipatan sebelumnya
Fitur Khusus Neovim
:terminal
atau:term
- Buka terminal terintegrasiCtrl-\ Ctrl-n
- Keluar dari mode terminal ke mode normal:checkhealth
- Jalankan alat diagnostik Neovim:lua require('telescope.builtin').find_files()
- Gunakan plugin Telescope untuk menemukan file:TSInstall language
- Instal parser treesitter untuk suatu bahasa:LspInfo
- Tampilkan status Language Server Protocol:TSBufToggle highlight
- Alihkan penyorotan treesitter:highlight
- Tampilkan grup penyorotan saat ini:Tutor
- Mulai tutorial bawaan Neovim:help nvim-features
- Lihat fitur khusus Neovim
Fitur Tingkat Lanjut
q{a-z}
- Rekam makro ke dalam register@{a-z}
- Mainkan makro dari register@@
- Ulangi makro yang terakhir dimainkang&
- Ulangi substitusi terakhir pada semua baris:norm cmd
- Jalankan perintah mode normal pada baris yang dipilihgf
- Pergi ke file di bawah kursorCtrl-a
- Tingkatkan angka di bawah kursorCtrl-x
- Kurangi angka di bawah kursor:sort
- Urutkan baris yang dipilih!motion command
- Saring teks melalui perintah eksternal
Kesimpulan
Kekuatan Neovim terletak pada set perintahnya yang luas, dan menguasai perintah-perintah ini akan secara signifikan meningkatkan efisiensi pengeditan Anda. Ingatlah bahwa kemahiran datang dengan latihan – mulailah dengan memasukkan beberapa perintah baru ke dalam alur kerja Anda setiap hari, dan segera mereka akan menjadi kebiasaan.
Filosofi pengeditan modal Neovim memungkinkan manipulasi teks yang sangat tepat dan efisien setelah Anda membangun memori otot untuk perintah-perintah ini. Pertimbangkan untuk membuat pemetaan kunci khusus Anda sendiri untuk operasi yang sering dilakukan untuk lebih meningkatkan produktivitas Anda.
Seiring pertumbuhan kemahiran Anda, Anda mungkin ingin menjelajahi ekosistem plugin untuk memperluas fungsionalitas Neovim. Plugin populer seperti Telescope untuk pencarian fuzzy, konfigurasi LSP untuk kecerdasan kode, dan Treesitter untuk penyorotan sintaks yang ditingkatkan dapat mengubah Neovim menjadi lingkungan pengembangan terintegrasi yang kuat yang disesuaikan dengan kebutuhan spesifik Anda.
Bagi mereka yang bekerja dengan API saat menggunakan Neovim, jangan lupa untuk mencoba Apidog sebagai alternatif Postman yang komprehensif. Antarmuka yang disederhanakan dan fitur-fitur canggihnya melengkapi pendekatan Neovim yang berfokus pada efisiensi untuk menciptakan lingkungan pengembangan yang optimal.
Apakah Anda menulis kode, mendokumentasikan proyek, atau mengedit file konfigurasi, perintah Neovim ini memberikan fondasi untuk pengalaman mengedit teks yang tumbuh seiring kebutuhan Anda dan beradaptasi dengan alur kerja pribadi Anda. Dengan waktu dan latihan, Anda akan menemukan bahwa kurva pembelajaran awal Neovim memberikan dividen luar biasa dalam produktivitas jangka panjang dan kegembiraan mengedit.
Selamat mengedit!