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
选择{bash ::bash}
并重新启动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
设置为我的问题中的值