我是vim中的新(bie)。我有以下映射来评论我的蟒蛇代码:vim评论/取消一个映射
nmap cc 0i#<ESC>
我想要有相同的映射来取消注释一行。我想我需要一个函数来检查该行的第一个字符。你知道我该怎么做这些技巧吗?
谢谢。
编辑:这是不一样的question,我不知道如何做到这一点,没有插件。
我是vim中的新(bie)。我有以下映射来评论我的蟒蛇代码:vim评论/取消一个映射
nmap cc 0i#<ESC>
我想要有相同的映射来取消注释一行。我想我需要一个函数来检查该行的第一个字符。你知道我该怎么做这些技巧吗?
谢谢。
编辑:这是不一样的question,我不知道如何做到这一点,没有插件。
你不应该试图自己实现这个(很差);这是一个解决的问题,你可以从几个好的插件中进行选择。请参阅Comment Lines according to a given filetype以获取插件列表。
作为一种学习体验,尝试映射是好的,但是。下面是一个使用:help map-expr
检查线路上发表评论的存在第一种方法:
nnoremap <expr> cc getline('.') =~# '^#' ? '0x' : '0i#<ESC>'
PS:You should use :noremap
;它使映射免于重映射和递归。
有这个plugin。这很好,他为很多语言工作。
请[找一个好评的插件](http://vimawesome.com/?q=comment)。另外请注意,'cc'已经被Vim用来改变整行(与'S'相同)。参见':h cc'。 –