举报投诉联系我们 手机版 热门标签 名动网
您的位置:名动网 > 新希望的代码 Vimscript 新希望:用Pathogen配置插件

新希望的代码 Vimscript 新希望:用Pathogen配置插件

2023-03-24 14:20 Vim教程

新希望的代码 Vimscript 新希望:用Pathogen配置插件

新希望的代码

新希望是一个基于JavaScript的开源框架,它可以帮助开发者快速构建复杂的Web应用程序。它使用简单的语法,可以让开发者快速地创建出功能丰富的Web应用程序。新希望也是一个非常灵活的框架,它可以让开发者根据自己的需要来定制自己的Web应用程序。

// 初始化新希望
var newHope = require('new-hope');
 
// 创建一个新的应用程序实例
var app = newHope();
 
// 设置路由,处理不同URL请求
app.get('/', function(req, res) { 
    res.send('Hello World!'); 
}); 
 
// 监听端口3000,启动服务器 
app.listen(3000, function() { 
    console.log('Server is running at http://localhost:3000'); 
});   

Vimscript 新希望:用Pathogen配置插件

Vim的插件配置方式,在你仅仅添加一个文件来自定义自己的Vim体验时很合理, 但当你想要使用别人写的插件时,这种方式会导致一团糟。

在过去,要想使用别人写好的插件,你得下载所有文件并逐一正确地放置它们。 你也可能使用ziptar来替你做放置的工作。

在这个过程中有些明显的问题:

  • 当你想更新插件的时候怎么办?你可以覆盖旧的文件, 但如果作者删除了某个文件,你怎么知道你要手工删除对应文件?
  • 假如有两个插件正好使用了同样的文件名(比如utils.vim或别的更大众的名字)呢? 有时你可以简单地重命名掉它,但如果它位于autoload/或别的名字相关的文件夹中呢? 你改掉文件名,就等于改掉插件。这一点也不好玩。

人们总结出一系列hacks来让事情变得简单些,比如Vimball。 幸运的是,我们不再需要忍受这些肮脏的hacks。 Tim Pope创造了著名的Pathogen插件让管理大量插件变得轻松愉快, 只要插件作者神志清醒地安排好插件结构。(译注:现在推荐vundle来代替Pathogen,前者支持使用git下载插件)

让我们了解一下Pathogen的工作方式,以及为了让我们的插件更加兼容,我们需要做的事。

运行时路径

当Vim在特殊的文件夹,比如syntax/,中查找文件时,它不仅仅只到单一的地方上查找。 就像Linux/Unix/BSD系统上的PATH,Vim设置runtimepath以便查找要加载的文件。

在你的桌面创建colors文件夹。在这个文件夹中创建一个叫mycolor.vim的文件(在本示例中你可以让它空着)。 打开Vim并执行这个命令:

:color mycolor

Vim将显示一个错误,因为它不懂得去你的桌面查找。现在执行这个命令:

:set runtimepath=/Users/sjl/Desktop

当然,你得根据你的情况修改路径名。现在再尝试color命令:

:color mycolor

这次Vim找到了mycolor.vim,所以它将不再报错。由于文件是空的,它事实上什么都没, 但由于它不再报错,我们确信它找到了。

Pathogen

Pathogen插件在你加载Vim的时候自动地把路径加到你的runtimepath中。 所有在~/.vim/bundle/下的文件夹将逐个加入到runtimepath。(译注:vundle也是这么做的)

这意味着每个bundle/下的文件夹应该包括部分或全部的标准的Vim插件文件夹,比如colors/syntax/。 现在Vim可以从每个文件夹中加载文件,而且每个插件文件都独立于自己的文件夹中。

这么一来更新插件就轻松多了。你只需要整个移除旧的插件文件夹,并迎来新的版本。 如果你通过版本控制来管理~/.vim文件夹(你应该这么做), 你可以使用Mercurial的subrepo或Git的submodule功能来直接签出(checkout)每个插件的代码库, 然后用一个简单的hg pull; hg updategit pull origin master来更新。

成为Pathogen兼容的

我们计划让我们的用户通过Pathogen安装我们写的Potion插件。 我们需要做的:在插件的代码库里,放置我们的文件到正确的文件夹中。就是这么简单!

我们插件的代码库展开后看起来就像这样:

potion/
    README
    LICENSE
    doc/
        potion.txt
    ftdetect/
        potion.vim
    ftplugin/
        potion.vim
    syntax/
        potion.vim
    ... etc ...

我们把它放置在GitHub或Bitbucket上,这样用户就能简单地clone它到bundle/,一切顺利!

练习

如果你还没有安装[vnudle][],安装它。(译注:原文是安装Pathogen,但是没有必要啦)

给你的插件创建Mercurial或Git代码库,起名叫potion。 你可以把它放到你喜欢的地方,并链接到~/.vim/bundle/potion/或就把它直接放到~/.vim/bindle/potion/

在代码库中创建READMELICENSE文件,然后commit。

Push到Bitbucket或GitHub。

阅读:help runtimepath

阅读全文
以上是名动网为你收集整理的新希望的代码 Vimscript 新希望:用Pathogen配置插件全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • goframe框架 GoFrame 模型关联-ScanList

    goframe框架 GoFrame 模型关联-ScanList

    2023-03-19 GoFrame教程

    ​gf​的​ORM​没有采用其他​ORM​常见的​BelongsTo​,​HasOne​,​HasMany​,​ManyToMany​这样的模型关联设计,这样的关...

  •  XSL-FO table-header 对象

    XSL-FO table-header 对象

    2023-05-25 XSL-FO教程

    XSL-FO table-header 对象XSL-FO 参考手册定义和用法 fo:table-header 对象包含了表格页眉的内容。语法fo:table-header!--Conten...

  •  XSL-FO keep-together 属性

    XSL-FO keep-together 属性

    2023-04-23 XSL-FO教程

    XSL-FO keep-together 属性 XSL-FO 参考手册定义和用法 keep-together 属性用于在XSL-FO对象中创建keep-together条件。详情继承...

  •  XML Schema restriction 元素

    XML Schema restriction 元素

    2023-04-09 XMLSchema教程

    XML Schema restriction 元素 完整 XML Schema 参考手册定义和用法 restriction 元素定义对 simpleType、simpleContent 或 compl...

  •  XQuery 函数

    XQuery 函数

    2023-04-23 XQuery教程

    XQuery 函数 在 XQuery 中包含许多内置的函数,本节介绍如何调用或者自定义 XQuery 函数。XQuery 1.0、XPath 2.0 以及 XSLT 2.0 ...

© 2024 名动网 mdwl.vip 版权所有 联系我们