我是 vim 和 vimscript 的新手,对这一切都很了解。
我正在尝试编写一个插件来复制 VVDocumenter 的行为对于 ruby 代码,因此,如果光标位于某个方法上并激活了插件,则它应该构建一个框架来记录它。
例如这段代码:
def method1(obj1, obj2)
// Code
end
应该生成以下评论:
#
#
# @param [] obj1
# @param [] obj2
# @return []
def method1(obj1, obj2)
// Code
end
我无法将完成插入到正确的列中,与定义 def 的级别相同。
任何帮助都会很棒!
谢谢
最佳答案
您可以在正常
模式下解决range
和ex
插入问题,如下所示:
1 def foo(params)
2 // code
3 end
处于正常
模式时:
:0,4:normal O# @param [] obj1
Vim
执行以下操作:
1 # @param [] obj1
2 # @param [] obj1
3 # @param [] obj1
4 # @param [] obj1
5 # @param [] obj1
6 def foo(params)
7 // code
8 end
解释 :0,4:normal O# @param [] obj1
- 从 0
到 4
行,插入 正常
模式O
(放在0
行之前)此文本# @param [] obj1
。
将其放入函数中(不确定,现在无法测试):
function! PutComments()
for lineno in range(a:firstline, a:lastline)
exec ":normal O# @param [] obj1"
endfor
endfunction
关于ruby - Vimscript 在行和列处附加字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24848265/