分类目录归档:Vim

Write with Vim – 2

点击量:9

Vim的下一步

对我自己而言,也是在这一步。

现在你对Vim已经有所了解,hjkl肯定会,f也能熟用,,可能被你映射成了<leader>,或者等等。但是我还是想要写这个blog,来指引新手(诚然,也是指引自己)。

这个时候,我建议你将Esc映射成ii,然后禁用Esc

" 强迫自己不使用ESC
inoremap <Esc> <nop>
inoremap 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/

Write with Vim – 1

点击量:6

本文最初发表于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,不能停,就算是一开始很不爽,也要坚持使用下去

  1. 第一步是学习vimtutor,这个毋庸置疑。最关键的输入i, 还有移动hjkl记住了就可以了
    之后最关键的任务就是不停的用vim,就算是觉得慢也用——当然在慢的过程中要思考如何能快。
    学习使用vimtutor就是在命令行中输入:
    vimtutor
    第一步我个人认为是最难的一步。尤其是度过那一段干啥都很慢,狂点鼠标还用不了的阶段。

  2. 然后不是跳到问题3就是跳到本问题了。慢慢发现熟悉的<C-c>(就是Ctrl+c)不能用了,到了Vi
    m里面变成了终止退出命令了(就像是Esc)(原本也是使用ESC来退出编辑模式的,但是后来发现<C-c>
    比较快捷,于是就使用他了。(如果你没看懂,重新返回第一步练习)。然后在vim中寻找关于复制,
    粘贴的使用方法——至少我是这样。然后就会理解vim中的寄存器的相关信息。

  3. 然后就开始找那些可以让自己快速编辑的命令了,比如说w|e|f。我个人比较喜欢f,这个可以让我
    快速定位一句话中的一个字母,欲罢不能。w,e倒是用的比较少,b的位置我不是很喜欢。在这个
    过程中大概d | s | c这些家伙也慢慢出现了。

  4. 再然后就开始发现数字和大写字母的好处了,从小写到大写也是一个慢慢认识的过程,也是不用
    记忆到底是如何运作的,只需要看好了出现的位置就行了。用多了自然就会了。

  5. 然后习惯了以后就是换行,查找,替换等等操作了。在这个过程中查找用的还是比较多的,
    但是替换的命令我就经常忘记如何使用了——没办法,经常忘记。换行更多的使用的是行号g,或者
    :行号然后等等等。

进阶

你也可以直接下载我的配置使用,其中的插件配置可以在一定程度上给出指导。

  1. 都是一步一步过来的但是我也忘记我是怎么走过来的。依然很水,不会的配置上网搜索然后copy到自己的vimrc中。走到进阶就差不多懂得.vimrc为何物——因为可能受不了自己vim中的字体,配色,以及目录——或者括号匹配等等问题。这个时候vimrc的作用就出来了。
    这个时候我推荐你使用我的配置,也是基于网络上十分流行的一个版本:
git clone http://github.com/Svtter/MyVimrc
./install

如果出现什么问题,参见README.md中的FAQ

这样就可以安装运行了。出现一个问题很正常,如果不在意就继续使用,在意的话自己百度。出现很多
问题可能是因为Vundle没有装好,使用
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

  1. 我是在.vimrc之后才发现的这种神奇的编辑的。分块编辑的确能够极大的提升效率。然后不停
    的阅读vimrc吧!然后从help中吸取精华吧!

  2. 下一步我要熟练使用记录模式和正则匹配,以及vimscript的写法等等。希望本文对于想要学习Vim的
    你有所帮助。

vim的补全插件

点击量:2

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

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

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

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

继续阅读

vim-另存为

点击量:3

想要另存一个文件名,但是vim另存的方法。。然后发现了sav这个东西。

help文件中是这么描述的:

:sav :saveas
:sav[eas][!] [++opt] {file}
用文件名 {file} 保存当前缓冲区,并设置当前缓冲区的文件
名为 {file}。前一个名字用作轮换文件名。[!] 用以覆盖已
存在的文件。
如果 ‘filetype’ 为空,在写入文件前用新名字进行文件类型
检测。
如果写操作成功,复位 ‘readonly’。

可见,可以利用sav来重命名当前文件,并且修改新命名的文件的功能。唯一的不足就是,我们无法通过这个操作将原来的
文件删除(或者我们本来就不需要删除原来的文件). 这是vim的缓冲区机制决定的。

个人认为无伤大雅,不是吗= =

有时候wiki以及:help要比在网上百度一下好用的多 — 这个月饭都吃不起了,别跟我提VPN.

vim-tips

点击量:3

拾遗

  1. 使用q:查看历史命令
  2. @*执行寄存器命令

高亮特定文件

" for ROS:
augroup filetypedetect
    au BufRead,BufNewFile *.launch set filetype=xml
augroup END