
У меня проблемы с тем, чтобы заставить работать акценты в vim
. cmder
Я открываю vim
и пытаюсь написать букву с акцентом, например "á" или "ñ", и ничего не отображается, но символы без акцента пишутся. Мой .vimrc
содержит следующее:
" 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")
и он находится в %CMDERFOLDER%/config/.vimrc
. Также в этой же папке находится .bashrc
со следующим содержимым:
export LANG=es_ES.UTF-8
Вывод :set encoding?
— encoding=utf-8
. Если я запускаю bash
внутри cmder
и затем vim
, символы с ударениями работают как и ожидалось, но я бы предпочел не использовать их bash
напрямую.
Как настроить vim?
решение1
Я нашел решение, используя , bash
хотя я сказал, что предпочел бы не использовать bash
. Причина не использовать bash
была указана, потому что я думал, что это будет обрабатывать мою файловую систему Windows по-другому, и я не хотел запускать bash
вручную, но bash можно сделать терминалом по умолчанию (кроме того, bash имеет преимущество поддержки оценки команд с обратными кавычками (т. е. `command muyargument`).
Для этого перейдите в Settings > Startup
и под Specified named task
select {bash ::bash}
и restart cmder
. Этого должно быть достаточно. Если задача не существует, перейдите в Settings > Startup > Tasks
и нажмите на +
, задайте имя задачи, включите опцию Default task for new console
и Taskbar jump lists
. Наконец, в Commands
поле ввода установите следующее значение:
cmd /c "%ConEmuDir%\..\git-for-windows\bin\bash --login -i"
Перезапустите cmder
и vim должен работать с диакритическими символами, если у вас .vimrc
установлены значения, указанные в моем вопросе.