Ketika saya menulis teks bahasa Jerman yang berisi sesuatu seperti abücd
misalnya dan ke dw
depan, itu hanya akan menghapus ab
karena tidak menafsirkan ü
sebagai karakter kata.
Ketika saya mengedit reStructuredText, saya punya
iskeyword=38,42,43,45,47-58,60-62,64-90,97-122,_
Itu menjelaskan mengapa umlaut tidak ditandai, tetapi saya tidak mengerti dari mana asalnya. Ketika saya baru saja membuka gVim ini diatur ke
iskeyword=@,48-57,_,192-255
Dari mana datangnya ini?
set encoding=utf-8
dalam Anda.vimrc
..vim/vimrc
dan:set enc?
memberi sayautf-8
. Sama denganfenc
. Tetap saja tidak berhasil.:set iskeyword&
ituü
masih belum dikenali sebagai bagian dari sebuah kata?set iskeyword
). Itu harus seperti"@,48-57,_,128-167,224-235"
atau"@,48-57,_,192-255"
. Apakah Anda menggunakan Vim atau Vi? (nilai default di Vi ("@,48-57,_"
) tidak mengenali ü; nilai default di Vim baik-baik saja)iskeyword=@,48-57,_,192-255
. Ini secara ajaib bekerja dalam contoh Vim segar sekarang. Itu aneh, saya harus memperhatikannya lebih hati-hati.Jawaban:
The
@
karakter dalamiskeyword
meliputi semua karakter yangisalpha()
(C fungsi) adalah TRUE; dalam implementasi libc modern (20 tahun terakhir) ini juga mencari karakter unicode.iskeyword
Penggunaan kedua Anda97-122
(az) dan64-90
(AZ), yang tidak mencakup semua varian dengan berbagai diakritik (seperti umlaut / diaeresis / trema).Jadi solusinya adalah mengganti
97-122
dan64-90
dengan@
.Funky ini
iskeyword
berasal dari file sintaks LISP; yangrst
file sintaks mencakup sekelompok file sintaks lainnya untuk menyoroti blok kode.Untungnya Anda dapat mengatur bahasa mana yang akan dimasukkan dengan
g:rst_syntax_code_list
variabel. Standarnya adalah:Karena tidak mungkin Anda memerlukan penyorotan sintaksis LISP dalam file reStructuredText Anda, Anda mungkin bisa menghapusnya. Cukup tambahkan di mana saja di file vimrc Anda, jika sudah ditentukan, file sintaks akan menggunakan nilai itu alih-alih mendefinisikan sendiri.
Menurut pendapat saya, Anda mungkin ingin menggunakan:
Karena siapa yang tahu apa efek samping yang funky yang disebabkan oleh file sintaks lainnya ...
sumber
@
berdiri untuk karakter alfanumerik sangat membantu.Jika seseorang menyejajarkan tata bahasa dari bahasa lain dalam misalnya file penurunan harga, maka pengaturan bahasa tersebut tampaknya menimpa pengaturan untuk sintaks penurunan harga. Satu dapat memeriksa apakah itu yang terjadi menggunakan:
Untuk memperbaikinya, seseorang dapat mendefinisikan perintah otomatis untuk dijalankan setiap kali seseorang memasukkan file penurunan harga (dan mungkin juga bahasa lain):
Menempatkan ini di masalah saya
.vimrc
diperbaiki untuk saya. Saya menggunakanvim-pandoc
sintaks dan bahasa inline termasukracket
,python
,sh
dan beberapa. Saya pikir itu tidak perlu untuk mendefinisikan perintah otomatis untuk meninggalkan file penurunan harga, karena ketika Anda memasukkan file dari bahasa lain, file sintaks mereka harus mengatur kata kunci mereka, jika saya mengerti dengan benar.sumber