使用python写vim插件

vim有各种强大的插件,这不仅归功于其提供的用来编写插件的脚本语言vimL,还得益于它良好的接口实现,从而支持python等语言编写插件。当vim编译时带有+python特性时就能使用python2.x编写插件,+python3则支持python3.x,可以使用vim --version来查看vim的编译特性。

要使用python接口,可以用:h python来查看vim提供的帮助文档,本文做一个简单的介绍。我们都知道在vim里可以执行bash命令,只需要:!command即可,那么vim里可以执行python语句吗?当然可以了,vim那么强大!

阅读全文

陷阱!python参数默认值

在stackoverflow上看到这样一个程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class demo_list:
def __init__(self, l=[]):
self.l = l

def add(self, ele):
self.l.append(ele)


def appender(ele):
obj = demo_list()
obj.add(ele)
print obj.l


if __name__ == "__main__":
for i in range(5):
appender(i)

输出结果是

阅读全文

Dash助手——任意html转换为Docset

作为一名程序员,最离不开的就是文档了,大多数情况下我们都是通过文档了解一个陌生的领域。想象一下,打开了一堆文档,在文档中跳来跳去,多么的不优雅!所以Bogdan Popescu一怒之下开发了dash,解放了太多在文档中跳来跳去的码农。

dash主要有以下特点:

  • 自带大量常用文档(iOS/Mac/PHP/Python/Java等)
  • 支持用户自定义文档(scrapy/requests/beautifulsoup等)
  • 快速搜索文档及 API
  • 管理和搜索代码片段
  • 无缝插入众多第三方应用(Alfred/Xcode/Terminal等)

dash界面左侧列出所有的文档,支持标签页和书签功能,在搜索框内通过输入关键字,可以查找相关的API、文档,并且响应速度非常快!下面先来一睹Dash芳容吧:

Dash界面

阅读全文