是否可以抽出一个函数并将其粘贴到一个单词上,以便它将该单词作为参数使用?例如,如果我有如何在一个单词上粘贴一个函数来包装它? (vim)
def foo(name):
pass
"John"
有没有什么办法可以粘贴foo
到"John"
从而得到foo("John")
是否可以抽出一个函数并将其粘贴到一个单词上,以便它将该单词作为参数使用?例如,如果我有如何在一个单词上粘贴一个函数来包装它? (vim)
def foo(name):
pass
"John"
有没有什么办法可以粘贴foo
到"John"
从而得到foo("John")
当然可以。你可以使用像这样的宏:
Yank: <Esc>`<"ayf(f)"by`>
Paste: B"aPE"bp
让我们解开它们。该猛拉宏假定你有功能选择并执行以下操作:
<Esc>
- 取消当前的选择`<
- 移动到最后选择的开始"ayf(
- 抽出文字达和包括右括号中的开括号“a”f)
- 移至右括号"by'>
- 抽出一切都交给最后选择结束到寄存器“B”的粘贴宏是简单得多:
B
- 移动到当前单词的开头"aP
- 在当前位置前面粘贴寄存器“a”的内容E
- 移动到当前单词的末尾"bp
在当前位置后粘贴寄存器“b”的内容如果是一次性的事情,你可以只使用一个宏:
:map q 0ifoo(^vESCA)^vESC
只需在您想要更改的每一行上点击“q”即可。 如果单词不在一行上,你必须要更聪明一点。
我实际上可以把我的头包裹在里面。谢谢! – puk 2012-02-24 03:28:07