Yanıtlar:
Dosya kodlama ayarı mevcut tamponun kodlamasını gösterir:
:set fileencoding
fileencoding=utf8
Bir düz metin dosyasının kodlamasını belirlemenin yaygın bir yolu yoktur, çünkü bu bilgiler dosyanın kendisine kaydedilmez - Kodlamayı gösteren BOM adlı UTF-8 Dosyaları hariç. Bu nedenle xml ve html dosyalarının karakter kümesi meta etiketleri vardır.
'Kodlama' ayarıyla belirli bir kodlamayı zorlayabilirsiniz. Bkz :help encodingve :help fileencodingeditör bu ayarları nasıl işleyeceğini için Vim. Ayrıca, listelenenleri temel alarak tespit etmeye çalışacak şekilde, vimrc'nize birkaç dosya kodlama ayarı ekleyebilirsiniz.
Dosyaların kodlamasının, bir dosyanın hiçbir yerinde açıkça belirtilmediğini unutmayın . Bu nedenle, VIM ve diğer uygulamalar kodlamada tahmin etmelidir. Bunu yapmanın kurallı yolu, chardetVIM içinden şu şekilde çalıştırılabilen uygulama iledir:
:!chardet %
Jtimberman tarafından verilen cevap , diskteki dosya ile aynı olmayabilir geçerli arabellek kodlamasını gösterir . Bu nedenle, chardetbazen, her zaman belirli bir kodlamayı kullanmak için yapılandırılmış VIM'iniz varsa (örneğin UTF-8), VIM'den farklı bir kodlama göstereceğini fark edeceksiniz .
Güzel olan şey chardet, tahmininde bir güven puanı vermesidir; oysa VIM \ x7F (ASCII 127) 'nin üzerinde çok fazla karakter yoksa kodlama tahmininde yanlış olabilir (ve çoğu zaman). Örneğin, אuzun bir PHP kod dosyasına bir tane eklemek chardet, dosyanın ISO-8859-20.72 güvende olduğunu düşündürür , biraz daha uzun olan bir ifade eklemek ise שלום, עולם!UTF-8'e 0.99 güven puanı verir. Her iki durumda da set fileencoding?gösterdi UTF-8diskteki dosya UTF-8 olduğu için değil, fakat VIM içten UTF-8 kullanmak üzere yapılandırıldığı için.
chardet <file>. Yine de, iyi öneri.
Bunu buldum: https://vim.fandom.com/wiki/Reloading_a_file_using_a_different_encoding
Vim doğru kodlamayı tespit edemiyorsa, farklı bir kodlama kullanarak bir dosyayı yeniden yükleyebilirsiniz:
:e ++enc=<encoding>
nerede encodingolabilircp850, ISO-8859-1, UTF-8, ...
Dotancohen tarafından önerilen file yourfilenamekodlamayı bulmak chardetect( python-chardetveya uchardetLinux dağıtımınıza göre veya bunlara bağlı olarak) bulmak için kullanabilirsiniz .