
Estou tendo problemas para fazer com que os acentos funcionem vim
em cmder
. Abro vim
e tento escrever uma letra acentuada como "á" ou "ñ" e não rende nada, mas são escritos caracteres não acentuados. 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
o seguinte conteúdo:
export LANG=es_ES.UTF-8
A saída de :set encoding?
é encoding=utf-8
. Se eu iniciar bash
inside cmder
e then vim
, os caracteres acentuados funcionarão conforme o esperado, mas prefiro não usar bash
diretamente.
Como posso configurar o vim?
Responder1
Encontrei uma solução usando bash
mesmo tendo dito que preferia não usar bash
. A razão para não usar bash
foi dada porque pensei que trataria meu sistema de arquivos do Windows de maneira diferente e não queria iniciar bash
manualmente, 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 > Startup
e em Specified named task
selecionar {bash ::bash}
e reiniciar cmder
. Deve ser suficiente. Caso a tarefa não exista, acesse Settings > Startup > Tasks
e clique em +
, defina o nome da tarefa, habilite a opção Default task for new console
e Taskbar jump lists
. Por último, na Commands
entrada, defina o seguinte valor:
cmd /c "%ConEmuDir%\..\git-for-windows\bin\bash --login -i"
Reiniciar cmder
e vim devem funcionar com caracteres acentuados, se você .vimrc
estiver definido com os valores da minha pergunta