您的位置:首页 > 其它

VIM配置及基本命令

2013-12-30 19:16 369 查看

VIM配置

VIM配置我用的是spf13-vim。里面有很多好用的VIM插件,以及插件管理Vundle(下面会有介绍)。

spf13-vim安装

这里只介绍Mac OS X,Linux以及Unix的安装

$ curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh

更新到最新版本

$ curl https://j.mp/spf13-vim3 -L -o - | sh

spf13部分插件介绍

这里对自己平时常用到的几个插件进行介绍,下面所涉及到的快捷键有些只针对spf13配置。

EasyMotion

高效移动
快捷键:

,,w向光标所在位置后方移动

,,b向光标所在位置前方移动


matchit.zip

对vim命令%的扩展

undotree

撤销指令的树状list。
快捷键:,u
它有两个窗口
上面的窗口:当前所处步骤会被标记为>seq<,当前标记的下一步会被标记{seq}。[seq]表示该程序的最后一次改变(不包括执行undotree撤销操作的改变)
下面的窗口:当前所处步骤是把什么改变成了什么。


ctrlp

文件搜索。
快捷键:ctrl+p

F5刷新窗口

ctrl+r 正则表达式模式(可以使用正则表达式搜索)

ctrl+d 搜索只匹配文件名,忽略目录

ctrl+j 窗口中向下移动

ctrl+k 窗口中向上移动

ctrl+t 开一个新标签页打开指向的文件

ctrl+v 当前窗口纵向分割打开指向文件

ctrl+x 当前窗口横向分割打开指向文件

ctrl+z 给多个文件进行标记(取消标记),通过ctrl+o打开标记的文件

ctrl+forctrl+b 切换模式,file模式就是默认模式,快速打开文件。buffers模式,快速打开缓冲区。mru files模式,快速打开最近打开的文件。

ctrl+y 在ctrlp窗口输入一个未被创建的文件名,再按该快捷键,可以在当前目录下创建一个新文件,或者输入不存在的目录以及该目录下的文件,这样会在当前目录下创建一个子目录和里面的文件。

:h ctrlp 查看帮助文档

演示视频: http://happycasts.net/episodes/64?autoplay=true

NERDtree

文件系统导航。
快捷键:ctrl+e
打开该插件后可执行以下快捷键(比较重要的):

m操作当前指向文件(添加,删除,移动等操作)

t开一个新标签页中打开指向的文件

r刷新窗口

K到第一个节点

J到最后一个节点

u打开上层目录

o打开或关闭文件或目录

p到上层目录

P到根目录

q关闭NERDtree


Tagbar

标签导航
快捷键:,tt
使用这个插件需要要安装ctags插件,spf13并没有该插件。
安装ctags:

brew install ctags



Airline

状态栏显示。






以下内容转自:

http://beiyuu.com/git-vim-tutorial/

基本操作

以下介绍的键盘操作,都是大小写敏感的,并且要在命令模式下完成,需注意:

以字为单位的移动

h 向左移动一个字

j 向下移动一行

k 向上

l 向右

这四个键在右手最容易碰到几个位置,最为常用。

以词为单位的移动

w 下一個word w(ord)

W 下一個word(跳过标点)

b 前一個word b(ackward)

B 前一个word(跳过标点)

e 跳到当前word的尾端 e(nd)

行移动

0 跳到当前行的开头

^ 跳到当前行第一个非空字符

$ 跳到行尾

助记:0(第0个字符),^和$含义同正则表达式

段落移动

{ 上一段(以空白行分隔)

} 下一段(以空白行分隔)

% 跳到当前对应的括号上(适用各种配对符号)

跳跃移动

/xxxx 搜索xxxx,然后可以用n下一个,N上一个移动

# 向前搜索光标当前所在的字

* 向后搜索光标当前所在的字

fx 在当前行移动到光标之后第一个字符x的位置 f(ind)x

gd 跳到光标所在位置词(word)的定义位置 g(o)d(efine)

gg 到文档顶部

G 到文档底部

xG 跳到第x行(x是行号),或者使用:x

ctrl+d 向下翻页 d(down)

ctrl+u 向上翻页 u(p)

zt 将当前行设置为屏幕首行

zz 将当前行设置为屏幕中间行

zb 将当前行设置为屏幕尾行

基本编辑

修改

i 在光标当前位置向前插入 i(nsert)

I 在本行第一个字符前插入

a 在光标当前位置向后插入 a(fter)

A 在本行末尾插入

o 向下插入一行

O 向上插入一行

u 撤销上一个操作

r 替换当前字符

:w 保存

:q 退出

:q! 强制退出,不保存修改

:x 保存并退出,相当于:wq

:! 系统命令执行一个系统命令并显示结果

:sh 切换到命令行,使用ctrl+d切换回vim

删除

x 删除当前字符

dd 删除当前行 d(elete)

dw 删除当前光标下的词 d(elete)w(ord)

复制粘贴

yy 复制当前行 y(ank)

yw 复制当前光标下的词 y(ank)w(ord)

p 粘贴 p(aste)

P 粘贴在当前位置之前

进阶操作

限于篇幅,在这里我仅介绍下我非常常用的几个操作。

重复操作

因为VIM所有的操作都是原子化的,所以把这些操作程序化就非常简单了:

5w 相当于按五次w键;

6j 下移6行,相当于按六次j;

3J 大写J,本来是将下一行与当前行合并,加上数量,就是重复操作3次;

6dw和d6w 结果是一样,就是删除6个word;

剩下的无数情况,自己类推吧。

高效编辑

di" 光标在""之间,则删除""之间的内容

yi( 光标在()之间,则复制()之间的内容

vi[ 光标在[]之间,则选中[]之间的内容

以上三种可以自由组合搭配,效率奇高,i(nner)

dtx 删除字符直到遇见光标之后的第一个x字符

ytx 复制字符直到遇见光标之后的第一个x字符

标记和宏(macro)

ma 将当前位置标记为a,26个字母均可做标记,mb、mc等等;

'a 跳转到a标记的位置;

这是一组很好的文档内标记方法,在文档中跳跃编辑时很有用;

qa 将之后的所有键盘操作录制下来,直到再次在命令模式按下q,并存储在a中;

@a 执行刚刚记录在a里面的键盘操作;

@@ 执行上一次的macro操作;

宏操作是VIM最为神奇的操作之一,需要慢慢体会其强大之处;

VIM的基本操作,可以挖掘的东西非常多,不仅仅需要记忆,更需要自己去探索总结,熟练之后,效率会大幅度提升。后面会给出一些参考链接。

插件管理

Vundle

VIM的强大不仅仅体现在操作的高效率,更有强大而充沛的插件做支援,插件丰富了之后,就面临查找和管理的问题。

Vundle的逻辑是这样的:

Vim Script选好你想要的插件;

在VIM的配置文件中写一句 Bundle plugin_name;

执行一下Vundle的初始化命令,插件就装好了;

升级和卸载也是同样的简单;

Vundle的配置

Vundle的安装很简单:

git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

然后写配置文件.vimrc:

set nocompatible " be iMproved

filetype off " required!

set rtp+=~/.vim/bundle/vundle/

call vundle#rc()

" let Vundle manage Vundle

" required!

Bundle 'gmarik/vundle'

" vim-scripts repos

Bundle 'vim-plugin-foo'

Bundle 'vim-plugin-bar'

filetype plugin indent on " required!

其中Bundle后面的内容,就是插件的名字,插件维护在Vim-Script.org

然后,打开VIM之后,可以输入以下命令:

"安装插件:

:BundleInstall

"更新插件:

:BundleInstall!

"卸载不在列表中的插件:

:BundleClean

"显示列表中所有的插件

:BundleList

现在大部分的插件都已经从Vim.org迁移到了Vim-Script.org,而且很多作者也认领了自己的插件,直接在这个Github的项目下更新,一个比Vim.org更科学更有效的生态环境,就这样完美的形成了。

在此非常严重的感谢vim-scripts.org的创建者Scott Bronson,和Vundle的作者gmarik。他们的创新和分享精神,让这个世界又美好了一些。

也感谢业界良心Github。Vim-Scripts.org整站就是用Github Pages建立维护的,对于个人来说,这是很好的选择。

插件介绍

有了Vundle,再装插件就是件享受的事情了。

#自动识别文件编码;

Bundle 'FencView.vim'

#解放生产力的神器,简单配置,就可以按照自己的风格快速输入大段代码。

Bundle 'UltiSnips'

以上插件可以在vim-script.org找到源码和文档。

更多

关于VIM的使用,这篇博客仅仅介绍了很小的一部分,网络上还有大量朋友总结的心得,常学常有收获:

Vim Cheat Sheet,有VIM的各种助记图,可以作为桌面

网友狂人收集的vim资料链接

Best of Vim Tips

Vim代码折叠简介
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: