Acentos UTF-8 incorretos no vi / vim no OpenBSD 6.2

6

Após uma instalação padrão do OpenBSD 6.2 com o FVWM, eu abro um xterm na GUI do FVWM, com um usuário normal, crie um arquivo de teste:

$ echo 'árvíztűrő tükörfúrógép' > test.txt
$ echo 'ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP' >> test.txt
$ 
$ cat test.txt
árvíztűrő tükörfúrógép
ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP
$ 
$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_MESSAGES="C"
LC_ALL=
$ 
$ env | grep -i locale
XTERM_LOCALE=C
$ 

e o problema é que se eu abrir o testfile com o vi:

ecomvim,umpoucomelhor,masaindaproblemascommaiúsculasealgumasminúsculas:

Tentoudefinirtodasasvariáveisdelocalidadepara"hu_HU.UTF-8", mas não ajudou. o que estou perdendo?

De volta aos tempos antigos, afaik, havia "uxterm" para ter suporte a UTF-8, mas agora parece que ele não está mais no OpenBSD.

    
por Hessnov 31.12.2017 / 14:52

2 respostas

3

Se você se certificar de que está usando a localidade correta, poderá ver os caracteres corretos em vim e em nvi , mas não em vi .

$ LC_CTYPE=hu_HU.UTF-8 vim test.txt

ou

$ export LC_CTYPE=hu_HU.UTF-8
$ vim test.txt

Na verdade, funciona (em vim / nvi ) com o en_US.UTF-8 locale também. O vi do OpenBSD não é compatível com UTF-8.

IssofoitestadonoOpenBSD-current(pré-6.3)comovidosistemabase,bemcomocomvimenvidasportas.AimagemmostraoVimdasportasdoOpenBSD(vim-8.0.1255p0-no_x11)emexecuçãonoPuTTYdeumhostdoWindows,maseutesteicomêxitonoFVWMdoOpenBSDcomopadrãoxtermtambém.Alocalidadeéhu_HU.UTF-8naimagem.DefiniralocalidadecomoCforneceomesmoresultadoquevocêmostranapergunta.

Alocalidadecorretapodeserdefinidanoarquivo.xsession(ou.xinitrc,dependendosevocêfazloginapartirdexenodmouiniciaoX11comstartxnoconsole):

exportLC_ALL=en_US.UTF-8fwvm&wmpid=$!xterm&wait"$wmpid"

(ou algo similar)

Observe que a variável LC_ALL e / ou LC_CTYPE precisa ser exportada.

Em relação a uxterm : uxterm parece ter sido removido após o lançamento do OpenBSD 6.0.

A mensagem de commit (de seg, 24 out 2016 13:55:37) simplesmente lê

Stop providing the uxterm and koi8rxterm shell scripts.
Requested by schwarze@ agreed naddy@

Existe, no entanto, uma porta chamada rxvt-unicode que fornece o utilitário urxvt .

    
por 04.02.2018 / 15:57
1

A versão do vi do OpenBSD ainda não suporta o UTF-8. O Vim funcionará bem, mas você precisa de um terminal com suporte para UTF-8 e os locais corretos. Não me lembro de quantas localidades incluem o OpenBSD, então tente com en_US.UTF-8 as LC_CTYPE .

    
por 31.12.2017 / 19:55