如何添加快捷方式将变量打印到标准输出?

时间:2013-12-12 11:38:44

标签: vim

编码时,我想选择一个变量,并使用自定义快捷键自动添加如下所示的打印语句:

foo = 5
bar = foo * 5

如果我将光标放在条形图上并使用此快捷方式,我希望输出更改为:

foo = 5
bar = foo * 5
p "bar = #{bar}"

任何人都可以帮我根据文件类型(ruby,python,java等)将这个快捷方式添加到我的vimrc中吗?

2 个答案:

答案 0 :(得分:1)

片段就像类固醇上的内置:abbreviate一样,通常带有参数插入,镜像和内部多个停止。第一个非常着名(并且仍然广泛使用)的Vim插件之一是snipMate(受 TextMate 编辑器的启发);不幸的是,它不再维持;虽然有a fork。现代替代方案(虽然需要Python)是UltiSnips。还有更多内容,请参阅this list on the Vim Tips Wiki

有三件事要评估:第一,摘录引擎本身的功能,第二,作者或其他人提供的片段的质量和广度;第三,添加新片段是多么容易。

答案 1 :(得分:1)

function Print(p)
    let tmp = a:p.' "'.expand("<cword>").' = #{'.expand("<cword>").'}"'
    call append(line('.'), tmp)
endfunction

autocmd BufNewFile,BufRead *.py nmap <Leader>x :call Print("print")<CR>