`
shrek
  • 浏览: 75184 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
qja
社区版块
存档分类
最新评论

python写vim script 之 糗事百科

    博客分类:
  • vim
阅读更多
工作累了,难免想开点小差,弄点轻松的东西看看,又不能让老大发现
网上找了个 取糗事百科的 python 脚本,稍改了下,改成vim script,
这样编辑文件的时候,随便开个小差,在vim里就可以看了....


function! QiouShi()
python << EOF
import urllib
import urllib2
import vim
from xml.sax.saxutils import unescape
from BeautifulSoup import BeautifulSoup          # For processing HTML

def formalize(text):
    result = ''
    lines = text.split(u'\n')
    for line in lines:
        line = line.strip()
        if len(line) == 0:
            continue
        result += line + u'\n\n'
    return result

def grab():
  count = 0
  page=1
  url = "http://qiushibaike.com/qiushi/best/all/page/%d" % page
  data = urllib2.urlopen(url).readlines()
  soup = BeautifulSoup("".join(data))
  contents = soup.findAll('div', "content")
  stories = [str(text) for text in contents]
  for story in stories:
      count += 1
      minisoup = BeautifulSoup(story)
      text = ''.join([e for e in minisoup.recursiveChildGenerator() if isinstance(e, unicode)])
      text = urllib.unquote(unescape(text, {'&quot;':'"'}))
      text = formalize(text).encode("gbk")
      vim.current.buffer.append( '-' * 20 + " %05d " % count + '-' * 20  )
      for line in text.split("\n"):
        vim.current.buffer.append( line )
      vim.current.buffer.append("")

vim.current.buffer[:]=None
grab()
EOF
endfunction

command! -nargs=0 SzQiouShi :call QiouShi()

分享到:
评论

相关推荐

    python写vim script 之 山寨版 dbext

    Python写vim script之山寨版dbext,这个主题主要围绕如何使用Python语言来编写Vim插件,特别是构建一个类似于dbext的功能。dbext是Vim中一个非常实用的数据库扩展,它允许用户在Vim环境下直接操作数据库,执行SQL...

    笨方法学 Vim Script

    Vim Script 中的命令是其强大之处。它们允许你控制文本的操作,比如移动光标、删除文本、复制和粘贴等。例如,`:global` 命令可以用于在整个文件中执行特定操作,`:map` 命令则能创建自定义的键位映射,让复杂的编辑...

    Vimscript的经典教程

    在编程经验方面,虽然本书不是针对初学者,但如果读者之前没有编程经验,书中建议先学习一些基础的编程知识,比如通过阅读《笨方法学Python》等入门书籍,逐步建立编程思维,然后再来学习Vimscript将会更加容易上手...

    python+vim+win

    总的来说,"python+vim+win"的组合为Windows上的Python开发提供了一个强大且灵活的环境。Pythonwin提供了图形化编程和调试工具,而Vim则带来了高效且高度自定义的文本编辑体验。通过熟练掌握这两者,开发者可以在...

    Python-Pythonmode将Vim变成PythonIDE的一款多合一插件

    Python-mode是针对Vim文本编辑器的一个强大插件,它将Vim转换为一个功能丰富的Python集成开发环境(IDE)。这个插件集成了多种实用功能,以提高Python开发者在Vim中的工作效率。以下是对该插件及其功能的详细说明: ...

    python.vim

    python.vim_3.3

    Learn Vimscript the Hard Way

    《Learn Vimscript the Hard Way》是一本专门为那些希望通过实践学习Vimscript编程语言的读者而设计的书籍。Vimscript是Vim编辑器的核心语言,它允许用户自定义编辑器的行为,提高工作效率,并实现复杂的文本操作。...

    python.vim插件.zip

    Python.vim是一个专门为Python开发设计的Vim编辑器插件,它增强了Vim对Python代码的支持,提供了诸如语法高亮、自动完成、代码折叠、跳转到定义等实用功能,极大地提高了Python程序员在Vim环境中的开发效率。...

    mac下vim之python配置步骤

    Mac 下 Vim 之 Python 配置步骤 Vim 是一款功能强大且灵活的文本编辑器,广泛应用于编程、文档编辑等领域。Python 是一种广泛使用的编程语言,广泛应用于人工智能、数据分析、Web 开发等领域。下面我们将介绍如何在...

    基于Vim Script和Shell、Python的Vimplus自动配置程序设计源码

    整体而言,本项目通过集合Vim Script、Shell、Python的编程能力,为Vim用户提供了一套完整的自动化配置方案。它不仅能够帮助用户高效地设置和管理Vim配置,而且还能够适应不同用户的需求,提供个性化的编辑器体验。...

    基于Vim Script的Java、Python、JavaScript、Shell多语言支持设计源码

    Vim的强大之处不仅在于其高度的可定制性,还在于Vim Script,这是一种专门用于扩展Vim功能的脚本语言。借助Vim Script,程序员可以编写出能够支持多种编程语言的插件或脚本,从而实现更加高效和舒适的编程体验。 本...

    Python-Vimapt是一个vim包管理器

    **Python-Vimapt:Vim的强大包管理器** 在编程世界中,包管理器对于组织、安装和更新软件包至关重要,它们简化了开发者的工作流程。在 Vim 编辑器领域,Vimapt 是一个非常实用的包管理工具,它借鉴了 Ubuntu 的 APT...

    基于Vim Script的Java、Python、JavaScript、Shell编程设计源码PowerVim

    Vim Script是一种强大的脚本语言,它能够为Vim文本编辑器提供高度定制化的功能,因此在PowerVim项目中,开发者可以利用Vim Script来实现各种与编辑器集成的开发工具和功能。 项目中包含了总计740个文件,这表明该...

    Learn_Vimscript_the_Hard_Way.mobi

    learn vimscript the hard way的mobi版。方便用kindle来离线阅读。

    Python-一个Vim配色方案colorscheme

    本主题将深入探讨“Python-一个Vim配色方案colorscheme”,这是一个专为Python开发优化的Vim颜色主题。 首先,让我们来理解什么是Vim的颜色方案(color scheme)。Vim的颜色方案是编辑器界面的视觉风格,它定义了代码...

    基于Vim编辑器的Vim Script编程功能设计源码

    本项目是基于Vim编辑器的一个开发项目,名为“基于Vim编辑器的Vim Script编程功能设计源码”,旨在通过Vim Script编程语言来扩展Vim编辑器的功能。 Vim Script是Vim编辑器的内置脚本语言,用于编写插件和自定义功能...

    Python_Vim的协完成引擎.zip

    YCM 包含了 Clang 对 C/C++/Objective-C 支持,以及对 Python 的 Jedi 引擎支持,这些都让它成为 Vim 用户的必备工具之一。 要安装 YouCompleteMe,首先你需要确保你的 Vim 已经安装了 Python 支持。在大多数现代 ...

    vim plugin (python)

    包中包括: python.vim pythoncomplete.vim nerdtree.zip vim-autocomplpop.zip 四个插件及vim官网中对应的说明。 送给那些不能上官网的青年。

Global site tag (gtag.js) - Google Analytics