Was bedeutet "<Bar>"?

23

Bei der Beantwortung einer Frage erwähnte ich die Verwendung einer normalen Tastenzuordnung, die unter vim.wikia.com zu finden ist. Während der Erklärung der Tastenbelegung wurde mir klar, dass ich keine Ahnung hatte, was das <Bar>bedeutet. Was heißt das?

Ich habe versucht, es durch eine Pipe |mit und ohne Leerzeichen vor, um und nach es zu ersetzen , aber jede hat meine .vimrcDatei mit der folgenden Fehlermeldung beschädigt:

Error detected while processing /home/bottomsc/.vimrc:
line  173:
E488: Trailing characters: :nohl<CR>
Christopher Bottoms
quelle

Antworten:

33

Es ist der Code für das Pipe - Zeichen : |. Die Pipe wird wie das Semikolon in C-Sprachen als Anweisungstrennzeichen verwendet. Sie können es nicht direkt in einem Mapping verwenden, da es das Ende des Mappings markiert. Daher muss stattdessen der Code verwendet werden.

Hiervon gibt es Ausnahmen, z. B. autocmd-Definitionen, bei denen der Balken die Aktionen von autocmd begrenzt, nicht jedoch die Definition selbst.

Von :help :bar:

'|' kann zum Trennen von Befehlen verwendet werden, sodass Sie mehrere Befehle in einer Zeile eingeben können. Wenn Sie '|' verwenden möchten In einem Argument muss ein '\' vorangestellt werden.

und von :help map_bar:

                                                            *map_bar*
Since the '|' character is used to separate a map command from the next
command, you will have to do something special to include  a '|' in {rhs}.
There are three methods:
   use       works when                    example      ~
   <Bar>     '<' is not in 'cpoptions'     :map _l :!ls <Bar> more^M
   \|        'b' is not in 'cpoptions'     :map _l :!ls \| more^M
   ^V|       always, in Vim and Vi         :map _l :!ls ^V| more^M
muru
quelle
6

Wenn Sie tippen

:help <Bar>

du wirst das lesen

<Bar>           vertical bar            |       124     <Bar>
Bernhard
quelle
4

Ich möchte hinzufügen , dass im normalen Modus, der |Befehl (die substituiert sein muss <bar>, \|oder ^V|während es Remapping, wie in anderen Antworten erwähnt) können Sie eine bestimmte Bildschirm Spalte in der aktuellen Zeile gehen.

Wenn Sie beispielsweise 5|Folgendes eingeben, wird die Spalte 5 angezeigt, wie in der folgenden Abbildung dargestellt:

Bildbeschreibung hier eingeben

Das |bedeutet das in vim standardmäßig.

ha7ilm
quelle