2015-06-03 51 views
0

我是vim中的新(bie)。我有以下映射来评论我的蟒蛇代码:vim评论/取消一个映射

nmap cc 0i#<ESC> 

我想要有相同的映射来取消注释一行。我想我需要一个函数来检查该行的第一个字符。你知道我该怎么做这些技巧吗?

谢谢。

编辑:这是不一样的question,我不知道如何做到这一点,没有插件。

+1

请[找一个好评的插件](http://vimawesome.com/?q=comment)。另外请注意,'cc'已经被Vim用来改变整行(与'S'相同)。参见':h cc'。 –

回答

2

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


作为一种学习体验,尝试映射是好的,但是。下面是一个使用:help map-expr检查线路上发表评论的存在第一种方法:

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

PS:You should use :noremap;它使映射免于重映射和递归。

1

有这个plugin。这很好,他为很多语言工作。