Ich habe irgendwo im Web jemanden gesehen Ctrl-J
, der diese Zuordnung verwendet, und da ich sie nicht kannte, habe ich in dem entsprechenden Dokument nachgeschlagen und Folgendes gefunden:
j or
<Down> or
CTRL-J or
<NL> or
CTRL-N [count] lines downward linewise.
Was mich zu mehreren Fragen führt:
- Was ist
<NL>
: Ich würde es als ein Äquivalent von sehen,<CR>
da Drücken Enterim normalen Modus standardmäßig eine Zeile nach unten geht, aber warum ist es<NL>
hier und nicht hier<CR>
? - Was ist der Unterschied zwischen diesen Zuordnungen : Gehen alle diese 5 Optionen auf die gleiche Weise eine Zeile nach unten? Nach meinen Tests würde ich mit Ja antworten, aber das würde zu meiner nächsten Frage führen.
- Warum gibt es 5 Mappings, die genau dasselbe tun : Ich kann das verstehen
j
und werde<down>
für Benutzer aufbewahrt, die nicht an Vim-Mappings gewöhnt sind, aber warum gibt es die anderen Mappings? - Wann ist es interessanter, eines mehr als das andere zu verwenden ? Dies ist eine Fortsetzung der vorherigen Frage: Wenn es so viele Möglichkeiten gibt, haben sie vermutlich unterschiedliche Vorteile oder sind in bestimmten Anwendungsfällen besser zu verwenden. Was sind diese Anwendungsfälle?
Ich finde die Redundanz dieser Befehle noch seltsamer , wenn ich sehe :h k
: es gibt nur drei Möglichkeiten zu gehen: k
, <UP>
und ctrl-p
. Die Bonusfrage lautet also: Warum gibt es 5 Möglichkeiten, runter und nur 3 Möglichkeiten, rauf zu gehen?
cursor-movement
statox
quelle
quelle
Ctrl-J
? Zumindest unter denen, die ich kenne, scheint es üblich zu sein,Ctrl-J/K
"bis zur nächsten Zeile mit der gleichen Einrückungsstufe wie die Startzeile nach unten / oben" abzubilden .<CR>
hier sind"Antworten:
Interessant, dass Sie erwähnt haben
<CR>
.<CR>
oder Wagenrücklauf, technisch verwendet, um an den Anfang der Linie zu gehen .<NL>
oder newline aka line feed (normalerweise genanntLF
), wurde verwendet, um zur nächsten Zeile zu gehen . Im Laufe der Zeit ging die Unterscheidung in den meisten Anwendungen verloren. 1 Wenn Sie Entertatsächlich drücken, wird in der Regel ein Wagenrücklauf ausgegeben (versuchen Sie es mit CtrlVEnter- dies sollte^M
in Unix-Terminals angezeigt werden).<NL>
's Steuercode ist CtrlJ.CtrlNüberraschte mich. Laut 2 handelt es sich um ein Verschiebungszeichen :
man ascii
Das Ein- und Ausblenden von Zeichen laut Wikipedia :
Wie es dazu kam, dass es bedeutete, unterzugehen, ist mir ein Rätsel.
Nun, die drei Wege nach oben haben alle entsprechende Wege nach unten. ( CtrlPVermutlich handelt es sich um die Ergänzung von CtrlN, was impliziert, dass das Ein- / Ausschalten hier nicht relevant ist). Die zusätzlichen zwei Wege nach unten (
<NL>
oder CtrlJ) sind eigentlich zwei Darstellungen des gleichen Weges.<NL>
ist ein Erbe aus der Zeit der Schreibmaschine - und in diesen Tagen gab es meines Erachtens keinen Schlüssel, um nach oben zu gehen - nur, um nach unten zu gehen.Siehe auch:
1 In einigen Fällen ist es immer noch wichtig (Drucken
\r
(Wagenrücklauf) und\n
(Zeilenvorschub) unter Verwendung der meisten formatierten Druckfunktionen / -werkzeuge behalten die alte Bedeutung bei.).2 Diese Tabelle ist so angeordnet, dass das Alphabet dem Steuercode des Zeichens in derselben Zeile entspricht.
quelle
Ctrl-N
um das Nächste und esCtrl-P
ginge um das Vorherige . Dafür stehen sie jedenfalls in Emacs, in dem sie annext-line
und gebunden sindprevious-line
. AuchCtrl-P
ist nicht verschieben in ; Es ist Data Link Flucht . Shift in istCtrl-O
.Sehen
:help key-notation
.<NL>
bedeutet "Zeilenvorschub" und<CR>
bedeutet "Wagenrücklauf".Dies sind zwei verschiedene Möglichkeiten, um die aktuelle Zeile zu unterbrechen. Sie sind historisch an verschiedene Steuerzeichen (
ctrl-j
undctrl-m
) gebunden, werden jedoch normalerweise mit demselben Schlüssel eingefügt<CR>
. Ich bin damit einverstanden, dass die Verwendung<NL>
in diesem Zusammenhang nicht intuitiv erscheint.Alle diese "Zuordnungen" (sie sind eigentlich keine Zuordnungen) verhalten sich genauso.
Geschichte, meist auch plattformübergreifende Einschränkungen.
Es gab keine speziellen Bewegungstasten für Bill Joys Terminal, aber die Pfeiltasten waren mit Abziehbildern versehen
hjkl
. Da Modal-Editoren zu dieser Zeit selten waren, wurde beim Drücken dieser Tasten nur das zugehörige Zeichen in die von Ihnen ausgeführten Aktionen eingefügt. Sie haben zu drücken<C-h>
,<C-j>
,<C-k>
und<C-l>
den Cursor auf dem Bildschirm zu bewegen.Wie Sie sehen können, gibt es eine ganz Überlappung zwischen
j
,<C-j>
,<NL>
und<Down>
.<C-n>
Im Allgemeinen bedeutet es in Vim "nächstes", es ist leicht zu sehen, wie es mit seinen Kameraden zusammengewürfelt wurde.Da sie alle gleichbedeutend sind, können Sie diejenige verwenden, die für Sie am besten geeignet ist.
<CR>
Dies ist beispielsweise ein interessanter Schlüssel für Ihre eigenen Zuordnungen.quelle
<CR>
Mapping sehr zu. Noch eine Frage: Ich weiß, dass diese "Tastenkombinationen" eigentlich keine Zuordnungen heißen, bin mir aber nicht sicher, wie ich sie nennen soll?:ls
,:substitute
,new
, etc ...?x
ist auch ein "Befehl".x
,dd
,c
usw „Befehle“. Du musst also Recht haben, denke ich,j
oder es^J
sind auch Befehle.