vim注释/取消注释一个映射

时间:2015-06-03 15:54:44

标签: function vim mapping comments

我是vim的新人(bie)。我有以下映射来评论我的python代码:

nmap cc 0i#<ESC>

我想使用相同的映射取消注释一行。我想我需要一个函数来检查该行的第一个字符。你知道我怎么做的伎俩吗?

感谢。

编辑:它与question不一样,我想知道如何在没有插件的情况下做到这一点。

2 个答案:

答案 0 :(得分:2)

你不应该试图自己实现这个(很差);这是一个已解决的问题,您可以从几个好的插件中进行选择。有关插件的列表,请参阅Comment Lines according to a given filetype

作为一种学习经验,尝试映射很好。这是一种使用:help map-expr首先检查行是否存在评论的方法:

nnoremap <expr> cc getline('.') =~# '^#' ? '0x' : '0i#<ESC>'

PS:You should use :noremap;它使映射不受重映射和递归的影响。

答案 1 :(得分:1)

plugin。这非常好,他的语言很多。