是否可以将一个函数拉出并将其粘贴到一个单词上,使其将该单词作为参数?例如,如果我有
def foo(name):
pass
"John"
我有什么方法可以将foo
粘贴到"John"
上,以便获得foo("John")
答案 0 :(得分:2)
当然可以。您可以使用以下宏:
Yank: <Esc>`<"ayf(f)"by`>
Paste: B"aPE"bp
让我们打开它们。 Yank 宏假定您已选择该功能并执行以下操作:
<Esc>
- 取消当前选择`<
- 移至上次选择的开头"ayf(
- 将开头括号内的文字放入并注册“a”f)
- 移至右括号"by'>
- 将所有内容在最后一次选择结束时拉入注册“b”粘贴宏更简单:
B
- 移至当前字词的开头"aP
- 在当前位置前粘贴注册“a”的内容E
- 移至当前字词"bp
在当前位置答案 1 :(得分:0)
如果是一次性的话,你可以使用一个宏:
:map q 0ifoo(^vESCA)^vESC
在您想要更改的每一行上点击“q”。 如果单词本身不在一条线上,你就必须更聪明一点。