基于webvim修改的,增加插件、优化使用。
Only tested on Mac OSx
- 最新版本的Vim 7.4+ 使用(
brew install macvim)安装,vim 版本更新brew install macvim --override-system-vim - Node.js and npm
- 通过npm安装一些依赖
npm install -g eslint csslint jshint jsonlint handlebars
$ git clone https://github.com/jaywcjlove/vim-web.git ~/.vim
$ ln -s ~/.vim/.vimrc ~/.vimrc
$ vim注: 默认已经安装了前端必备插件。
- 在
/plugins/def.vim中添加 Github 地址,如:username/repos。 - 命令行中运行
vim。 - 输入
:PlugInstall摁enter进行安装。
进入 vim 输入下面命令:
:PlugUpdatea → 在光标所在字符后插入
A → 在光标所在字符尾插入
i → 在光标所在字符前插入
I → 在光标所在行行首插入
o → 在光标下插入新行
O → 在光标上插入新行
:set number → 设置行号 简写set nu
:set nonu → 取消行号
gg → 到第一行
G → 到最后一行
nG → 到第n行
:n → 到第n行
S → 移至行尾
0 → 移至行尾
hjkl → 前下上后
w → 到下一个单词的开头
b → 与w相反
e → 到下一个单词的结尾。
ge → 与e相反
0 → 到行头
^ → 到本行的第一个非blank字符
$ → 到行尾
g_ → 到本行最后一个不是blank字符的位置。
fa → 到下一个为a的字符处,你也可以fs到下一个为s的字符。
t, → 到逗号前的第一个字符。逗号可以变成其它字符。
3fa → 在当前行查找第三个出现的a。
F 和 T → 和 f 和 t 一样,只不过是相反方向。
zz 将当前行置于屏幕中间(不是转载…)
zt 将当前行置于屏幕顶端(不是猪头~)
zb 底端啦~
整页翻页 ctrl-f ctrl-b
f就是forword b就是backward
x → 删除关闭所在处字符
nx → 删除关闭所在处n个字符
dd → 删除光标所在行,ndd → 删除n行
dG → 删除光标所在行到文件末尾内容
D → 删除光标所在处到行尾内容
:n1,n2d → 删除指定范围的行 如:1,2d
yy和 p 的组合键,或者dd和 p 的组合键
yy → 复制当前行
nyy → 复制当前行以下n行
dd → 剪切当前行
ndd → 剪切当前行以下n 行
p、P → 粘贴在当前光标所在行或行上
2dd → 删除2行
3p → 粘贴文本3次
r → 取代关闭所在处字符
R → 从光标所在处开始替换字符,摁ESC结束
u → 取消上一步操作
ctrl + r 返回上一步
:w → 保存修改
:w new_filename → 保存为指定文件
:wq → 保存修改并推出
ZZ → 快捷键,保存修改并推出
:q! → 不保存修改推出
:wq! → 保存修改并推出(文件所有者,root权限的用户)
/string → 搜索指定字符串,搜索时忽略大小写命令 :set ic
n → 搜索指定字符串的下一个出现位置
# → 搜索指定字符串的上一个出现位置
:%s/old/new/g → 全文替换指定字符串,%s → 全文替换,1,3s指定范围替换,g全局替换, c询问替换
:vimgrep /dostuff()/j ../**/*.c 搜索文件内容
:lvim /\<\(house\|home\)\>/gj *.txt 搜索
:lw 列出搜索结果
Ctrl+ww
Ctrl+n // 菜单切换Ctrl-n #匹配下一个关键字
Ctrl-p #匹配上一个关键字:ce(nter) # 居中显示光标所在行
:ri(ght) # 靠右显示光标所在行
:le(ft) # 靠左显示光标所在行
J # 将光标所在下一行合并到光标所在行
>> # 光标所在行增加缩进(一个tab)
<< # 光标所在行减少缩进(一个tab)
n>> # 光标所在行开始的n行增加缩进
n<< # 光标所在行开始的n行减少缩进:tabnew [++opt选项] [+cmd] 文件 #建立对指定文件新的tab
:tabc #关闭当前的tab
:tabo #关闭所有其他的tab
:tabs #查看所有打开的tab
:tabp #前一个
:tabn #后一个# 下面为自定义快捷键
tnew #新建tab
tn #后一个 tab
tp #前一个 tab
#标准模式下:
gt , gT #可以直接在tab之间切换。
#还有很多他命令, 看官大人自己, :help table 吧。
#
Ctrl+ww # 移动到下一个窗口
# 或者 先按组合键ctrl+w ,然后都松开,然后通过j/k/h/l(等于vim移动的方向键) 来移动大哦哦左/上/下/右的窗口
Ctrl+wj #移动到下方的窗口
Ctrl+wk #移动到上方的窗口:new 水平切割窗口
:split 水平切割窗口(或者直接输入 :sp 也可以)
:vsplit 垂直切割( 也可以 :vs ):close #最后一个窗口不能使用此命令,可以防止意外退出vim。
:q #如果是最后一个被关闭的窗口,那么将退出vim。zfap #创建一个段落的折行
zc #关闭折行
zo #打开折行:21,27s/^/#/g 行首替换#替换(增加)掉
:ab mymail [email protected] 输入mymail 摁下空格自动替换成[email protected]
- 导入命令执行接货
:r 文件路径/文件名命令 - 找命令
:!which ls不推出vim运行命令 - 查看编辑时间
:!date - 组合使用
:r !date将当前编辑时间导入当前文本光标所在行 - gU (变大写)
- gu (变小写)
在文件~/.vim/plugins/def.vim 添加一行
- 在Github vim-scripts 用户下的repos,只需要写出repos名称
- 在Github其他用户下的repos,需要写出
用户名/repos名 - 不在Github上的插件,需要写出git全路径
打开vim,运行:BundleInstall或在shell中直接运行vim +BundleInstall +qall
- Mango A nice color scheme
- VimAirline Lean and mean statusbars
- NERDTree Manage your project files
- VimFugitive Git integration
- VimGitGutter Git diff in the gutter
- EditorconfigVim Shared coding conventions
- command-t 文件搜索
- NERDCommenter 注释更容易
- VimTrailingWhitespace 突出尾随空格
- Syntastic 语法检查
- VimEasyAlign 调整部分代码
- VimMultipleCursors Write on multiple lines easily
- VimJsBeautify Reformat JavaScript, HTML and JSON files
- VimYankStack Iterate over yanked stack on paste
- VimSurround Quoting and parenthesizing
- YouCompleteMe Autocompletion engine
- VimForTern Smart JavaScript autocompletion
- VimNode Navigate through node.js code/modules
- VimLint Linter used by syntastic for VimL
- VimLParser VimL parser (required by VimLint)
- emmet-vim 提高HTML和CSS的工作流
- VimJson JSON highlighting and quote concealing
- YaJS JavaScript syntax (ES5 and ES6)
- JavaScriptLibrariesSyntax Syntax highlighting for well-known JS libraries
- VimCSS3 CSS3 syntax
- ScssSyntax SCSS syntax
- HTML5 HTML5 syntax
- Stylus Stylus 代码高亮
~/.vim/plugins/plugged/command-t/ruby/command-t 目录下面的执行ruby extconf.rb 然后执行make,<Leader>t or |:CommandT 来启动搜索。
div>p#foo$*3>a 输入完成后,快捷键<ctrl+y>,生成html代码。
按大写的 V 进入 Vim 可视模式,行选取上面三行内容,然后按键 <c-y>,,这时 Vim 的命令行会提示 Tags:,键入ul>li*,然后按 Enter。
<ctrl+y>d 根据光标位置选中整个标签
<ctrl+y>D 根据光标位置选中整个标签内容
<ctrl-y>n 跳转到下一个编辑点
<ctrl-y>N 跳转到上一个编辑点
<ctrl-y>i 更新图片大小
<ctrl-y>m 合并成一行
<ctrl-y>k 移除标签对
<ctrl-y>j 分割/合并标签
<ctrl-y>/ 切换注释
<ctrl-y>a 从 URL 地址生成锚
<ctrl-y>A 从 URL 地址生成引用文本
help emmet
http://my.oschina.net/u/1030865/blog/323114
ctrl + w + h # 光标 focus 左侧树形目录
ctrl + w + l # 光标 focus 右侧文件显示窗口
ctrl + w + w # 光标自动在左右侧窗口切换
ctrl + w + r # 移动当前窗口的布局位置
o # 在已有窗口中打开文件、目录或书签,并跳到该窗口
go # 在已有窗口 中打开文件、目录或书签,但不跳到该窗口
t # 在新 Tab 中打开选中文件/书签,并跳到新 Tab
T # 在新 Tab 中打开选中文件/书签,但不跳到新 Tab
i # split 一个新窗口打开选中文件,并跳到该窗口
gi # split 一个新窗口打开选中文件,但不跳到该窗口
s # vsplit 一个新窗口打开选中文件,并跳到该窗口
gs # vsplit 一个新 窗口打开选中文件,但不跳到该窗口
! # 执行当前文件
O # 递归打开选中 结点下的所有目录
x # 合拢选中结点的父目录
X # 递归 合拢选中结点下的所有目录
e # Edit the current dif
双击 相当于 NERDTree-o
中键 对文件相当于 NERDTree-i,对目录相当于 NERDTree-e
D # 删除当前书签
#
P # 跳到根结点
p # 跳到父结点
K # 跳到当前目录下同级的第一个结点
J # 跳到当前目录下同级的最后一个结点
k # 跳到当前目录下同级的前一个结点
j # 跳到当前目录下同级的后一个结点
C # 将选中目录或选中文件的父目录设为根结点
u # 将当前根结点的父目录设为根目录,并变成合拢原根结点
U # 将当前根结点的父目录设为根目录,但保持展开原根结点
r # 递归刷新选中目录
R # 递归刷新根结点
m # 显示文件系统菜单
cd # 将 CWD 设为选中目录
I # 切换是否显示隐藏文件
f # 切换是否使用文件过滤器
F # 切换是否显示文件
B # 切换是否显示书签
#
q # 关闭 NerdTree 窗口
? # 切换是否显示 Quick Help-
定义行首添加
#注释 ::map ^P I#<ESC>摁ctrl + v +p定义快捷键I#首行插入#摁<ESC>推出 -
定义快捷键去掉
#注释::map ^B 0x跳到行首删除