zoukankan      html  css  js  c++  java
  • TxtBrowser: 在Vim中高效处理纯文本

    TxtBrowser是一款Vim插件,旨在提供更好的txt浏览体验。主要功能有:为纯文本自动生成目录树侧边栏(taglist窗口)、语法高亮、多项扩展功能(执行url、网络搜索当前词等)。TxtBrowser由国内网友ypguo开发,近期更新活跃,并且解决了taglist.vim插件不能处理中文文件路径的问题,值得关注。
    TxtBrowser: 在Vim中高效处理纯文本。支持中文路径!

    一、TxtBrowser功能展示

      以下是功能简介,更多请参见作者介绍,以及官方下载包中的 txtbrowser.cnx 文件。
      上图展示了目录树功能,更多截屏参见此处

    1. 目录树侧边栏

      用Vim打开纯文本类型的文件(.txt 或 :se ft=txt),键入一条命令(:Tlist)或按下对应热键(可自定义,示例如下),会生成目录树侧边栏(即taglist窗口)。在目录栏点击相应标签,正文会相应跳转。
      目录栏的内容既包括正文目录,也包括图片目录、表格目录,并可进一步自定义。
      更新正文后,键入命令(:TlistUpdate)或按下对应热键(可自定义,示例如下),即可刷新目录栏。

    :nmap <silent> <F8> <ESC>:Tlist<RETURN>
    :noremap <silent> <F5> <ESC>:TlistUpdate<RETURN>

    2. 语法高亮

      纯文本也可以“多姿多彩”!TxtBrowser可以使关键文字高亮显示,突出显示标题、关键字、列举项。可以提高效率,愉悦心情。通过 :colorscheme colorname 命令,可以尝试不同的着色方案。

    3. 其他扩展功能

      * 把光标放到 URL上,执行 :TxtbrowserUrl (或 ←leader→g)打开所在处的URL,包括网址、各种文件(包括pdf、mp3等)、Email地址。
      * 把光标放到单词上,执行 :TxtbrowserWord (或 ←leader→f)打开网络字典查单词。
      * 把光标放到单词上,执行 :TxtbrowserSearch (或 ←leader→s)打开google搜索。

    二、TxtBrowser点评及与VOOF对比

    1. 对TxtBrowser的评价

      我认为,TxtBrowser是值得关注和支持的一款Vim扩展。推荐有需求的网友试用、使用。理由如下:
      * TxtBrowser立志要成为vim txt的集成解决方案,无论对编程人员查看技术文档,还是非编程人员记录笔记,都十分有益。
      * 作者ypguo系国内网友,诚心听取意见、积极更新程序。
      * 非常难得的是,作者从开始使用Vim到写出这款扩展竟然不到两年时间(via)。或许,这也反过来证明了vim的强大和作者的开发功力吧。

    2. TxtBrowser几项功能的内部比较

      TxtBrowser插件的最大亮点功能是目录侧边栏。这对于查看长篇技术文档,或自己做笔记,很有帮助。
      至于语法高亮和其他扩展功能,早已经在其他扩展中得以实现。用户可以把TxtBrowser作为txt的集大成解决方案,来使用这些功能。也可以进行自定义、修改,或选用更强大的专门扩展。

    3. TxtBrowser vs VOOF (更新)

    a. 从目录导航功能看,两者差别不大,但运行环境分别需要taglist和python。
      从目录导航功能来看,TxtBrowser与VOOF(主页介绍)算是同类。我认为两者的长处与短处都是相对的,大家可根据自己的需要进行选择。
      各有长短:TxtBrowser依赖ctags、taglist;VOOF依赖Python。
      TxtBrowser胜出:其标题行来自.ctags文件定义,默认是“数字打头,后跟标题”等这样的形式,不需额外标注。而VOOF需要手工增加{{{这样的标识符。
      速度与功能:似乎VOOF的Python更快一些(未做严格测试),并且VOOF可以通过目录栏对正文段落进行前后调整、级别调整。
      中文兼容:如果采用官方taglist.vim,则TxtBrowser在Windows下,当文件或路径中含有中文空格时,目录不能正常显示(Linux下正常)。但是,ypguo对taglist.vim进行了修正,解决了此问题。
    b. TxtBrowser附带了文本辅助功能,而VOOF则具备实用的节点管理功能
      TxtBrowser还具备txt语法高亮、快速打开url、搜索、翻译功能。但这些功能与目录功能实际上并无直接关系,也可以拆为两个扩展,或换用其他扩展实现。
      VOOF的优势则体现在节点管理上,VOOF的目录树不仅可以导航,也能进行节点操作。比如,节点位置的前后移动、提高或降低层级(默认是ctrl+方向键),这对资料库管理是非常实用的。
    c. 结论是 TxtBrowser适用于阅读txt;VOOF适用于管理txt资料库
      从实用选择角度,我认为这两款扩展面向的对象并不相同。TxtBrowser适用于阅读txt,尤其是他人的长文本;而VOOF适用于建立和管理自己的txt资料库,可以有很多节点,并不断调整其结构。

    三、安装及使用笔记

    重要说明:以下内容为xbeta试用当时的记录,有些地方不适用于后续版本TxtBrowser。比如,taglist插件出了修正版,.ctags文件不再需要……

      说明:编程人员对tag、ctags、taglist都很熟悉。但对于象我这样不编程的用户来说,因为TxtBrowser而第一次安装、使用这些东西,还是比较复杂的。记录如下,并提供对初学者友好地解释。

    1. 安装ctags(http://ctags.sourceforge.net/
      ctags是一款程序(exe),用来生成tag文件。tag文件可以理解成索引——某个目录项、关键词……出现在哪个文件的哪一行。
      下载 Source and binary for Windows 98/NT/2000/XP,即 ctags58.zip。只需要把其中的 ctags.exe(约300KB)解压到 windows 目录(或其他在path的目录)。

    2. 安装taglist(http://www.vim.org/scripts/script.php?script_id=273
      重要说明:由于官方taglist.vim对中文支持有问题,推荐修订版本
      把插件的内容复制到 vim安装目录/vimfiles/中。以我为例,新增如下内容:

    d:\soft\Vim\vimfiles\plugin\taglist.vim
    d:\soft\Vim\vimfiles\doc\taglist.txt

    3. 安装TxtBrowser(http://www.vim.org/scripts/script.php?script_id=2899
      除了大部分内容复制到vimfiles目录,一定要注意 .ctags 文件要复制到 “$Home”目录。$home可以简单地理解为 c:\Documents and Settings\用户ID\。以我为例,新增如下内容:

    d:\soft\Vim\vimfiles\plugin\txtbrowser.vim (生成目录、扩展功能所用的插件)
    d:\soft\Vim\vimfiles\doc\txtbrowser.cnx (帮助文档)
    d:\soft\Vim\vimfiles\doc\txtbrowser.txt (帮助文档)
    d:\soft\Vim\vimfiles\syntax\txt.vim (语法高亮文件)
    c:\Documents and Settings\zyx\.ctags (重要:定义文件文件中,哪些文本生成tag)

    4. 在.vimrc文件里加入:

    syntax on
    let tlist_txt_settings = 'txt;c:content;f:figures;t:tables'
    au BufRead,BufNewFile *.txt setlocal ft=txt

    5. 重启vim,打开 http://www.rfc-editor.org/rfc/rfc959.txt ,执行命令 :Tlist,应该能看到效果了。

    附:文章更新历史

      2010-03-25:更新txtbrowser与VOOF的比较部分;修正一些过时说法。
      2010-02-20:更新taglist中文路径问题。
      2010-02-16:初稿。

    [转载请保留] 作者:善用佳软 出处:http://xbeta.info/vim-txtbrowser.htm 

  • 相关阅读:
    LeetCode.5-最长回文子串(Longest Palindromic Substring)
    LeetCode.3-最长无重复字符子串(Longest Substring Without Repeating Characters)
    2013 最新的 play web framework 版本 1.2.3 框架学习文档整理
    play framework学习笔记之 模板引擎
    C# 枚举、字符串、值的相互转换
    styleCop
    配置VS代码生成工具ReSharper快捷键
    StackOverflow Update: 560M Pageviews A Month, 25 Servers, And It's All About Performance
    开启Windows Server 2008 R2上帝模式
    微信支付实战(与支付宝和其他一些支付有些不一样)
  • 原文地址:https://www.cnblogs.com/analyzer/p/1729805.html
Copyright © 2011-2022 走看看