O que poderia causar caracteres estranhos no Vim?

13

Eu tenho esse problema muito estranho no Vim usando o plugin da árvore NERD, onde, como você pode ver na foto, os personagens estão aparecendo muito estranhos. Onde há o ahat, ~ 3/4 deve ser | -. Eu configurei meu LANG para en_US e LC_ALL para en_US (no Arch linux) e estou usando a fonte Anonymous Pro, embora a mudança da fonte não faça diferença.

    
por Tanner 09.02.2012 / 05:46

7 respostas

6

Eu resolvi o problema. O que eu fiz para resolvê-lo:

  • Editado /etc/locale.gen to LC_ALL="en_US.UTF-8" em vez de LC_ALL="en_US"
  • Ran locale-gen como root
  • Ran locale -a , mostrou en_US.UTF-8 ; no entanto, locale mostrou LC_ALL ainda sendo en_US , então lembrei-me de ter exportado LC_ALL na minha .bashrc última noite tentando corrigir isso, então alterei meus LANG e LC_ALL para en_US.UTF-8
  • Recarregou o terminal, correu gvim , sucesso! É estranho, no entanto, ele está usando os caracteres da seta triangular agora, ao invés dos caracteres da caixa. Faz-me pensar que usa as caixas ISO-8859 e triângulos para UTF-8, o que me leva a suspeitar que eu possa ter problemas no futuro em algum outro programa. Eu vou consertar quando se trata disso.
por 09.02.2012 / 16:42
16

Este forro da scrooloose no este tópico corrigiu:

let g:NERDTreeDirArrows=0

Tente colocar isso no seu .vimrc

(veja também: a mesma resposta publicada aqui no Stack Overflow )

    
por 11.10.2012 / 21:45
3

Talvez isso não valha a pena, mas parece que funcionou para mim.

Alterei a linha em NERDTree.vim :

call s:initVariable("g:NERDTreeDirArrows", s:running_windows) 

(foi !s:running_windows antes)

Agora eu não vejo nenhum símbolo + , mas pelo menos os diretórios saltando funcionam dentro do vim. Estou no solaris e não acho que tenho acesso root.

    
por 02.04.2012 / 16:03
1

Minha mudança foi para remover negação booleana (personagem!). Aqui está um diff do git:

~/.vim/plugged/nerdtree/plugin]$ git diff NERD_tree.vim
diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim
index bbcc55f..6342b6c 100644
--- a/plugin/NERD_tree.vim
+++ b/plugin/NERD_tree.vim
@@ -66,7 +66,7 @@ call s:initVariable("g:NERDTreeShowHidden", 0)
 call s:initVariable("g:NERDTreeShowLineNumbers", 0)
 call s:initVariable("g:NERDTreeSortDirs", 1)

-if !nerdtree#runningWindows()
+if nerdtree#runningWindows()
     call s:initVariable("g:NERDTreeDirArrowExpandable", "--junk1-here--")
     call s:initVariable("g:NERDTreeDirArrowCollapsible", "--junk2-here--")
 else
    
por 26.03.2016 / 01:38
1

Adicionando valores explicitamente, às próximas 2 variáveis em .vimrc (config vim) resolvi o problema para mim:

let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'

Estes devem ser valores padrão, mas por alguma razão eles não foram configurados para mim no ubuntu / vim.

    
por 28.06.2016 / 17:02
1

Se o seu vimrc estiver alterando guicursor , tente remover essa linha. Outras variáveis que parecem causar / impedir estas são:

set guicursor= no vimrc
set t_Co= no vimrc
export TERM=xterm-256color no shell

    
por 11.07.2017 / 07:51
1

No meu caso, o problema estava relacionado ao problema de localidade. Solução:

  1. Definir valor:

    export LC_ALL="en_US.UTF-8"

  2. Executar o vim:

    vim

Veja os detalhes da questão locale aqui:

Não é possível definir LC_CTYPE como padrão localidade: Nenhum arquivo ou diretório desse tipo

    
por 06.04.2018 / 21:46