Grundlegendes zur STRG-U-Kombination


19

In dieser Antwort stand ich dem CTRL-Uin Funktion verwendeten Aufruf nach :und vor dem eigentlichen Funktionsnamen gegenüber.

:nnoremap <buffer> <cr> :<C-U>call append('.', repeat([''],v:count1))<cr>

Folgendes sagt die Hilfe:

CTRL-U      Scroll window Upwards in the buffer.  The number of
            lines comes from the scroll option (default: half a
            screen).  If [count] given, first set the 'scroll'
            option to [count].

Ich habe es selbst ausprobiert und es hat funktioniert, wie ich angenommen habe. Aber ich habe den Teil über die scrollOption nicht ganz verstanden . Was bedeuten sie 'scroll' option?

Und außerdem macht es im Einfügemodus etwas Seltsames. Soweit ich verstanden habe, löscht es alles vom Cursor bis zum Zeilenanfang und verbindet dann die resultierende Zeile und die darüber liegende Zeile.

Antworten:


27

Help gibt standardmäßig alle Zuordnungen zurück, die für den normalen Modus gelten. Im normalen Modus wird <C-u> zwar ein Bildlauf nach oben ausgeführt, dies ist jedoch nicht das, woran wir interessiert sind. Um zu sehen, was <C-u>im Befehlszeilenmodus oder Cmode (dem Modus, in dem Sie Befehle eingeben , die mit einem Doppelpunkt beginnen) ausgeführt wird, suchen Sie:h c_CTRL-u

                            *c_CTRL-U*
CTRL-U      Remove all characters between the cursor position and
        the beginning of the line.  Previous versions of vim
        deleted all characters on the line.  If that is the
        preferred behavior, add the following to your .vimrc: >
            :cnoremap <C-U> <C-E><C-U>

Um zu verstehen, warum dies für ein Mapping im normalen Modus nützlich ist, entfernen Sie es, geben Sie etwas wie ein 5:und sehen Sie, was auf Sie zukommt. Sie sollten etwas sehen wie:

:.,.+4

Dies ist eine Reihe

Versuchen Sie nun zu tippen 5:<C-u>und sehen Sie, was auf Sie zukommt. Du solltest es einfach sehen

:

Ähnlich wie im visuellen Modus wird durch Drücken von :der Bereich eingefügt

:'<,'>

Deshalb sehen Sie sehr häufig Abbildungen wie:

nnoremap foo :<C-u>bar

oder

xnoremap foo :<C-u>bar
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.