13

我正在寻找像leaderp在 Macvim 中一样通过击键插入一行代码的方法

我想插入以下代码行:

import pdb; pdb.set_trace()

在 python 领域可能不是闻所未闻的代码行

4

4 回答 4

12

我会使用一个简单的映射(没有函数)到领导 p:

nnoremap <leader>p oimport pdb; pdb.set_trace()<Esc>

当按 o 时,进入插入模式,在当前行之后插入一个空行(带o),然后键入import pdb; pdb.set_trace(),最后返回正常模式(带Esq)。


如果要在当前行之前插入代码,请将 o 替换为 O:

nnoremap <leader>p Oimport pdb; pdb.set_trace()<Esc>

或者,您也可以将其设置为 leader shift-p:

nnoremap <leader><S-p> Oimport pdb; pdb.set_trace()<Esc>
于 2011-07-01T20:40:21.780 回答
6

为什么不试试vimpdb插件呢?或者,如果您正在寻找代码片段功能,那么supertabsnipmate插件的组合效果很好。

于 2011-07-01T12:22:03.687 回答
5

这可能不是最好的 vimscript,但它确实是你想要的!:-) 只要把它放在你的 .vimrc 中,你就可以用 leader p 调用它。

map <Leader>p :call InsertLine()<CR>

function! InsertLine()
  let trace = expand("import pdb; pdb.set_trace()")
  execute "normal o".trace
endfunction
于 2011-07-01T12:25:03.133 回答
2

使用寄存器?

将该行写在某处并将其复制到寄存器p,然后用于"pp打印

import pdb; pdb.set_trace()

"pY

"pp
import pdb; pdb.set_trace()

或使用缩写

:ab teh the
于 2011-07-01T12:18:15.237 回答