如何在Vim中抽出整个街区?

时间:2009-10-07 13:10:07

标签: python vim

是否可以在Vim中抽取整个Python代码块?

defforif等块...

11 个答案:

答案 0 :(得分:23)

您可以使用y}抓取一个段落。如果你有一个空行,这将不会抽出所有方法。

答案 1 :(得分:8)

如果您想要除了{使用yi{(或yi})之外的所有内容。如果要包括花括号,请使用ya{(或ya})。

ia修饰符表示和所有中的

无论你在哪里,都要抓住一个词:yiw

要抽出括号的内容:yi);如果要包含它们,请使用ya(

您可以对"' yi"ya"yi'ya'执行相同操作。

当然,你不仅限于玩耍。您可以使用diw删除某个字词,也可以使用ciw等更改...等等...

答案 2 :(得分:8)

优秀的附加组件Python-mode包含一些key commands来导航类,方法和功能块。

  • 抽出一个方法: y a M (内部方法: y 中号

  • 抽课: y a C

还有其他方便的动作,比如从功能到功能(] ] )。有关详情,请参阅complete list of keys

答案 3 :(得分:4)

有一个vim附加脚本python_fn.vim,它作为其功能之一,具有一个键绑定,可以使用]v直观地选择一段Python代码。然后你可以照常用y猛拉它。

答案 4 :(得分:3)

我通常只使用视觉块模式。 Shift-V,移动,并突出显示突出显示的块。我只能在内存中保留这么多快捷方式:)

答案 5 :(得分:3)

  1. 按“V”
  2. 输入视线选择
  3. 完成选择块'y'
  4. 将其粘贴到“p”或“P”
  5. 的某处

答案 6 :(得分:3)

您可以将搜索与yank结合使用,因此如果您的功能以return retval结尾,则可以输入y/return retval

答案 7 :(得分:1)

我创建了一个名为spacebox的插件,它对所有行进行Visual选择,并且缩进与当前行相同或更多。

使用Python空格,您可以将光标放在defif下方的行上,然后发出命令:SpaceBox以选择“块”。< / p>

答案 8 :(得分:0)

使用za折叠该类,然后使用可视模式(V)选择折叠的类。这样您就不必滚动太多了。然后用y猛拉。当你完成时,再次用za展开课程。

答案 9 :(得分:0)

  1. 在.py文件中,按Esc
  2. shift V进入可视线路模式
  3. 使用向上和向下箭头键突出显示
  4. d删除所选行
  5. 转到要放置行的行,然后按p在一行后粘贴行或按shift P粘贴行
  6. 希望有所帮助。

答案 10 :(得分:0)

vim-indent-object效果很好。值得一试。