Що означає `<Bar>`?


23

Відповідаючи на запитання лише зараз , я згадав про використання у звичайному режимі відображення клавіш, яке можна знайти на vim.wikia.com. В середині пояснення ключових карт я зрозумів, що не маю поняття, що <Bar>означає. Що це означає?

Я спробував замінити його на трубу |, з пробілами перед, навколо та після нього, але кожен зламав мій .vimrcфайл із таким повідомленням про помилку:

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

Відповіді:


33

Це код для символу труби : |. Труба використовується так, як крапка з комою використовується в мовах стилю С, як роздільник висловлювань. Ви не можете використовувати його безпосередньо для картографування, оскільки це вважатиметься позначенням кінця відображення. Отже, замість цього потрібно використовувати код.

З цього є винятки, такі як визначення autocmd, де смужка розмежовує дії autocmd, але не саме визначення.

Від :help :bar:

'|' можна використовувати для розділення команд, тому ви можете дати кілька команд в одному рядку. Якщо ви хочете використовувати "|" в аргументі передуйте цьому "\".

і від :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


4

Я хотів би додати , що в звичайному режимі, то |команда (яка повинна бути заміщена <bar>, \|або в ^V|той час як переотражения, як вказана в інших відповідях) дозволяє перейти до колонку конкретного екрану в поточному рядку.

Наприклад, введення тексту 5|перейде в стовпець 5 екрану, як на зображенні нижче:

введіть тут опис зображення

Ось що |означає за замовчуванням in vim.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.