当前位置:K88软件开发文章中心编程工具Vim → 文章列表
文章标题关闭所有内容预览 | 展开所有内容预览
  • Vimscript 还剩下什么? [内容预览] 0 | 2019-01-24 10:54:22
    由Loen创建,最后一次修改2016-02-24如果已经读到了这里并且完成了所有的例子和练习,你现在对Vimscript基础的掌握就很牢固了。不要担心,还有_许多_东西需要学呢!如果你求知若渴,这里还有一些东西值得你去探索。配色方案在本书中我们给Potion文件添加了语法高亮。作为硬币的另一面,我们也可以创建配色方案来...

    [阅读全文]

  • Vimscript 发布 [内容预览] 0 | 2019-01-24 10:54:21
    由Loen创建,最后一次修改2016-02-24现在你拥有了足够的Vimscript技能来打造能帮助许多人的Vim插件。这一章涉及如何把你的插件发布在网上,以便人们获取,还有如何向潜在用户派小广告。托管你需要做的第一件事是把你的插件放在网上,让其他人可以下载它。最普遍的选择是放到Vim官网的script版面。你需要这个...

    [阅读全文]

  • Vimscript 文档 [内容预览] 0 | 2019-01-24 10:54:20
    由Loen创建,最后一次修改2016-02-24我们的Potion插件有着许多有用的功能,但是无人知晓这一点,除非我们留下了文档!Vim自身的文档非常棒。它不仅是详细地,而且也是非常透彻的。同时,它也启发了许多插件作者写出很好的插件文档,结果是在Vimscript社区里营造出强大的文档文化。如何使用文档当你阅读Vim里...

    [阅读全文]

  • Vimscript 自动加载 [内容预览] 0 | 2019-01-24 10:54:19
    由Loen创建,最后一次修改2016-02-24我们已经为我们的Potion插件写了大量的功能,覆盖了本书所要讲的内容。在结束之前,我们将讲到一些非常重要的方法,可以给我们的插件锦上添花。第一项是使用自动加载让我们的插件更有效率。如何自动加载目前,当用户加载我们的插件时(比如打开了一个Potion文件),所有的功能都会...

    [阅读全文]

  • Vimscript 外部命令 [内容预览] 0 | 2019-01-24 10:54:18
    由Loen创建,最后一次修改2016-02-24Vim遵循UNIX哲学"做一件事,做好它"。与其试图集成你可能想要的功能到编辑器自身,更好的办法是在适当时使用Vim来调用外部命令。让我们在插件中添加一些跟Potion编译器交互的命令,来浅尝在Vim里面调用外部命令的方法。编译首先我们将加入一个命令来编译和执行当前Pot...

    [阅读全文]

  • Vimscript Potion段移动 [内容预览] 0 | 2019-01-24 10:54:17
    由Loen创建,最后一次修改2016-02-24既然知道了段移动的工作原理,让我们重新映射这些命令来使得它们对于Potion文件起作用。首先我们要决定Potion文件中"段"的意义。有两对段移动命令,所以我们可以总结出两套组合,我们的用户可以选择自己喜欢的一个。让我们使用下面两个组合来决定哪里是Potion中的段:任何...

    [阅读全文]

  • Vimscript 段移动原理 [内容预览] 0 | 2019-01-24 10:54:16
    由Loen创建,最后一次修改2016-02-24如果你未曾用过Vim的段移动命令([[,?]],?[]?and?][),现在花上几秒读读它们的帮助文档。也顺便读读:helpsection。还是不懂?这不是什么问题,我第一次读这些的时候也是这样。在写代码之前,我们先岔开来学习这些移动是怎么工作的,然后在下一章我们将使得我...

    [阅读全文]

  • Vimscript 高级折叠 [内容预览] 0 | 2019-01-24 10:54:14
    由Loen创建,最后一次修改2016-02-24在上一章里我们用Vim的indent折叠方式,在Potion文件中增加了一些快捷而肮脏的折叠。打开factorial.pn并用zM关闭所有的折叠。文件现在看起来就像这样:factorial=(n):+--5lines:total=110times(i):+--4lines...

    [阅读全文]

  • Vimscript 基本折叠 [内容预览] 0 | 2019-01-24 10:54:13
    由Loen创建,最后一次修改2016-02-24如果从未在Vim里使用过代码折叠,你不知道你都错过了什么。阅读:helpusr_28并花费时间在日常工作中使用它。一旦到了铭记于指的程度,你就可以继续本章了。折叠类型Vim支持六种不同的决定如何折叠你的文本的折叠类型。Manual你手动创建折叠并且折叠将被Vim储存在内存...

    [阅读全文]

  • Vimscript 更高级的语法高亮 [内容预览] 0 | 2019-01-24 10:54:12
    由Loen创建,最后一次修改2016-02-24我们甚至可以为Vim里面的语法高亮另开一本书了。我们将在此讲解它最后的重要内容,然后继续讲别的东西。如果你想要学到更多,去读:helpsyntax并阅读别人写的syntax文件。高亮字符串Potion,一如大多数编程语言,支持诸如"Hello,world!"的字符串字面量...

    [阅读全文]

  • Vimscript 高级语法高亮 [内容预览] 0 | 2019-01-24 10:54:11
    由Loen创建,最后一次修改2016-02-24目前我们已经为Potion文件实现了简单的关键字和函数的语法高亮。如果没有做上一章的练习,你需要回去完成。我将假设你做了练习。事实上,你应该回去完成你跳过的_任何_练习。即使你觉得你不需要,为了更好的学习效果,你都得把它们完成了。请在这一点上相信我。高亮注释接下来我们需要...

    [阅读全文]

  • Vimscript 基本语法高亮 [内容预览] 0 | 2019-01-24 10:54:10
    由Loen创建,最后一次修改2016-02-24既然已经移除前进路上的绊脚石,是时候开始为我们的Potion插件写下一些有用的代码。我们将从一些简单的语法高亮开始。在你的插件的repo中创建syntax/potion.vim。把下面的代码放到你的文件里:ifexists("b:current_syntax")finis...

    [阅读全文]

  • Vimscript 检测文件类型 [内容预览] 0 | 2019-01-24 10:54:09
    由Loen创建,最后一次修改2016-02-24让我们创建一个Potion文件作为插件的测试样本。factorial=(n):total=1nto1(i):total*=i.total.10times(i):istringprint'!is:'printfactorial(i)stringprint"\n"print....

    [阅读全文]

  • Vimscript 新希望:用Pathogen配置插件 [内容预览] 0 | 2019-01-24 10:54:08
    由Loen创建,最后一次修改2016-02-24Vim的插件配置方式,在你仅仅添加一个文件来自定义自己的Vim体验时很合理,但当你想要使用别人写的插件时,这种方式会导致一团糟。在过去,要想使用别人写好的插件,你得下载所有文件并逐一正确地放置它们。你也可能使用zip或tar来替你做放置的工作。在这个过程中有些明显的问题:...

    [阅读全文]

  • Vimscript 旧社会下的插件配置方式 [内容预览] 0 | 2019-01-24 10:54:07
    由Loen创建,最后一次修改2016-02-24我们需要讲到的第一件事是如何配置我们的插件。在过去,这会是一次混乱的折腾,但现在我们有一个工具可以非常方便地安装Vim插件。我们需要先过一下基本的配置方式,然后我们会讲到如何省下麻烦。基本配置方式Vim支持把插件分割成多个文件。你可以在~/.vim下创建许多不同种类的文件...

    [阅读全文]

  • Vimscript 创建一个完整的插件 [内容预览] 0 | 2019-01-24 10:54:05
    由Loen创建,最后一次修改2016-02-24在前四十来章中,我们讲解了许多基础方面的内容。在本书的最后部分,我们将尝试从零开始为一门语言创造Vim插件。这不是个适合懦夫的游戏。这将需要你竭尽全力。如果你现在就想退出,那确实也不坏!你已经学到了如何在~/.vimrc里改善你的生活,还有如果修复别人的插件里的bugs。...

    [阅读全文]

  • Vimscript 路径 [内容预览] 0 | 2019-01-24 10:54:04
    由Loen创建,最后一次修改2016-02-24Vim是一个文本编辑器,而文本编辑器(经常)处理文本文件。文本文件储存在文件系统中,而我们使用路径来描述文件。Vimscript有一些内置的方法会在你需要处理路径时帮上大忙。绝对路径有时外部脚本也需要获取特定文件的绝对路径名。执行下面的命令::echomexpand('%...

    [阅读全文]

  • Vimscript 函数式编程 [内容预览] 0 | 2019-01-24 10:54:03
    由Loen创建,最后一次修改2016-02-24现在让我们小憩一下,聊一聊一种你可能听过的编程风格:函数式编程。如果你用过Python,Ruby或Javascript,_甚或_Lisp,Scheme,Clojure或Haskell,你应该会觉得把函数作为变量类型,用不可变的状态作为数据结构是平常的事。如果你没用过,你可...

    [阅读全文]

  • Vimscript 切换 [内容预览] 0 | 2019-01-24 10:54:02
    由Loen创建,最后一次修改2016-02-24在开头前几章我们曾讲过怎么在Vim里设置选项。对于布尔选项,我们可以使用setsomeoption!来"切换"选项。如果我们能给这个命令创建一个映射,那就再好不过了。执行下面的命令::nnoremap<leader>N:setlocalnumber!<cr>在normal...

    [阅读全文]

  • Vimscript 字典 [内容预览] 0 | 2019-01-24 10:54:01
    由Loen创建,最后一次修改2016-02-24我们讲到的最后一种Vimscript类型将是字典。Vimscript字典类似于Python中的dict,Ruby中的hash,和Javascript中的object。字典用花括号创建。值是异质的,但键会被强制转换成字符串。就是这么简单,你没想到吧?执行这个命令::echo...

    [阅读全文]

  • Vimscript 循环 [内容预览] 0 | 2019-01-24 10:54:00
    由Loen创建,最后一次修改2016-02-24你可能会惊讶地发现,作为一本关于编程语言的书,在前35章里我们压根就没有提到循环!Vimscript提供了非常多的方式操作文本(比如,normal!),因此循环并不像在其他大多数语言中的那么必要。即使如此,总有一天你会需要用到它的,所以现在让我们探讨Vim支持的两种主要的...

    [阅读全文]

  • Vimscript 列表 [内容预览] 0 | 2019-01-24 10:53:59
    由Loen创建,最后一次修改2016-02-24目前为止我们已经很熟悉Vimscript里的变量类型了,但我们压根还没讲到集合(aggregates)呢!Vim有两种主要的集合类型,现在我们将讲到第一种:列表。Vimscript列表是有序的,异质的元素集合。执行下面的命令::echo['foo',3,'bar']Vim...

    [阅读全文]

  • Vimscript 实例研究:Grep运算符(Operator),第三部分 [内容预览] 0 | 2019-01-24 10:53:57
    由Loen创建,最后一次修改2016-02-24我们新鲜出炉的"grep运算符"工作得很好,但是写Vimscript的目的,就是要体贴地改善你的用户的生活。我们可以额外做两件事,让我们的运算符更加符合Vim生态圈的要求。保护寄存器由于把文本复制到未命名寄存器中,我们破坏了之前在那里的内容。这并不是我们的用户想要的,所以...

    [阅读全文]

  • Vimscript 实例研究:Grep运算符(Operator),第二部分 [内容预览] 0 | 2019-01-24 10:53:56
    由Loen创建,最后一次修改2016-02-24目前为止,我们已经完成了一个原型,是时候扩充它,让它更加强大。记住:我们初始目标是创建"grep运算符"。我们还需要做一大堆新的东西来达成目标,但要像前一章的过程一样:从简单的东西开始,并逐步改进直到它满足我们的需求。在开始之前,注释掉~/.vimrc中在前一章创建的映射...

    [阅读全文]

  • Vimscript 实例研究:Grep 运算符(Operator),第一部分 [内容预览] 0 | 2019-01-24 10:53:55
    由Loen创建,最后一次修改2016-02-24在本章和下一章中,我们将使用Vimscript来实现一个相当复杂的程序。我们将探讨一些闻所未闻的东西,也将在实战中把之前学过的东西联系起来。在本实例研究中,遇到不熟悉的内容,你得用:help弄懂它。如果你只是走马观花,就将所获无多。Grep如果你未曾用过:grep,现在你...

    [阅读全文]

  • Vimscript 基本的正则表达式 [内容预览] 0 | 2019-01-24 10:53:54
    由Loen创建,最后一次修改2016-02-24Vim是一个文本编辑器,这意味着大量的Vimscript代码将专注于处理文本。Vim对正则表达式有着强大的支持,尽管一如既往地也有着一些坑。把下面的文本打到缓冲区中:max=10print"Starting"foriinrange(max):print"Counter:"...

    [阅读全文]

  • Vimscript 执行normal! [内容预览] 0 | 2019-01-24 10:53:53
    由Loen创建,最后一次修改2016-02-24既然已经学了execute和normal!,我们就可以深入探讨一个Vimscript惯用法。执行下面的命令::execute"normal!gg/foo\<cr>dd"这将移动到文件的开头,查找foo的首次出现的地方,并删掉那一行。之前我们尝试过用normal!来执行一个...

    [阅读全文]

  • Vimscript Normal命令 [内容预览] 0 | 2019-01-24 10:53:52
    由Loen创建,最后一次修改2016-02-24目前为止我们已经介绍了几个最为常用的Vimscript命令,但都跟日常中在normal模式下处理文本的方式无关。有没有一种办法能把我们的脚本跟日常的文本编辑命令结合起来呢?答案显然是肯定的。之前我们已经见过normal命令,是时候更详细地介绍它了。执行下面的命令::nor...

    [阅读全文]

  • Vimscript Execute命令 [内容预览] 0 | 2019-01-24 10:53:51
    由Loen创建,最后一次修改2016-02-24execute命令用来把一个字符串当作Vimscript命令执行。在前面的章节我们曾经跟它打过交道,不过随着对Vimscript中的字符串有更深入的了解,现在我们将再次认识它。execute基本用法执行下面的命令::execute"echom'Hello,world!'"...

    [阅读全文]

  • Vimscript 字符串函数 [内容预览] 0 | 2019-01-24 10:53:50
    由Loen创建,最后一次修改2016-02-24Vim有许多内置(built-in)函数来操作字符串。本章中我们将介绍一些最为重要的字符串函数。长度第一个介绍的函数是strlen。执行下面的命令::echomstrlen("foo")Vim显示3,也即"foo"的长度。现在尝试下面的命令::echomlen("foo"...

    [阅读全文]

 Vim   72   30   1/3页   首页   1   2   3      GO