分类 Vim 中的文章

Write with Vim – 1

本文最初发表于2015年,但是个人认为写的尚可,就搬运到这里来,其中有些知识有些老旧,有时间的时候再更新一下。 Write with Vim – 2 前言 [2014] 大约在一年前使用vim?这个也是个不确定的时间。具体什么时间使用Vim早已经忘记了。现在用的还算顺手,但是很多东西其实都还没有认真的学一下。最简单的比如说一部分正则表达式的匹配,以及vimscript的写法等等。也是没有具体时间去认真的深入,毕竟信息科技的世界里有太多太多可以探索的东西了= =。 在大多数情况下我还是认为自己写一些前人已经有的blog毫无价值,但是转念一想写blog又是为了谁呢,还不是为了自己吗。总结过去,才能更好的前进走向未来。 另外最近又在开始看emacs了。不过总感觉这样是不好的行为——vim我还没有钻研透彻,就跑去了E去到处乱看,最后哪个都搞不好——谁又知道呢?废话也是少说,写本文是给新手入门的。 另外今天发现K的作用是查找命令(默认是!man)[2014-09-27] 本文是利用vimperator(firefox)+ gvim进行书写的,还有了markdown的高亮等等插件。 [/2014] 入手Vim 首先我认为你是在Linux下使用vim的,而不是windows。如果是windows,我建议你寻找类似的 取代方案,或者等着我以后补充。如果给你带来不便了,你来咬我啊~ 当年学习vim的时候遵从诸位大神的理解,跟着vimtutor走了一趟,感觉还是比较不错的。 最关键的还是自己要多多使用vim,不能停,就算是一开始很不爽,也要坚持使用下去 第一步是学习vimtutor,这个毋庸置疑。最关键的输入i, 还有移动hjkl记住了就可以了 之后最关键的任务就是不停的用vim,就算是觉得慢也用——当然在慢的过程中要思考如何能快。 学习使用`vimtutor`就是在命令行中输入: `vimtutor` 第一步我个人认为是最难的一步。尤其是度过那一段干啥都很慢,狂点鼠标还用不了的阶段。 然后不是跳到问题3就是跳到本问题了。慢慢发现熟悉的<C-c>(就是Ctrl+c)不能用了,到了Vi m里面变成了终止退出命令了(就像是Esc)(原本也是使用ESC来退出编辑模式的,但是后来发现`<C-c>` 比较快捷,于是就使用他了。(如果你没看懂,重新返回第一步练习)。然后在vim中寻找关于复制, 粘贴的使用方法——至少我是这样。然后就会理解vim中的寄存器的相关信息。 然后就开始找那些可以让自己快速编辑的命令了,比如说w|e|f。我个人比较喜欢f,这个可以让我 快速定位一句话中的一个字母,欲罢不能。`w,e`倒是用的比较少,`b`的位置我不是很喜欢。在这个 过程中大概`d | s | c`这些家伙也慢慢出现了。 再然后就开始发现数字和大写字母的好处了,从小写到大写也是一个慢慢认识的过程,也是不用 记忆到底是如何运作的,只需要看好了出现的位置就行了。用多了自然就会了。 然后习惯了以后就是换行,查找,替换等等操作了。在这个过程中查找用的还是比较多的, 但是替换的命令我就经常忘记如何使用了——没办法,经常忘记。换行更多的使用的是`行号g`,或者 `:行号`然后等等等。 进阶 你也可以直接下载我的配置使用,其中的插件配置可以在一定程度上给出指导。 都是一步一步过来的但是我也忘记我是怎么走过来的。依然很水,不会的配置上网搜索然后copy到自己的vimrc中。走到进阶就差不多懂得.vimrc为何物——因为可能受不了自己vim中的字体,配色,以及目录——或者括号匹配等等问题。这个时候vimrc的作用就出来了。 这个时候我推荐你使用我的配置,也是基于网络上十分流行的一个版本: 如果出现什么问题,参见README.md中的FAQ 这样就可以安装运行了。出现一个问题很正常,如果不在意就继续使用,在意的话自己百度。出现很多 问题可能是因为Vundle没有装好,使用 git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle……

阅读全文

Write with Vim – 2

Write with vim – 1 Vim的下一步 对我自己而言,也是在这一步。 现在你对Vim已经有所了解,hjkl肯定会,f也能熟用,,可能被你映射成了<leader>,或者等等。但是我还是想要写这个blog,来指引新手(诚然,也是指引自己)。 这个时候,我建议你将Esc映射成ii,然后禁用Esc 在Write with vim – 1中,记录模式我已经用的比较习惯了(@+寄存器),但是正则表达式用的一般般,仍然需要好好的努力才行。 想要用好Vim,离不开github 大概更多人喜欢在 http://www.vim.org 上寻找自己心仪的插件,但是我认为还是在github上找更好。为什么? 因为许多的开源项目都已经在github上扎根,许多优秀的插件都能在github上找到其身影。比如:Nerdtree, YouCompeleteME, airline, etc. 你可以通过github的star数量来判断这个项目的优秀程度。当然,更确切说,是把star做为参考标准之一。 等等优点,想到我再补充。 使用插件管理器,管理你的插件 我个人比较推荐 Plug 插件使用git更新插件,将vimscripts分离,控制不同功能的插件可以放在不同的位置,保证了vimrc的整洁。从而提高了个人配置的维护性。 Plug 是首当其冲的插件,有了他,你会发现更新插件,安装新的插件一切都是那么的简单。 Plug 的使用方法在 README 里面有,但是如果英文比较差 — 没关系,也能看懂。 下一步的学习 很多人觉得vimscript学习起来有些困难,这里有份非常好的文档。准确说是翻译。翻译者辛苦了。 http://learnvimscriptthehardway.onefloweroneworld.com/……

阅读全文

vim的补全插件

Vim的补全插件大体上分4个阵营,如deoplete, completor.vim, YCM, 以及neocomplete

在我想写这篇文章的时候,YCMyoucompleteme还认为自己支持了vim8的新特性async,即非阻塞补全那一套东西。这个特性是怎么回事呢?输入的时候补全插件会进行补全搜索,这个时候如果不用新的特性,会造成UI卡顿。

所以,事实上根据我的测试,作者似乎错误的理解了这个新特性,可以看看工单

不过目前没有时间去搞清楚这个问题。因为我直接选择了completor.vim,这个插件完美实现了这个功能。

……

阅读全文

vim-另存为

本文出自svtter.com 想要另存一个文件名,但是vim另存的方法。。然后发现了sav这个东西。 help文件中是这么描述的: :sav[eas][!] [++opt] {file} 用文件名 {file} 保存当前缓冲区,并设置当前缓冲区的文件 名为 {file}。前一个名字用作轮换文件名。[!] 用以覆盖已 存在的文件。 如果 ‘filetype’ 为空,在写入文件前用新名字进行文件类型 检测。 如果写操作成功,复位 ‘readonly’。可见,可以利用sav来重命名当前文件,并且修改新命名的文件的功能。唯一的不足就是,我们无法通过这个操作将原来的 文件删除(或者我们本来就不需要删除原来的文件). 这是vim的缓冲区机制决定的。 个人认为无伤大雅,不是吗= = 有时候wiki以及:help要比在网上百度一下好用的多 — 这个月饭都吃不起了,别跟我提VPN.……

阅读全文

vim的相关记录

本文出自<svtter.com> vim的部分插件记录 snipmate vim中的textmate vimwiki Vimpress : Manage wordpress blog posts from Vim calendar vimmailr.zip : Send (MAPI) mail from vim VOom ……

阅读全文

vim-tips

拾遗 使用q:查看历史命令 @*执行寄存器命令 高亮特定文件 ……

阅读全文