Bu iki komut arasındaki fark nedir?
set encoding=utf-8
set fileencoding=utf-8
Utf-8'i kullanmak istediğimde ikisini de ayarlamam gerekir mi?
Ayrıca, dosya kodlamasını set
veya ile ayarlamam gerekir setglobal
mi?
Bu iki komut arasındaki fark nedir?
set encoding=utf-8
set fileencoding=utf-8
Utf-8'i kullanmak istediğimde ikisini de ayarlamam gerekir mi?
Ayrıca, dosya kodlamasını set
veya ile ayarlamam gerekir setglobal
mi?
Yanıtlar:
İlk durumda , terminalde gösterilen
set encoding=utf-8
çıktı kodlamasını değiştireceksiniz .İkinci durumda
set fileencoding=utf-8
, yazılan dosyanın çıktı kodlamasını değiştireceksiniz .
@Dennis'in belirttiği gibi, her zaman çalışmak istiyorsanız her ikisini de ~ / .vimrc dosyanızda ayarlayabilirsiniz utf-8
.
Gönderen unicode çalışma hakkında VIM'in wiki
" vim'in karakterleri dahili olarakencoding
nasıl temsil edeceğini belirler . Utf-8, Unicode'un çoğu çeşidi için gereklidir."
" belirli bir dosyafileencoding
için kodlamayı ayarlar (yerelden arabelleğe);: setglobal varsayılan değeri ayarlar. Boş bir değer de kullanılabilir: varsayılan olarak 'kodlama' ile aynıdır. Veya ucs kodlamalarından birini ayarlamak isteyebilirsiniz, Aynı disk dosyasını, belirli karakter karışımınıza bağlı olarak daha büyük veya daha küçük hale getirebilir.Ayrıca, IIUC, utf-8 her zaman büyük endian'dır (önce yüksek bit), ucs ise büyük endian veya küçük endian olabilir, öyleyse kullanın, muhtemelen 'bomba' ayarlamanız gerekecektir (aşağıya bakın). "
vim -c "set encoding=utf-8" file.ext
.
.Vimrc dosyanızda 'fileencodings' değişkenini ayarlayabilirsiniz.
Bu, mevcut bir dosyayı düzenlemeye başlarken dikkate alınan karakter kodlamalarının bir listesidir. Bir dosya okunduğunda, Vim ilk bahsedilen karakter kodlamasını kullanmaya çalışır. Bir hata tespit edilirse, listedeki bir sonraki denenir. Çalışan bir kodlama bulunduğunda, 'dosya kodlama' buna ayarlanır. Tümü başarısız olursa, 'dosya kodlama' boş bir dizeye ayarlanır, bu da 'kodlama' değerinin kullanıldığı anlamına gelir.
Görmek :help filencodings
Sık sık örneğin cp1252 ile çalışıyorsanız, oraya ekleyebilirsiniz:
set fileencodings=ucs-bom,utf-8,cp1252,default,latin9