Skip to content

zeoio/vimrc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Installation

  1. Clone and install this repo:

    git clone https://github.com/zeoio/vimrc.git

    mv vimrc/.vimrc ~/.

  2. Setup vundle:

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

  3. Install bundles. Lanuch vim and run:

    :BundleInstall

How to manage this vimrc?

All plugins are listed in file bundles.vim with detailed comments, just and plugins as you like.

  1. :BundleClean to clean up unused plugins
  2. :BundleInstall to install newly added plugins
  3. :BundleInstall! to upgrade all plugins

Tutorial

	:w 			保存,但不退出  
	:wq 			保存并退出  
	:x 			同:wq 
 	:q 			退出,如果当前文件没有保存,禁止退出  
	:q! 			不保存退出 
	:w file 		将内容保存至文件file中,注意:此时编辑的仍为原文件,若文件file存在,:w file1将禁止执行
 	:w! file 		将内容覆盖保存至文件file中.

	:set 	 	       	显示已设置的环境状况  
	:set all 		显示所有的环境设置选项  
	:set nu  	       	显示行号  
	:set nonu	 	不显示行号 
 
 	:10,20d 		删除第10行至第20行的内容  
	:10d 			删除第10行的内容  
	:%d 			删除全部内容 
 	:10,20co30 		将第10行至第20行的内容复制到第30行之后  
	:10,20mo30 		将第10行至第20行的内容移动到第30行之后  
	:1,$s/old/new 		将第1行至最后一行中的old替换成new  
	:1,$s/^/new 		将第1行至最后一行的内容前面插入new  
	:10  			将游标移至第10行

	:%!xxd 			将当前文本转换为16进制格式。
	:%!od 			将当前文本转换为16进制格式。
	:%!xxd -c 12		将当前文本转换为16进制格式,并每行显示12个字节
	:%!xxd -r 		将当前文件转换回文本格式

	:split			水平分割视窗(可加文件名顺便开启另一文档)
	:vsplit 		垂直分割视窗(可加文件名顺便开启另一文档)
	:diffsplit filename	以分割视窗和文档filename作比较

Shortcuts

  • a 在当前游标之后输入

  • A 在当前行之末输入

  • i 在当前游标之前输入

  • I 在当前行之首输入

  • o 在当前行之下新增一行,并在新增行输入

  • O 在当前行之上新增一行,并在新增行输入

  • h 向左移动一个位置

  • l 向右移动一个位置

  • j 向下移动一个位置

  • k 向上移动一个位置

  • b 左移一个单词,至词首

  • w 右移一个单词,至词尾

  • W 右移一个单词,跳过标点符号

  • e 跳到目前单词的尾端

  • 0 移到当前行行首

  • ^ 移到当前行行首有效字符位置

  • $ 移到当前行行尾

  • + 移至下一行的行首

  • - 移至上一行的行首 

  • H 移至视窗的第一行  

  • M  移至视窗的中间一行  

  • L 移至视窗的最后一行  

  • gg 移至该文件的第一行

  • G  移至该文件的最后一行  

  • nG  移至该文档的第n行  

  • n+  下移n行  

  • n-  上移n行 

  • { 上一段(以空白行分割)

  • } 下一段(以空白行分割)

  • [{ 跳到目前区块开头

  • ]} 跳到目前区块结尾

  • % 跳到目前对应的括号上(使用各种括号)

  • x  删除游标所在字元  

  • X 删除游标前一字元 

  • dw  从游标当前位置开始向后删除一个单词  

  • db  从游标当前位置开始向前删除一个单词  

  • d0  从行首删除至当前游标位置  

  • d$  从游标当前位置删除至行尾  

  • dd  删除游标所在行  

  • D  同d$

  • s  修改游标所在字元,修改完成后按Esc键结束  

  • S  修改整行内容,修改完成后按Esc键结束 

  • r  替换当前游标所在字元 

  • R  进入替换状态,直至按Esc键结束  

  • cw  修改一个单词(从游标位置至词尾)  

  • cb  修改一个单词(从词首至游标位置)  

  • cc  修改整行内容,完成后按Esc键结束,同S  

  • c0  修改行首至游标位置的内容  

  • c$  修改游标位置至行尾的内容  

  • ~  游标所在字元大小写切换

  • nx  删除n个字元  

  • ndd  删除n行  

  • ns  修改n个字元 

  • u 撤销上一指令的结果

  • "+y 从vim复制到系统剪切板

  • "+p 表示从系统剪切板粘贴到vim

  • "+d 剪切

  • /字符串  从当前游标向后查找该字符串  

  • ?字符串  从当前游标向前查找该字符串  

  • n  从当前游标向后查找下一个字符串  

  • N  从当前游标向前查找下一个字符串 

  • # 往前搜索目前游标所在的字

  • * 往后搜索目前游标所在的字

  • fx 在目前行往后搜索字元x

  • gd 跳到目前游标所在的字的定义位置(编程时用,跳到定义变量/函数的地方)

  • . 重复上一条指令

  • Ctrl+f 视窗下卷一页  

  • Ctrl+b  视窗上卷一页    

  • Ctrl+d  视窗下卷半页  

  • Ctrl+u  视窗上卷半页

  • Ctrl+e  视窗下卷一行  

  • Ctrl+y  视窗上卷一行

  • Ctrl+w+j 跳到下面的分割窗

  • Ctrl+w+k 跳到上面的分割窗

  • Ctrl+w+h 跳到左边的分割窗

  • Ctrl+w+l 跳到右边的分割窗

  • Ctrl+n 自动补齐文档内的下一个可能的字

  • Ctrl+p 自动补齐文档内的上一个可能的字

  • Ctrl+g 显示正在编辑的文件名,当前游标所在行数,文件总行数,文件是否被修改

Plugins option

NERDTree

	:tabnew filename	建立对指定文件新的Tab
	:tabc			关闭当前Tab
	:tabo			关闭其他所有Tab
	:tabs			查看所有打开的Tab
	:tabp			前一个Tab
	:tabn			后一个Tab
  • Ctrl+w+h 光标定位在左侧树形目录

  • Ctrl+w+l 光标定位在右侧文件显示窗口

  • Ctrl+w+w 光标自动在左右侧窗口切换

  • Ctrl+w+r 移动当前窗口的布局位置

  • o 在已有的窗口中打开文件,目录,或者书签,并跳转到该窗口

  • go 在已有的窗口中打开文件,目录,或者书签,但不跳转

  • t 在新Tab中打开选中的文件/书签,并跳转到新的Tab

  • T 在新Tab中打开选中的文件/书签,但不跳转

  • i 水平分割一个新窗口打开选中文件,并跳转到该窗口

  • gi 水平分割一个新窗口打开选中文件,但不跳转

  • s 垂直分割一个新窗口打开选中文件,并跳转到该窗口

  • gs 垂直分割一个新窗口打开选中文件,但不跳转

  • O 递归打开选中结点下的所有目录

  • x 合拢选中结点的父目录

  • X 递归合拢选中结点下的所有目录

  • p 跳到父目录

  • P 跳到根节点

  • K 跳到当前目录下同级的第一个结点

  • r 递归刷新选中录

  • R 递归刷新根目录

  • m 显示文件系统菜单

  • I 切换是否显示隐藏文件

  • F 切换是否显示文件

  • B 切换是否显示书签

  • q 关闭NerdTree窗口

  • ? 切换是否显示Quick Help

  • gT 前一个Tab

  • gt 后一个Tab

Taglist

	:TlistOpen		打开taglist窗口
	:TlistClose		关闭taglist窗口
  • <CR> 跳到光标下tag所定义的位置
  • o 在一个新打开的窗口中显示光标下tag
  • <Space> 显示光标下tag的原型
  • u 更新taglist窗口中的tag
  • s 更改排序方式,在按名字排序和按出现顺序排序间切换
  • x taglist窗口放大和缩小
  • + 打开一个折叠
  • - 将tag折叠起来
  • * 打开所有的折叠
  • = 将所有的tag折叠起来
  • [[ 跳到前一个文件
  • ]] 跳到后一个文件
  • q 关闭taglist窗口

Tagbar

  • <CR> 跳到tag定义的位置
  • p 同上,但是光标留在Tagbar窗口
  • P 在预览窗口显示tag
  • <C-N> 跳到下一个顶级tag
  • <C-P> 跳到上一个顶级tag
  • <Space> 显示tag的原型
  • v 隐藏非公共的tag
  • + 打开折叠
  • - 关闭折叠
  • o 切换折叠
  • * 打开所有的折叠
  • = 关闭所有的折叠
  • zj 跳到下一个折叠
  • zk 跳到上一个折叠
  • s 折叠排序
  • c 折叠自动关闭选项
  • x 窗口放大或缩小
  • q 关闭tagbar窗口

EasyGrep

  • ,vv 在文件中搜索当前光标下的单词
  • ,vV 全词匹配搜索
  • ,va 与vv相似,搜索结果追加在上次搜索结果之后
  • ,vA 与vV相似,搜索结果追加在上次搜索结果之后
  • ,vr 替换
  • ,vo 打开选项菜单

Ctrlp

  • ctrl+f 在三种查找模式中相互切换

  • ctrl+b 同上

  • ctrl+y 创建新文件和对应的父目录

  • ctrl+d 切换到只查找文件名而不是全路径

  • ctrl+j/k j/k进行上下选择

  • ctrl+x 在当前窗口中水平打开文件

  • ctrl+v 同上,垂直分屏

  • ctrl+t 在tav中打开

  • ctrl+z 来标识或取消标识文件,然后按ctrl+o来打开文件

  • ctrl+n 在提示历史中选择下一个字符串

  • ctrl+p 在提示历史中选择上一个字符串

  • ,fu 进入当前文件的函数列表搜索

  • ,fU 搜索当前光标下单词对应的函数

c/h文件间互相切换(a.vim)

	:A	在新Buffer中切换到c/h文件
	:AS	横向分割窗口并打开c/h文件
	:AV	纵向分割窗口并打开c/h文件
	:AT	新建一个标签页并打开c/h文件

设置折叠

  • zi 打开折叠
  • zv 查看此行
  • zm 关闭折叠
  • zM 关闭所有折叠
  • zr 打开
  • zR 打开所有
  • zc 折叠当前行
  • zo 打开当前折叠

注释

  • ,ca 在可选的注释方式之间切换
  • ,cc 注释当前行
  • ,c 切换注释/非注释状态
  • ,cs 以性感的方式注释
  • ,cA 在当前行尾添加注释符,并进入Insert模式
  • ,cu 取消注释
  • ,c$ 注释当前光标到该行结尾的内容

语法高亮

  • ,m 高亮或反高亮一个单词
  • ,n 清除当前的单词高亮,若光标处无高亮的单词就清除所有的单词高亮
  • ,r 按照输入的正则表达式高亮单词
  • ,* 跳转到当前高亮的下一个单词
  • ,# 跳转到当前高亮的上一个单词
  • ,/ 跳转到任意下一个高亮单词
  • ,? 跳转到任意上一个高亮单词

About

Vim config file

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published