Konfigurasi Vim Dasar
() translation by (you can also view the original English article)
Setelah mempelajari Vim untuk Pemula, Anda akan melihat bahwa penomoran baris relatif untuk file Anda tidak bertahan dengan pemuatan ulang. Meskipun perilaku ini dapat didefinisikan dalam file konfigurasi Vim.
File .vimrc
Semua informasi konfigurasi Vim berada di file .vimrc yang ditemukan di direktori home. Anda dapat membukanya dengan perintah file edit dari dalam Vim:
1 |
:e ~/.vimrc |
File ini kosong karena belum digunakan. Tutorial ini akan menunjukkan cara menggunakannya.
Kode Komentar
Sebelum Anda memasukkan kode apa pun, Anda harus mendokumentasikan apa yang telah dilakukan. Anda mungkin tahu apa yang Anda lakukan sekarang, tetapi sebulan dari sekarang adalah masalah yang berbeda. Selalu komentari kode sehingga ketika Anda kembali, Anda akan diingatkan mengapa Anda membuat kode sesuatu.
Untuk file .vimrc, apa pun setelah kutipan ganda hingga akhir baris tidak digunakan. Oleh karena itu, Anda dapat meletakkan apa pun di sana untuk membantu Anda mengingat apa yang Anda lakukan.
1 |
set number "This turns on line numbering |
Sekarang Anda akan selalu tahu bahwa perintah set number berubah pada penomoran baris.
Opsi dan Variabel
Untuk mengaktifkan nomor baris dan penomoran relatif, Anda harus memasukkan ini ke file .vimrc:
1 |
set number "This turns on line numbering |
2 |
set relativenumber "This turns on relative numbering
|
Simpan itu dan Anda tidak perlu lagi memikirkannya. Setiap kali Vim membuka file, sekarang akan menunjukkan nomor baris relatif. Perintah set menetapkan opsi apa saja yang ada di Vim. Sebuah opsi dimatikan dengan mengatur opsi sebaliknya. Pilihan yang berlawanan adalah sama dengan opsi no di depan.
Gunakan yang berikut ini untuk mematikan penomoran baris dan penomoran relatif:
1 |
set nonumber "This turns off line numbering |
2 |
set norelativenumber "This turns off relative numbering
|
Jangan taruh kedua set ke file .vimrc. Itu akan menyalakannya dan mundur. Dalam sedikit, saya akan menunjukkan kepada Anda cara melakukannya dengan lebih terprogram.
Jika Anda sudah mengetahui keadaan opsi, toggling opsi adalah cara lain untuk mengatur opsi. Pilihan diaktifkan dengan meletakkan ! setelah nama opsi. Ini mengaktifkan / menonaktifkan opsi:
1 |
set number! "This toggles the value of number |
2 |
set relativienumber! "This toggles relative line numbers
|
Jika keadaan saat ini dari opsi diperlukan, gunakan ? setelah nama opsi. Di Vim, ketik:
1 |
set number?
|
Ini akan mengembalikan number. Ini memungkinkan Anda mengetahui keadaan opsi.
Jika Anda ingin mengubah jumlah kolom yang ditampilkan area nomor garis, Anda dapat mengatur numberWidth ke nilai. Berikut ini akan mengatur lebar kolom ke 4:
1 |
set numberwidth=4 "Set the line numbers to 4 spaces |
Cobalah dan lihat berapa banyak ruang yang Anda suka dan atur ke dalam file .vimrc.
Jika Anda membutuhkan variabel, variabel dibuat menggunakan pernyataan let. Sebagai contoh:
1 |
let name = "Richard Guay" "Set my name in to the name variable |
Ketika Anda menyimpannya di file .vimrc (tetapi menggunakan nama Anda sendiri), ia dapat ditampilkan dalam mode perintah dengan :echo name.



Opsi diperlakukan sebagai variabel dengan mengawali opsi dengan &. Pilihan dapat dicetak oleh:
1 |
:echo &numberwidth |
Perintah echo hanya untuk variabel, tetapi awalan opsi dengan & memberitahu Vim untuk memperlakukan opsi sebagai variabel. Ini memungkinkan Anda untuk menggunakan nilai opsi dalam matematika. Oleh karena itu, untuk menambah lebar area nomor garis satu dilakukan dengan menggunakan
1 |
:let &numberwidth = &numberwidth + 1
|
Sebuah echo &numberwidth sekarang harus menunjukkan 5.
Semua variabel memiliki ruang lingkupnya juga. Cakupan didefinisikan dengan huruf, :, dan nama variabel. Lingkup tidak terdefinisi diperlakukan sebagai ruang lingkup global. Cakupan yang berbeda adalah:
b: | Buffer scope — Hanya dapat digunakan dari dalam buffer saat ini |
w: | Window scope — Hanya tersedia dari jendela aktif |
t: | Tab page scope — Hanya tersedia di halaman tab |
g: | Global scope — tersedia di mana-mana |
l: | Local scope — tersedia secara lokal untuk fungsi yang ditentukan |
s: | Source scope — hanya tersedia di dalam file yang bersumber |
Sebuah: | Argument scope — hanya tersedia dalam fungsi |
v: | Global scope — digunakan untuk merujuk ke variabel yang ditentukan dan digunakan oleh Vim |
Definisi yang tepat untuk variabel nama menggunakan cakupan global adalah:
1 |
let g:name = "Richard Guay" "Set my name in to the name variable |
Mendapatkan informasi
Sekarang Anda tahu cara mengatur opsi dan variabel, Anda mungkin bertanya-tanya bagaimana Anda menemukan opsi yang berbeda. Pencarian web adalah salah satu pilihan, tetapi informasinya ada di Vim. Mengetik:
1 |
:set all |
Dan Vim akan menunjukkan setiap opsi dalam program. Mengetik :let dan masukkan akan menampilkan semua variabel.
perintah :help digunakan untuk mencari dokumentasi ekstensif yang dibangun ke Vim. Untuk keluar dari:help, gunakan :q. Dalam mode help, ini tidak keluar dari program, tetapi menempatkan editor ke mode normal.
Fungsi
Fungsi sangat berguna dalam file .vimrc. Karena file konfigurasi Vim menggunakan bahasa pemrograman penuh, saya akan mulai dari sini menyebut nama aslinya: VimScript.
Di VimScript, tentukan fungsi menggunakan:
1 |
function <function name>() |
2 |
<function body>
|
3 |
endfunc |
Saya suka penomoran dan penomoran relatif, tetapi terkadang Anda tidak ingin penomoran relatif. Mengetik string lengkap :set norelativenumber atau bahkan :set relativenumber! banyak mengetik. Fungsi untuk menyalakan dan mematikannya akan bagus.
1 |
function TRelative() |
2 |
set relativenumber!
|
3 |
endfunc |
Suatu fungsi dijalankan dengan perintah :call.
1 |
:call TRelative()
|
Perintah function tidak memungkinkan Anda untuk menimpa fungsi yang sudah didefinisikan. Jika fungsi itu sudah ditentukan di tempat lain atau Anda mencoba memuat ulang file lagi, Vim akan salah dan berhenti memproses file pada titik tersebut. Jika Anda menggunakan function! perintah, itu akan menimpa fungsi tanpa kesalahan. Ini adalah praktik pemrograman yang baik di VimScript untuk sebagian besar menggunakan function!.
Untuk mematikan semua penomoran, fungsi dapat dibuat untuk melakukan itu dan itu berlawanan. Tambahkan ini ke .vimrc:
1 |
function! NoNumber() |
2 |
set nonumber
|
3 |
set norelativenumber
|
4 |
endfunc |
5 |
|
6 |
function! Numbers() |
7 |
set number
|
8 |
set relativenumber
|
9 |
endfunc |
Untuk meneruskan parameter ke fungsi, Anda menempatkan nama variabel di dalam kurung. Sebagai contoh:
1 |
function! Hi( name ) |
2 |
echo "Hello" a:name |
3 |
endfunc |
Seperti yang Anda lihat, Anda harus memasukkan variabel yang merupakan argumen dari suatu fungsi. Ketika Anda memanggil fungsi sekarang dengan nama, Anda akan mendapatkan
1 |
:call Hi( "Richard" ) |
2 |
Hello Richard |
Pemetaan Kunci Dasar
Salah satu penggunaan yang paling penting untuk file konfigurasi adalah menyiapkan pemetaan kunci. Misalnya, Anda mengganti nomor relatif dan mematikannya secara keseluruhan. Daripada mengetik :call TRelative sepanjang waktu, hotkey jauh lebih cepat. Untuk melakukan itu, perintah map akan membantu.
1 |
map <c-t> :call TRelative()<cr>
|
Dengan baris ini di file .vimrc, Anda sekarang dapat mengetikkan Control-T dan penomoran relatif akan mengaktifkan dan menonaktifkan. Cobalah dengan membuat pemetaan untuk mengubah semua penomoran baris.
Peta kunci tidak hanya untuk mode normal, tetapi untuk setiap mode. Jika Anda awalan perintah dengan huruf pertama dari mode, itu akan memetakan kunci untuk mode itu. nmap juga memetakan untuk normal mode. peta vmap untuk visual mode. peta imap untuk insert mode.
Sekarang Anda tahu perintah ini, lupakan mereka. Perintah-perintah ini bisa berbahaya. Jika Anda memetakan ulang kunci lagi, itu akan menggunakan pemetaan baru dan dapat membuat simpul tak terbatas di pemetaan.
Untuk mencegah itu terjadi, Anda perlu menambahkan nore setelah mode dan sebelum peta. Oleh karena itu, nmap adalah nnoremap, vmap adalah vnoremap, dan imap adalah inoremap. Ini menggunakan pemetaan default untuk setiap perintah kunci yang Anda rujuk di makro. Ini jauh lebih aman untuk digunakan dalam file konfigurasi.
Kesimpulan
Dalam tutorial ini saya telah menunjukkan kepada Anda dasar-dasar pembuatan file konfigurasi Vim. Saya telah menunjukkan caranya kepada Anda: komentar file konfigurasi, set / unset opsi dan variabel, buat fungsi dasar, dan pintas keyboard pemetaan. Cara terbaik untuk mengingat adalah dengan berlatih.