vimrc映射中的内联注释

时间:2014-07-12 19:57:58

标签: vim

(我已经向超级用户提出了同样的问题,但意识到这不是这个问题的合适页面)

我正在清理我的.vimrc配置,并注意到由于某些映射有注释(可维护性和将来参考),带映射的部分过于稀疏。

问题在于您无法在与映射相同的行上添加注释,因为它将被解释为右侧的延续。

当前状态示例(稀疏):

" Do foo
nmap <Leader>f :foo<Return>

" Do bar
nmap <Leader>b :bar<Return>

期望状态(错误!):

nmap <Leader>f :foo<Return>  " Do foo
nmap <Leader>b :bar<Return>  " Do bar

是否有一种很好的方法可以在与映射相同的行中包含注释?

2 个答案:

答案 0 :(得分:33)

您可以使用此方法,但请务必在|之前不要包含空格,因为它将成为映射的一部分:

nmap <Leader>f :foo<Return>|  " Do foo
nmap <Leader>b :bar<Return>|  " Do bar

|分隔 vim 中的命令,因此上面的行如下所示:

nmap <Leader>f :foo<Return>
" Do foo
nmap <Leader>b :bar<Return>
" Do bar

如果您想在映射中使用|字符,请参阅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

(here ^V stands for CTRL-V; to get one CTRL-V you have to type it twice; you
cannot use the <> notation "<C-V>" here).

All three work when you use the default setting for 'cpoptions'.

When 'b' is present in 'cpoptions', "\|" will be recognized as a mapping
ending in a '\' and then another command.  This is Vi compatible, but
illogical when compared to other commands.

答案 1 :(得分:5)

不,这是不可能的。

来自:help map-comments

  

在这些命令之后无法发表评论,因为'''   字符被认为是{lhs}或{rhs}。

的一部分