在vim和emacs中,您是否有不同的想法/编写方式?
在我编写的许多脚本中,我经常以“函数式”的方式构造程序。也就是说,我一开始基本上定义了很多函数,然后应用这些函数。这将导致一系列嵌套函数调用,其中我键入:在vim和emacs中,您是否有不同的想法/编写方式?,vim,emacs,Vim,Emacs,在我编写的许多脚本中,我经常以“函数式”的方式构造程序。也就是说,我一开始基本上定义了很多函数,然后应用这些函数。这将导致一系列嵌套函数调用,其中我键入: 函数名 它的论点 下一个函数名 它的论点 ……等等 对于函数被“管道”连接在一起的情况,一个函数的输出是下一个函数的参数(通常是第一个,但不总是),其输出是下一个函数的参数,并且是无限的。在前缀表示法中,如果从左到右键入此序列,则键的移动可能会非常跳跃。例如,您将如何键入以下[Python]示例的第二行(~mul~是乘法,~truediv~是
from functional import foldr, compose, partial, flip
print(foldr(compose,add,(partial(mul,2),partial(flip(truediv),4)))(1,1))
我认为这是因为我将每个函数与它自己的参数相关联,并且更喜欢连续地键入它们,而不是在第一个函数的参数列表完成之前将参数填充到另一个函数中(从左到右键入第一个示例需要这样做)
我注意到了这一点,因为我已经是emacs用户很长时间了,直到最近才试用viper/vimpuse和vim。在emacs中,我可能会执行以下操作
如果您同时使用emacs和vim编程,您是否发现自己在每个编辑器中对程序和文本块的思考和构造都有所不同?我从1992年的好日子开始使用vi,现在从2001年开始使用emacs。在编写函数和代码块时,我没有注意到我的思维有任何不同。两位编辑都有自己的特点和做事方式,但他们的能力不足以改变你的思维方式和编程方式 我总是想办法去做我想做的事。我不会让编辑强迫我做我不想做的事情。当我对一段新代码进行程序化编程时,我使用了一种称为“一厢情愿”的技术,即:
你想象自己在一个完美的世界里,拥有你所需要的一切程序。您可以使用所有需要实现但目前只有原型的有用函数来编写算法。这类似于自上而下的方法。这应该是一个社区wiki。你说得对-谢谢。已更改。谢谢-是的,SICP。我想对于C或Fortran代码也是这样。你还突出了我的基本问题,那就是编辑是否会改变你的思维方式。。。
from functional import foldr, compose, partial, flip
print(foldr(compose,add,(partial(mul,2),partial(flip(truediv),4)))(1,1))