您好我正在尝试编写我的第一个vim脚本。我想编写一个函数,用于通过块或大括号注释掉PHP代码。
这是我想出来的,但我无法让它发挥作用:
:function Mycom()
:let b = line(".")
:echo "this is "b
// trying to grab the matching bracket, not sure wheather this is ok
:%
//keeps missing and going to end og file
:let e = line(".")
:echo "here is end" e
//here is where i want to comment out the block
:echo b,e s%^%//%
:endfunction
答案 0 :(得分:5)
:
- 除非你在Vim命令行中编写该函数,Vim会自动添加:
您。 (不过在文件中编写脚本会更好;这样就可以更容易地修改和测试。)"
(双引号)开头,而不是//
。%
或dd
,则可以使用normal! %
或normal! dd
。echo b,e s%...
无效。如果您想echo
该文字,请尝试echo b.','.e.' s%^%//%'
。另外,请考虑使用echom
代替echo
。由于echom
会将消息保存在消息历史记录中,因此您可以稍后使用:mess
重新阅读该消息。
PS 如果光标处于打开状态{
(我看到您尝试在脚本中使用%
),则可以使用
ctrl-v%I//<esc>