Tcl ile Vim betik: kodlama uyuşmazlığı


0

Vim için Tcl'yi arka uç dili olarak kullanarak bir eklenti yazmaya çalışıyorum. Kodun çoğunu yazdım ve test ettim ve üstesinden gelemediğim bir engel dışında iyi iş gibi görünüyor: kodlama.

Acaba buradaki biri teste katılmak ister mi?

Bu satırlarla ~ / .vim / plugin / tcltest.tcl oluşturun:

proc tcl.test   {}  {
    array set CURSOR [[set ::vim::current(window)] cursor]
    lassign "$CURSOR(row) $CURSOR(column)" CR CC
    set bufferCommand [set ::vim::current(buffer)]

    set string "já não bênção"
    puts $string
    $bufferCommand set $CR $string
}

Sonra bu satırları ~ / .vimrc dosyasına ekleyin:

if has("tcl")
    tclfile ~/.vim/plugin/tcltest.tcl
endif
inoremap  ?   ^[:tcl tcl.test<CR>

Şimdi Vim'i yeni bir belge ile yeniden başlatın, Insert moduna geçin ve '?'

İki şey olmalı:

1) "já não bênção" dizgisinin mesaj alanında gösterilmesi gerekir.

2) "já não bênção" dizesi tampon belleğe eklenmelidir

Mesaj alanında iyi görünecek, ancak aksanlı karakterlerden dolayı tamponda tümü karışacaktır.

Tcl'de 'encoding' komutu var ve foreach döngüsünde TÜM olası kodlamaları denedim, ancak hiçbiri çalışmıyor.

Bunun bir hata olduğuna ikna oldum, çünkü dize en azından arabellek ve mesaj alanında aynı olmalıdır. Tcl kodumda yanlış bir şey yapsam bile, hata her iki yerde de yansıtılmalıdır.

Birisi lütfen bunu onaylayabilir (onaylamaz) veya Vim sürümünü ve işletim sistemi / platformunu rapor edebilir mi?


Burada iyi çalışıyor gibi görünüyor (tclfile el ile yüklendi ve eşleme eklendi). Debian kararsız, konsol, vim 7.3 1-923 Büyük yamalar.
Etan Reisner

1
Vim'de hangi kodlama ayarlarını yaptınız? Tüm 'çarpık' tam olarak ne anlama geliyor?
Etan Reisner

encoding = latin1, fileencoding = All Garbled, vurgulu karakterlerin dağınık olduğu, açıkça yanlış kodlamaya ayarlandığı anlamına gelir.

Bu kod setiyle birlikte çalıştığımda burada benim için çalışıyor gibi görünüyor, bu yüzden tam olarak ne gördüğünüzden emin değilim ama bu karakterler yasal latin1 karakterleri bile mi? Bunun hiç çalışması bekleniyor mu?
Etan Reisner

Evet, yasallar ama doğru değiller. "já não bênção", "já nà à o o £ o" olur. Neden çalışması beklenmiyordu ??? Mesaj alanı ve metin tamponunda çıktı neden aynı değil? En azından aynı olmalılar.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.