Configure os acentos para o vim no cmder

0

Estou com problemas para que os acentos funcionem em vim em cmder . Eu abro vim e tento escrever uma letra acentuada como "á" ou "ñ" e ela não renderiza nada, mas caracteres não acentuados são escritos. Meu .vimrc contém o seguinte:

" Setting some decent VIM settings for programming

syntax on
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set expandtab
set encoding=utf-8

" Show EOL type and last modified timestamp, right after the filename
set statusline=%<%F%h%m%r\ [%{&ff}]\ (%{strftime(\"%H:%M\ %d/%m/%Y\",getftime(expand(\"%:p\")))})%=%l,%c%V\ %P

"------------------------------------------------------------------------------
" Only do this part when compiled with support for autocommands.
if has("autocmd")
    "Set UTF-8 as the default encoding for commit messages
    autocmd BufReadPre COMMIT_EDITMSG,git-rebase-todo setlocal fileencodings=utf-8

    "Remember the positions in files with some git-specific exceptions"
    autocmd BufReadPost *
      \ if line("'\"") > 0 && line("'\"") <= line("$")
      \           && expand("%") !~ "COMMIT_EDITMSG"
      \           && expand("%") !~ "ADD_EDIT.patch"
      \           && expand("%") !~ "addp-hunk-edit.diff"
      \           && expand("%") !~ "git-rebase-todo" |
      \   exe "normal g'\"" |
      \ endif

      autocmd BufNewFile,BufRead *.patch set filetype=diff
      autocmd BufNewFile,BufRead *.diff set filetype=diff

      autocmd Syntax diff
      \ highlight WhiteSpaceEOL ctermbg=red |
      \ match WhiteSpaceEOL /\(^+.*\)\@<=\s\+$/

      autocmd Syntax gitcommit setlocal textwidth=74
endif " has("autocmd")

e está localizado em %CMDERFOLDER%/config/.vimrc . Também na mesma pasta é colocado .bashrc com o seguinte conteúdo:

export LANG=es_ES.UTF-8

A saída de :set encoding? é encoding=utf-8 . Se eu iniciar bash dentro de cmder e, em seguida, vim , os caracteres acentuados funcionarão como esperado, mas prefiro não usar bash diretamente.

Como posso configurar o vim?

    
por mrbolichi 22.08.2018 / 13:52

1 resposta

0

Eu encontrei uma solução usando bash , embora eu tenha dito que preferia não usar bash . O motivo para não usar bash foi dado porque eu pensei que iria tratar o meu sistema de arquivos do Windows de maneira diferente e eu não queria lançar bash manualmente, mas o bash pode ser configurado para ser o terminal padrão. vantagem de apoiar a avaliação de comandos com backticks (ou seja, 'comando muyargument').

Para fazer isso, vá para Settings > Startup e em Specified named task select {bash ::bash} e reinicie cmder . Deve ser suficiente. Se a tarefa não existir, vá para Settings > Startup > Tasks e clique em + , defina o nome da tarefa, ative a opção Default task for new console e Taskbar jump lists . Por último, na entrada Commands , defina o seguinte valor:

cmd /c "%ConEmuDir%\..\git-for-windows\bin\bash --login -i"

Reinicie o cmder e o vim deve funcionar com caracteres acentuados, se o seu .vimrc estiver definido para os valores da minha pergunta

    
por 25.08.2018 / 13:56

Tags