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代码折叠简介
相关文章推荐
- Vim 基本配置和常用命令
- vim常用命令技巧及基本配置
- Vim 基本配置和经常使用的命令
- vim基本命令
- 整理一下vim命令的基本用法
- Linux基本配置和管理 2 ---- Linux多命令协作----管道及重定向
- Linux+Django+MySQL:安装与配置,基本命令整理
- window命令下的基本操作之VIM文本编辑器
- vim基本命令
- Vim编辑器,find命令及bash环境配置
- Ubuntu里VIM的基本配置运行
- pix防火墙基本配置命令
- MAVEN常用命令+基本配置详解 2015
- Ubuntu里VIM的基本配置运行【修改版】
- vim基本命令
- 路由基本配置命令收录(快速入门)
- vim 的基本配置
- VIM常用基本命令
- Linux基础命令以及VIM文本编辑器的基本使用
- vim基本操作命令