4 Stimmen

Wie kann man {Strg 0,-,=} Tasten in Vim zuordnen?

Das Layout meiner Tastatur (2. Reihe):

`1 ... 0-=Backspace

Ich möchte Funktionsaufrufe zuordnen Ctrl + 0 , - , = .

Dies ist die Funktion, die ich erstellt habe:

" it doesn't work
nnoremap <C-=>  :call IncFontSize(+1)<CR>

" it works
nnoremap <C-->  :call IncFontSize(-1)<CR>

" it doesn't work
nnoremap <C-0>  :call IncFontSize(0)<CR>

fun! IncFontSize(inc)
    if !exists('+guifont')
        return
    endif
    let s:defaultfont = 'Ubuntu Mono 12'
    if a:inc==0 || empty(&guifont)
        let &guifont = s:defaultfont
        return
    endif
    let &guifont = substitute(&guifont, '\d\+$', '\=submatch(0)+'.a:inc, '')
endfun

Wie kann ich Funktionsaufrufe diesen Tasten zuordnen?

8voto

Ingo Karkat Punkte 159961

Beachten Sie, dass im Befehlszeilenmodus, Ctrl - führt zu `^` aber Ctrl - 0 y Ctrl - = nichts bringen.

Aufgrund der Art und Weise, wie die Tastatureingabe intern gehandhabt wird, ist die Unterscheidung dieser und vieler anderer Tastenkombinationen (wie Ctrl + Letter vs. Ctrl + Shift + Letter ) ist heute leider nicht möglich, auch nicht im GVIM. Dies ist ein bekannter Schmerzpunkt und das Thema verschiedener Diskussionen auf vim_dev und dem IRC-Kanal #vim.

Einige Leute (vor allem Paul LeoNerd Evans) wollen das beheben (sogar für Konsolen-Vim in Terminals, die das unterstützen), und haben verschiedene Vorschläge gemacht, siehe. リンク

Aber bis heute haben sich noch keine Patches oder Freiwillige gemeldet, obwohl viele den Wunsch geäußert haben, dies in einer zukünftigen Vim 8 Hauptversion zu haben.

1voto

Zheng Kai Punkte 3311

http://vim.wikia.com/wiki/Fast_window_resizing_with_plus/minus_keys

einfach nur + y - kein Alias-Name

:nmap + :echo "hello world"<CR>

Ist es das, was Sie wollen?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X