VIM北冥神功之插件管理

之前觉得那些用纯VIM的人都是脑袋秀逗了,有我大VS,搞什么不是分分钟的事情,只有那些老古董太整天吹嘘“VIM大法好”。最近要在linux环境下学习C++11开发,在linode上开的服务器也只能是server 版本,现在要“硬着头皮”学习VIM的使用了,不过…感觉还不错~~~

最大的收获来源于 http://blog.csdn.net/mergerly/article/details/51671890 的介绍,现在结合自己的使用经验,总结一番。

说说我们对一个编辑器的期待:

  • 轻量级,启动迅速
  • 特性(语法高亮  自动对齐  代码折叠  自动补齐 显示行号 重定义Tab 十六进制编辑 列编辑模式 快速注释 高级搜索、替换 错误恢复 迅速跳转 Mark  美观)

给程序员的VIM入门图解说明

vgod-vim-cheat-sheet-full

首先我们来熟悉原始的Vim操作。

(1).删除操作

删除sentense或phrase

d [number] [motion]

删除一行 dd

删除8行 d8d 或者8dd

删除一个phrase  dw/de都可以实现此功能,区别是de后光标会指向下一个word的第一个字符,dw会跑到当前要被删除word的后一个字符。

d$ 在这里$意味着结尾,所以d$就是删除从此处到sentense结尾的内容。

删除某个字符  可以用x删除当前光标所在的字符

替换字符:r + 想要替换的当前字符的字符。正式的用法是 c [number] [motion] 这里的motion跟d一样,比如$,w

修改当前字符内容  ce可以删除此word剩下的字符

(2).追加结尾 a

(3).撤销和恢复操作 u表示撤销上一次操作,U表示撤销当前line的所有操作, Ctrl + R表示恢复之前的操作。

(4).位置跳转 Ctrl+ G能够知道当前所在的位置,然后gg可以调到文件头,G可以调到文件尾,如果调回去怎么弄呢?有两种方式,(1)行号+G (2)Ctrl + o

(5).查找search

/ + 要查找的字符串  (默认顺序是向下):  用于查找,n相当于next,N相当于previous

如果想要从下往向上查找,也可以直接 ? + 要查找的字符串。

如果想要回到查找过程中的上一个位置或者下一个位置,那就Ctrl + O 或者Ctrl + I(这跟n和N有什么区别呢)

(6). p粘贴被删除的内容到光标处

(7).选中 复制  粘贴

Ctrl + v进入visual模式,然后运用光标hjkl来选中文本,y代表复制,d代表剪切,p代表粘贴,^选中当前行,光标位置到行首(或者Home键),$选中当前行,光标位置到行尾(或者End键)。

直接V,可以进入visual line模式,使用j/k可以选中多行。Ctrl + V可以进入visual block模式。

(8). 如何找到对应的 ( ) [ ] { }

光标在某一个下面,然后%之后光标就会调到配对的括号位置。

 

(9).字符串替换

:s/old/new/g 用new替换old

用:s/old/new只会替换第一个出现的位置,g会替换所有,g=global

如果我们想限定替换的范围那该怎么弄? :#,#s/old/new/g

如果想替换的时候,给我们一个选择的权利呢?那就:s/old/new/gc c在这里代表的是确认。

但是,但是在使用的时候我们发现,这个命令只会在当前行起作用,即使加了g命令也是一样,现在完全懵逼了,不知道为什么会这样。

后来搜了网上的解释,难道是我的英文不行,这明显不是一个意思嘛

vimtutoral的解释

而网上的解释是 不加g的情况是替换当前行的第一个,g是替换当前行所有出现的情况。

那全文替换该怎么弄? :1,$/old/new/g

(10).如何执行外部命令

ESC + ! + COMMAND即可

(11) 保存文本中的部分内容

v进入visual模式,然后光标选择文本, 输入 :    此时下面会出现 ‘<,’>   这时候w + 文件名,然后Enter即可。

(12) 恢复、合并文件

(13) 光标跳转 在阅读代码时我们要在code中跳来跳去,要找到我们想要的元素,进行各种各样的操作,下面讲述的就是这些内容。

这里有一个链接把在vim中的移动讲述的很好 指随意动,移动如飞

翻页 : Ctrl + f / Ctrl + b 后/前翻

 

 

 

要实现上面这些要求,原始的VIM是无法完成的,这就用到了插件,但插件很多,用不好就会显得很乱,Vundle作为一款优秀的插件管理工具很好地解决了这个问题。

VundleVim安装

Vundle 帮助文档

目录

  • 关于
  • 快速开始
  • 文档
  • 更新日志
  • 使用Vundle的盟友
  • 贡献者
  • 灵感和想法
  • 当然…
  • 接下来要做的

关于

Vundle是Vim budle的缩写,是一个Vim插件管理器。

Vundle能够帮助你的…

  • 在.vimrc中跟踪和配置你的插件
  • 安装已经配置好的插件(比如 srcipts/bundle下的)
  • 更新已配置的插件
  • 通过名称搜索所有可用Vim scripts
  • 清理未使用的插件
  • 在交互模式下完成上面这些操作

Vundle能自动地…

  • 管理已安装脚本的运行时路径
  • 在安装和更新之后重新生成help tags

Vundle正在进行界面更改,请及时更新以获取最新更改。

快速开始

1. 介绍:

安装需要git并触发git clone每一个配置好的repository到~/.vim/bundle/。Curl用来查找。

如果你在使用windows,请直接进入Windows setup。

2.安装Vundle

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

3. 配置插件

在.vimrc的头部放置如下内容以使用Vundle。移除这里面你不需要的插件,它们只是拿来举例。(vimrc有多个,在vim中执行命令version会看到在vim会读取哪些位置的vimrc,我目前是在$HOME/.vimrc中设置下面的内容,原先此文件不存在,新建它)

这里我们要分析一下上面的脚本,同时我们还要学习VIM是如何解析这个脚本的,这就叫做知其然知其所以然

 

4. 安装插件

启动Vim然后运行:PluginInstall

从命令行安装的指令: vim + PluginInstall + qall

5. 为了使用fish shell,在.vimrc中增加 set  shell = /bin/bash

文档

查看:h vundle Vimdoc 中的更多细节。

更新日志

查看更新记录。

使用Vundle的“盟友”

查看示例。

贡献者

查看 Vundle 贡献者,谢谢!

灵感

  • pathogen.vim
  • Bundler
  • Scott Bronson

将要做的

….

 

 

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注