Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

我正在使用的vim ,自己加入了多个主题供候选。

install

  $ chmod +x install.sh

  $ ./install.sh

使用

插件管理

  1. :BundleClean (清理未使用的插件)

  2. :BundleInstall (安装新增的插件)

  3. :BundleInstall! (升级所有插件)

一些快捷键

  1. Ctrl + p (快速模糊搜索文件)

  2. H,L切换标签页;Delete关闭当前标签页

  3. Ctrl + h/j/k/l (拆分窗口之间移动)

  4. :Ack or + a (切换Ack搜索)

  5. viw 选中一个单词,然后按S" ,就给这个单词加上了双引号

  6. vim里符号对齐,语法为:'<,'>Tab /= (这是等号对齐),这是一个视频教程

    • 选中后按shift+:然后输入Tab /,(按逗号对齐)
  7. F3 查看修改记录

  8. F4 查看对齐情况

  9. F5 列出方法列表

  10. F6 打开树状目录结构

  11. F12 -> Toggle Mouse

如果是在iTerm2中使用,那上面7、8、9是用不了的,要配置iTerm2的Preferences->Profiles->keys 里选择Send Text with "vim" Special Characters分别配置为 [1;GundoToggle\r ,[1;IndentGuidesToggle\r ,[1;TagbarToggle\r ,[1;NERDTreeToggle\r 才可以使用。

源码来自 https://github.com/humiaozuzu/dot-vimrc

命令行模式:

提示符 说明
执行一条Ex命令
/ 执行正向查找
执行反向查找
= 对一个vim 脚本表达式求值,在插入模式下安=才能进入,只能计算加减乘
:s/target/repl 执行行内替换 (&重复做、u撤销)

普通模式:

命令 说明
. 重复上一个操作
C 等效 c$ 向后删除
s 等效 cl 删除当前光标下的字符,并进入插入模式
S 等效 ^C 从当前行的行首删除整行内容,并进入插入模式
I 等效 ^i 将光标移到当前行行首,并进入插入模式
A 等效 $a 将光标移到当前行行尾,并进入插入模式
o 等效 A 向下新增一行,并进入插入模式
O 等效 ko 向上新增一行,并进入插入模式
vit 选中一对html标签之间的文本
>G 缩进光标所在行及以下的所有行
daw 删除当前光标所在的整个单词 (delete a word)
cit 删除HTML标签里的内容
<C-a>/<C-x> 对当前数字加1/减1
zz 显示当前所在行的上下文
r 替换当前字符
p/P 向光标后/前粘贴内容
R 进入替换模式,可以连续替换
# 高亮与当前光标所在单词相同的所有单词
* 选中当前光标所在单词一样的单词
U 将当前选中的字符转为大写
u 将当前选中的字符转为小写
`. 回到上次修改的地方
mk 把当前光标所在位置,设置一个名字为k的标记,使用`k可以跳回这里,最多26个标记。
mB 把当前文件,设置一个名字为B的标记,在其他文件下使用`B可以跳到这个文件来,最多26个标记。
{/} 跳到上一段/下一段的开头
H/M/L 跳到屏幕的上/中/下
"+yy 复制光标所在行到系统剪贴板
"+p 将系统剪贴板的内容粘贴到vim来

插入模式下:

命令 说明
<C-h> 删除前一个字符
<C-w> 删除前一个单词
<C-u> 删除至行首
<C-[>/<C-o> 替代ESC
<C-v>u{1234} 插入特殊字符,例如:<C-v>u00bf

可视化模式:

命令 说明
viw 选中当前单词
v 激活面向字符的可视模式
V 激活面向行的可视模式
<C-v> 激活面向列块的可视模式
vb 以-个单词为单位,往前选中,如:vbbb,选中前3个单词
ve 以-个单词为单位,往后选中,如:vee,选中前2个单词
o 在上面三种操作中,移动光标到选中区域的首或尾
gv 重选上次的高亮选区
<C-v> j j $ A ; <ESC> 在长短不一的行后都加上一个;号

操作符:

命令 说明
c 修改
d 删除
y 复制到寄存器
g~ 反转大小写
gu 转换为小写
gU 转换为大写
> 增加缩进
< 减小缩进
= 自动缩进
! 使用外部程序过滤动作命令所跨越的行

动作命令:(配合操作符c,d,y,v使用)

命令 说明
iw 当前单词
iW 当前字符串(以空格为分界)
is 当前句子
ip 当前段落
aw 当前单词 + 一个空格
aW 当前字符串 + 一个空格(以空格为分界)
as 当前句子 + 一个空格
ap 当前段落 + 一个空行

命令行模式:

命令 说明
:3d 删除第三行
:2,5p 2~5行
:.,$p 当前行到最后一行
:%p 所有行
:ls 查看在缓冲区的所有文件
:buffer N 结合:ls 使用,调到指定的文件进行编辑
:e. 打开当前路径的文件目录
:g/andy/d 删除有"andy"字符的行
:v/andy/d 只保留有"andy"字符的行
:sort (vi{,:sort) 对css的属性按字母排序

其他:

vim 中提到的 缓冲区 就是vim在编辑某个文件时,实际上是在编辑.swap文件,保存时才被写入到实际的文件中的。

vim -u NONE -N 以出厂配置来使用vim

操作符号 + 动作命令 = 操作