Configure acentos para vim no cmder

Configure acentos para vim no cmder

Estou tendo problemas para fazer com que os acentos funcionem vimem cmder. Abro vime tento escrever uma letra acentuada como "á" ou "ñ" e não rende nada, mas são escritos caracteres não acentuados. Meu .vimrcconté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 .bashrco seguinte conteúdo:

export LANG=es_ES.UTF-8

A saída de :set encoding?é encoding=utf-8. Se eu iniciar bashinside cmdere then vim, os caracteres acentuados funcionarão conforme o esperado, mas prefiro não usar bashdiretamente.

Como posso configurar o vim?

Responder1

Encontrei uma solução usando bashmesmo tendo dito que preferia não usar bash. A razão para não usar bashfoi dada porque pensei que trataria meu sistema de arquivos do Windows de maneira diferente e não queria iniciar bashmanualmente, mas o bash pode ser definido como o terminal padrão (além disso, o bash tem a vantagem de suportar a avaliação de comandos com crases (ou seja, `comando muyargument`).

Para fazer isso, vá para Settings > Startupe em Specified named taskselecionar {bash ::bash}e reiniciar cmder. Deve ser suficiente. Caso a tarefa não exista, acesse Settings > Startup > Taskse clique em +, defina o nome da tarefa, habilite a opção Default task for new consolee Taskbar jump lists. Por último, na Commandsentrada, defina o seguinte valor:

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

Reiniciar cmdere vim devem funcionar com caracteres acentuados, se você .vimrcestiver definido com os valores da minha pergunta

informação relacionada