Halo semuanya. kali ini mimin akan sharing tentang Hot-key dari VIM. eh apa itu vim? vim adalah kepanjangan dari Vi Improved, yang merupakan text editor yang dapat digunakan pada terminal linux. vim merupakan pengembangan lebih lanjut dari vi, maka semua yang ada dalam text editor vi terdapat dari vim. seperti unlimited undo yang tersedia pada vim. maka mimin kali ini akan memberi sedikit hot key yang dapat digunakan pada vim
Pada dasarnya vim terdapat 2 mode, yaitu normal/command mode dan terdapat input/insert mode. mode tersebut membantu kita dalam menjalankan aksi untuk melakukan command atau memasukkan sebuah teks.
Dapat dilihat pada gambar diatas, kondisi command mode akan menunjukan informasi command pada paling bawah terminal. sedangkan kondisi insert mode akan memberikan informasi – – INSERT – – lalu dapat mengedit isi dari file. kemudian mimin akan membocor-cor-cor kan sedikit hot key yang dapat kita gunakan dalam VIM :
Ubah{n} dengan angka
{text} dengan kata
:w | Write. Digunakan untuk melakukan save pada sebuah file |
:e | Edit. Digunakan untuk melakukan edit pada file yang akan kita buat atau yang sudah tersedia |
:q | quit. Digunakan untuk menutup text editor |
:wallq | Write All Quit. Digunakan untuk melakukan aksi menyimpan semua buffer dan menutup text editor |
:b{n} | Buffer. Digunakan untuk melakukan pindah buffer sesuai dengan (n) buffer |
:ls | List buffer. Digunakan untuk melihat buffer yang tersedia pada memory |
:bn | Next buffer. Digunakan untuk melihat buffer yang tersedia pada memory |
:bd | Buffer delete. Digunakan untuk menutup buffer yang sedang aktif |
:set rnu | Digunakan untuk mengaktifkan nomor baris relatif |
:set nu | Digunakan untuk mengaktifkan nomor baris absolute |
:set nu! / :set rnu! | Digunakan untuk menutup nomor baris |
:marks | Marks. Digunakan untuk melihat list marker yang tersedia |
:m{n} | Marks Add/Replace. Digunakan untuk membuat/mengubah marker ke-(n) untuk mempercepat melakukan pindah line |
~{n} | To Marks. Digunakan untuk melakukan pindah line sesuai dengan marker ke-(n) |
:%s/{text1}/{text2}/g | Replace text 1 to text 2. Digunakan untuk melakukan replace (text1) ke (text2) |
:%s/{text1}/{text2}/gc | Replace text 1 to text 2 with confirmation. Digunakan untuk melakukan replace (text1) ke (text2) dengan konfirmasi |
:set paste | insert paste mode. Digunakan untuk melakukan mode paste pada kondisi mode input |
:set paste! | menutup insert paste mode. Digunakan untuk menutup mode paste pada kondisi mode input |
h-j-k-l | Moving Cursor. Digunakan untuk melakukan pindah kursor |
u | Undo. Digunakan untuk melakukan undo |
ctrl+r | Redo. Digunakan untuk melakukan redo |
o | Digunakan untuk melakukan pindah kursor ke paling kiri |
ctrl+a | Digunakan untuk melakukan pindah kursor ke paling kanan |
yy | Copy line. Digunakan untuk melakukan copy line |
{n}p | Paste. Digunakan untuk melakukan paste sebanyak (n) dari record copy terakhir |
d{n}d | Delete line. Digunakan untuk melakukan delete dari baris cursor sebanyak (n) |
. | recall. Digunakan untuk melakukan recall input terakhir (seperti paste) |
?{text} | Find before (text). Digunakan untuk melakukan pencarian (text) ‘before’ pada file |
/{text} | Find next (text). Digunakan untuk melakukan pencarian (text) ‘next’ pada file |
cw | Change write. Digunakan untuk melakukan replace kata secara langsung pada mode input |
c{n}w | Change write (n) word. Digunakan untuk melakukan replace sebanyak (n) kata pada cursor dan mengeditnya pada mode input |
ciw | Change write in word cursor. Digunakan untuk melakukan replace kata pada posisi kata cursor dan mengeditnya pada mode input |
gg | Move to first line. Digunakan untuk melakukan pindah ke line 1 pada file |
shift+g | Move to end line. Digunakan untuk melakukan pindah ke line terakhir pada file |
{n}g | Move to (n) line. Digunakan untuk melakukan pindah ke line (n) pada file |
v | visual. Digunakan untuk melakukan mode visual |
{n}shift+, | Indent left. Digunakan untuk melakukan indent ke kiri sebanyak (n) |
{n}shift+. | Indent right. Digunakan untuk melakukan indent ke kanan sebanyak (n) |
Sekian dan terimakasih gaess 🙂