
Tengo problemas para que funcionen los acentos vim
en cmder
. Abro vim
e intento escribir una letra acentuada como "á" o "ñ" y no representa nada, pero se escriben caracteres no acentuados. Mi .vimrc
contiene lo siguiente:
" 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")
y está ubicado en %CMDERFOLDER%/config/.vimrc
. Además en la misma carpeta se coloca .bashrc
el siguiente contenido:
export LANG=es_ES.UTF-8
La salida de :set encoding?
es encoding=utf-8
. Si inicio bash
dentro cmder
y luego vim
, los caracteres acentuados funcionan como se esperaba, pero prefiero no usarlos bash
directamente.
¿Cómo puedo configurar vim?
Respuesta1
Encontré una solución usando bash
aunque dije que preferiría no usar bash
. La razón para no usarlo bash
se dio porque pensé que trataría mi sistema de archivos de Windows de manera diferente y no quería iniciarlo bash
manualmente, pero bash se puede configurar para que sea el terminal predeterminado (además, bash tiene la ventaja de admitir la evaluación de comandos con comillas invertidas (es decir, "comando muyargumento").
Para hacer esto, vaya a Settings > Startup
y debajo de Specified named task
seleccionar {bash ::bash}
y reiniciar cmder
. Debería ser suficiente. Si la tarea no existe, vaya Settings > Startup > Tasks
y haga clic en +
, establezca el nombre de la tarea, habilite la opción Default task for new console
y Taskbar jump lists
. Por último, en la Commands
entrada, establezca el siguiente valor:
cmd /c "%ConEmuDir%\..\git-for-windows\bin\bash --login -i"
Reiniciar cmder
y vim deberían funcionar con caracteres acentuados, si .vimrc
está configurado con los valores de mi pregunta