Configurar acentos para vim en cmder

Configurar acentos para vim en cmder

Tengo problemas para que funcionen los acentos vimen cmder. Abro vime intento escribir una letra acentuada como "á" o "ñ" y no representa nada, pero se escriben caracteres no acentuados. Mi .vimrccontiene 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 .bashrcel siguiente contenido:

export LANG=es_ES.UTF-8

La salida de :set encoding?es encoding=utf-8. Si inicio bashdentro cmdery luego vim, los caracteres acentuados funcionan como se esperaba, pero prefiero no usarlos bashdirectamente.

¿Cómo puedo configurar vim?

Respuesta1

Encontré una solución usando bashaunque dije que preferiría no usar bash. La razón para no usarlo bashse dio porque pensé que trataría mi sistema de archivos de Windows de manera diferente y no quería iniciarlo bashmanualmente, 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 > Startupy debajo de Specified named taskseleccionar {bash ::bash}y reiniciar cmder. Debería ser suficiente. Si la tarea no existe, vaya Settings > Startup > Tasksy haga clic en +, establezca el nombre de la tarea, habilite la opción Default task for new consoley Taskbar jump lists. Por último, en la Commandsentrada, establezca el siguiente valor:

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

Reiniciar cmdery vim deberían funcionar con caracteres acentuados, si .vimrcestá configurado con los valores de mi pregunta

información relacionada