
Ich habe Probleme, Akzente in vim
unter zu verwenden cmder
. Ich öffne vim
und versuche, einen Akzentbuchstaben wie „á“ oder „ñ“ zu schreiben, aber es wird nichts ausgegeben, aber Buchstaben ohne Akzent werden geschrieben. Mein .vimrc
enthält Folgendes:
" 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")
und es befindet sich in %CMDERFOLDER%/config/.vimrc
. Im selben Ordner befindet sich außerdem .bashrc
Folgendes mit folgendem Inhalt:
export LANG=es_ES.UTF-8
Die Ausgabe von :set encoding?
ist encoding=utf-8
. Wenn ich bash
innerhalb von cmder
und dann starte vim
, funktionieren Akzentzeichen wie erwartet, aber ich möchte sie lieber nicht bash
direkt verwenden.
Wie kann ich vim konfigurieren?
Antwort1
Ich habe eine Lösung gefunden, bash
obwohl ich gesagt habe, dass ich sie lieber nicht verwenden würde bash
. Als Grund bash
dafür habe ich angegeben, dass es mein Windows-Dateisystem anders behandeln würde und ich es nicht bash
manuell starten wollte, aber Bash kann als Standardterminal festgelegt werden (außerdem hat Bash den Vorteil, dass es die Befehlsauswertung mit Backticks unterstützt (d. h. `command muyargument`).
Gehen Sie dazu auf und wählen Sie Settings > Startup
unter Specified named task
„ {bash ::bash}
Neustart“ aus cmder
. Das sollte ausreichen. Wenn die Aufgabe nicht existiert, gehen Sie auf Settings > Startup > Tasks
und klicken Sie auf +
, legen Sie den Aufgabennamen fest, aktivieren Sie die Option Default task for new console
und Taskbar jump lists
. Zuletzt Commands
legen Sie in der Eingabe folgenden Wert fest:
cmd /c "%ConEmuDir%\..\git-for-windows\bin\bash --login -i"
Neustart cmder
und vim sollten mit Akzentzeichen funktionieren, wenn Ihr .vimrc
auf die Werte in meiner Frage eingestellt ist