vim:添加注释宏
维姆对我来说几乎是完美的。但是我仍然需要一个行注释和块注释特性,我想知道如何用python和javascript编写一个vimrc来实现这一点 没有加载项vim:添加注释宏,vim,Vim,维姆对我来说几乎是完美的。但是我仍然需要一个行注释和块注释特性,我想知道如何用python和javascript编写一个vimrc来实现这一点 没有加载项 t建议提供了一个与vim工作方式充分集成的操作员: 它支持的注释样式比前面提到的nerdcomment要少。如果您想要c样式的行注释(我认为在javascript中是合法的),可以在.vimrc中设置以下内容,它将注释掉光标(在正常模式下)当前所在的行 map \lo I/*<Esc>A*/<Esc> map\lo
t建议提供了一个与vim工作方式充分集成的操作员:
它支持的注释样式比前面提到的nerdcomment要少。如果您想要c样式的行注释(我认为在javascript中是合法的),可以在.vimrc中设置以下内容,它将注释掉光标(在正常模式下)当前所在的行
map \lo I/*<Esc>A*/<Esc>
map\loi/*A*/
如果需要python注释,可以执行以下操作:
map \lo I#<Esc>
map\loi#
如果只希望有一条语句,可以执行以下操作:
if match(expand("%:t"), ".py") != -1
map \lo I#<Esc>
else
map \lo I/*<Esc>A*/<Esc>
endif
如果匹配(展开(“%:t”),“.py”)!=-1.
映射\loi#
其他的
映射\loi/*A*/
恩迪夫
如果您正在编辑.py文件,则将使用#注释,否则将使用/*…*/评论
编辑:以下函数将通过检查文件类型,用适当的样式注释注释掉视觉上选定的块。然后可以将其映射到函数后面的vmap语句之类的简单语句
function! BlockComment(top,bottom)
" deal with filetypes that don't have block comments
let fileName = expand("%:t")
echo fileName
if fileName =~ "\.py" || fileName =~ "\.sh" || fileName =~ "\.pl"
execute "normal I# "
return
elseif fileName =~ "\.vim"
execute 'normal I" '
return
endif
" for c-style block comments (should work for javascript)
let topLine = line("'<")
" the + 1 is because we're inserting a new line above the top line
let bottomLine = line("'>") + 1
" this gets called as a range, so if we've already done it once we need to
" bail
let checkLine = getline(topLine - 1)
if (checkLine =~ '\/\*')
return
endif
let topString = "normal " . topLine . "GO/*"
let bottomString = "normal " . bottomLine . "Go*/"
execute topString
execute bottomString
endfunction
vmap <Leader>bco<CR> :call BlockComment()<CR>
函数!BlockComment(顶部、底部)
“处理没有块注释的文件类型
让fileName=展开(“%:t”)
回显文件名
如果文件名=~“\.py”| |文件名=~“\.sh”| |文件名=~“\.pl”
执行“正常I#”
返回
elseif fileName=~“\.vim”
执行“正常I”
返回
恩迪夫
“对于c风格的块注释(应适用于javascript)
让topLine=line(“”)+1
“这被称为一个范围,所以如果我们已经做了一次,我们需要这样做
“保释
让checkLine=getline(topLine-1)
如果(检查线=~'\/\*')
返回
恩迪夫
让topString=“normal”。topLine。“GO/*”
让bottomString=“normal”。底线。“Go*/”
执行上串
执行底部字符串
端功能
vmap bco:调用BlockComment()
忽略古怪的语法突出显示。语法高亮显示器似乎不支持vimscript。通过块注释功能,您的意思是选择一个具有视觉模式的块,然后在其周围放置块注释吗?还是什么?是的,选择一个具有视觉模式的块,然后放置块注释编辑我的答案以包含一个将启动的函数虽然OP特别要求提供行或块注释,但我想我应该提到这个vimrc-only脚本,它向函数中添加了类似javadoc的注释!你的意思是在光标行上进行注释,但是如何选择一个可视块并对其进行注释。我必须对此做一些研究…:)我在vimrc中添加了map,但是如何使用它?使用视觉模式选择一块文本,然后使用bco调用该函数。通常映射到\,而使用的是Enter。因此,当您选择了文本时,键入
\bco
,然后按Enter
就可以了。书呆子评论员是最好的选择。