Configurar acentos para o vim no cmder


0

Estou tendo problemas para conseguir que os sotaques funcionem vim debaixo cmder. eu abro vim e tente escrever uma letra acentuada como "á" ou "ñ" e ela não renderiza nada, mas caracteres não acentuados são escritos. Minhas .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 lançar bash dentro cmder e depois vim, personagens acentuados funcionam como esperado, mas eu prefiro não usar bash diretamente.

Como posso configurar o vim?

Respostas:


0

Eu encontrei uma solução usando bash mesmo que 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 forma diferente e eu não queria lançar bash manualmente, mas o bash pode ser configurado para ser o terminal padrão (também, o bash tem a vantagem de suportar a avaliação de comandos com backticks (por exemplo, comando muyargument`).

Para fazer isso, vá para Settings > Startup e abaixo Specified named task selecionar {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, no Commands entrada, defina o seguinte valor:

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

Reiniciar cmder e vim deve trabalhar com caracteres acentuados, se o seu .vimrc está definido para os valores na minha pergunta

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.