没有任何插件是可能的吗?或者编辑python文件的最佳插件是什么?
lnvxswe21#
尝试vis以可视化选择和o以跳过边缘
vis
o
voj3qocg2#
我做这件事的方式并不特定于函数。它只会选择一个连续的Python代码块:v]](如果要选择的内容位于光标下方)v[[,如果它在光标上方。如果光标位于要选择的代码块的第一行,则只需删除一个方括号。
v]]
v[[
643ylb083#
有了这个插件https://github.com/bps/vim-textobj-python,你可以选择,删除,更改等:
af: a function if: inner function ac: a class ic: inner class
7cjasjjr4#
我通常根据需要使用vip或以上任何一种,不要忘记您可以随时选择up(i.例如,down =))到下一次出现,使用v/match(然后按Enter确认,可能n表示下一次)。对于python,可以查找下一个def或return(ret通常就足够了)。这不是一开始最快的,但它是非常通用的,使用它在任何语言和外部编码(md,latex等)。).
vip
v/match
def
return
e4yzc0pl5#
我想你的意思是视觉上快速选择整个功能。一种方法是使用插件Indent text object(GitHub)。你可以使用vai来选择整个函数,只要你的光标在函数内部,并且只比它低一个缩进级别。如果你真的想要选择函数而不考虑缩进级别,我建议你阅读this并编写自己的文本对象。我想这会很容易,因为Python有def关键字来定义函数。
vai
3duebb1j6#
你必须使用omnicompletion for vim7,但它只适用于vim-nox,vim-gtk,vim-gnome或vim-athen也可以通过this page来使用python配置vim(自动indend,语法高亮和自动完成)
wfauudbj7#
我尽量避免视觉,因此对于像yank这样的动作,我倾向于转到段落的开头[[,yank直到结尾y]],然后返回^o。它是[[y]]^o(^代表控制)。对于视觉,您可以使用[[v]]或一些变体,如[[v][,[[v]m或[[v]M。
[[
y]]
^o
[[y]]^o
^
[[v]]
[[v][
[[v]m
[[v]M
6mw9ycah8#
如果你的函数很长或者有很多空行,那么使用v}}...}}d会很慢。我发现的最快的方法(没有插件)是zc2dd。命令zc关闭光标下的折叠,因此如果您在函数声明或最外缩进级别的任何行,整个函数将折叠。然后2dd(或者3dd,如果你的函数前后有两个空行的话)将删除整个东西。
v}}...}}d
zc2dd
zc
2dd
3dd
8条答案
按热度按时间lnvxswe21#
尝试
vis
以可视化选择和o
以跳过边缘voj3qocg2#
我做这件事的方式并不特定于函数。它只会选择一个连续的Python代码块:
v]]
(如果要选择的内容位于光标下方)v[[
,如果它在光标上方。如果光标位于要选择的代码块的第一行,则只需删除一个方括号。
643ylb083#
有了这个插件https://github.com/bps/vim-textobj-python,你可以选择,删除,更改等:
7cjasjjr4#
我通常根据需要使用
vip
或以上任何一种,不要忘记您可以随时选择up(i.例如,down =))到下一次出现,使用v/match
(然后按Enter确认,可能n表示下一次)。对于python,可以查找下一个def
或return
(ret通常就足够了)。这不是一开始最快的,但它是非常通用的,使用它在任何语言和外部编码(md,latex等)。).
e4yzc0pl5#
我想你的意思是视觉上快速选择整个功能。一种方法是使用插件Indent text object(GitHub)。你可以使用
vai
来选择整个函数,只要你的光标在函数内部,并且只比它低一个缩进级别。如果你真的想要选择函数而不考虑缩进级别,我建议你阅读this并编写自己的文本对象。我想这会很容易,因为Python有def关键字来定义函数。
3duebb1j6#
你必须使用omnicompletion for vim7,但它只适用于vim-nox,vim-gtk,vim-gnome或vim-athen
也可以通过this page来使用python配置vim(自动indend,语法高亮和自动完成)
wfauudbj7#
我尽量避免视觉,因此对于像yank这样的动作,我倾向于转到段落的开头
[[
,yank直到结尾y]]
,然后返回^o
。它是[[y]]^o
(^
代表控制)。对于视觉,您可以使用
[[v]]
或一些变体,如[[v][
,[[v]m
或[[v]M
。6mw9ycah8#
如果你的函数很长或者有很多空行,那么使用
v}}...}}d
会很慢。我发现的最快的方法(没有插件)是
zc2dd
。命令zc
关闭光标下的折叠,因此如果您在函数声明或最外缩进级别的任何行,整个函数将折叠。然后2dd
(或者3dd
,如果你的函数前后有两个空行的话)将删除整个东西。