`<Bar>`はどういう意味ですか?


23

ちょうど今の質問に答える際に、 vim.wikia.comにある通常モードのキーマッピングを使用することに言及しました。キーマッピングの説明の途中で、私は何を<Bar>意味するのかわからないことに気付きました。どういう意味ですか?

私はそれを|前後にスペースのあるパイプとパイプで置き換えようとしましたが、それぞれが.vimrc次のエラーメッセージでファイルを壊しました:

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

回答:


33

それはのためのコードだパイプ文字|。パイプは、Cスタイル言語でセミコロンがステートメント区切り文字として使用される方法で使用されます。マッピングの終わりを示すと見なされるため、マッピングで直接使用することはできません。したがって、代わりにコードを使用する必要があります。

これには例外があります(autocmd定義など)。バーはautocmdのアクションを区切りますが、定義自体は区切りません。

から:help :bar

「|」コマンドを区切るために使用できるため、1行で複数のコマンドを指定できます。「|」を使用する場合 引数では、「\」を前に付けます。

およびから: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に移動します。

ここに画像の説明を入力してください

それ|がvimのデフォルトの意味です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.