最近有一篇文章非常的火:量子位:1700页数学笔记火了!全程敲代码,速度飞快易搜索,硬核小哥教你上手LaTeX+Vimzhuanlan.zhihu.com
讲的是一个小伙使用 Vim 插件 UltiSnip ,自定了很多代码片段来快速输入 LaTex 。
在 python 编程中有的时候写了一长串代码,结果发现需要在中间再加一个函数:
比如:
f1(f2(f3(f4(f5(x)))))
现在要在 f2 和 f3 中加一个函数 g 怎么办?
本文参考了这篇文章,实现了一些 python 中一个非常实用的代码片段。如图所示:
还有:
代码片段扩展形式:
a/functionname/ ---> functionname(a)
a/functionname, ---> functionname(a, )
a// ---> (a)
a/, ---> (a, )
a/] ---> [x for x in a if ]
f(a)g/ ---> g(f(a))
应用举例一:
比如原始代码为:
return a
现在希望能够在返回值的外面套一个函数 f
那么只要输入:
return a/f/
就会自动的转化为:
return f(a)
应用举例二:
a = np.matrix([1,2;3,4])
b = np.matrix([1,2;3,4])
a/np.dot,
就会自动转化为:
a = np.matrix([1,2;3,4])
b = np.matrix([1,2;3,4])
np.dot(a, )
应用举例三:
index = "10"
a = [1,2,3,4]
a[:index/int/]
就会自动转化为:
index = "10"
a = [1,2,3,4]
a[:int(index)]
对应的 snippet 我放到了GitHub 上:sillybun/zyt-snippetgithub.com
使用方式(建议使用vim-plug管理插件):
在 .vimrc 中加入:
Plug 'SirVer/ultisnips'
Plug 'sillybun/zyt-snippet'
运行:
:PlugInstall
即可~