自用的VIM插件

NERD_tree.vim


[NERD_tree.vim]-主要功能是一款文件浏览器,可以查看文件目录结构打开相应的文件

下面总结一些命令

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-eD 删除当前书签
P 跳到根结点
p 跳到父结点
K 跳到当前目录下同级的第一个结点
J 跳到当前目录下同级的最后一个结点
k 跳到当前目录下同级的前一个结点
j 跳到当前目录下同级的后一个结点
C 将选中目录或选中文件的父目录设为根结点
u 将当前根结点的父目录设为根目录,并变成合拢原根结点
U 将当前根结点的父目录设为根目录,但保持展开原根结点
r 递归刷新选中目录R 递归刷新根结点
m 显示文件系统菜单 #!!!然后根据提示进行文件的操作如新建,重命名等
cd 将 CWD 设为选中目录I 切换是否显示隐藏文件
f 切换是否使用文件过滤器
F 切换是否显示文件
B 切换是否显示书签
q 关闭 NerdTree 窗口
? 切换是否显示 Quick Help


命令模式

:tabnew [++opt选项] [+cmd] 文件 建立对指定文件新的tab
:tabc 关闭当前的 tab
:tabo 关闭所有其他的 tab
:tabs 查看所有打开的 tab
:tabp 前一个 tab
:tabn 后一个 tab


标准模式下:


gT 前一个 tab
gt 后一个 tab


MacVim 还可以借助快捷键来完成 tab 的关闭、切换cmd+w 关闭当前的 tabcmd+{ 前一个 tabcmd+} 后一个 tab




mark.vim


[mark.vim]-主要的功能是变量的高亮,允许你在文本中放置自定义的标记
在编辑的时候,你忽然想起来需要修改同一个文档的另一个地方,但又想记住当前的位置,以便稍后再回来编辑。应该怎么
做呢?vim中我们可以对文本进行标记,这个概念类似于visual studio中的书签,目的是方便vim编辑器在文档的不同位置
间跳转。正常情况下,这意味着要移动到那个位置,编辑,然后再移回来。这样很费事,也容易忘记刚才所在的位置。
有更聪明的办法。移动光标到下述文本的第5行(John Lennon的名言)。用ma创建一个名为'a'的标记。移动光标
到任一地方,比如,4j。按下’a(即,单引号加上标记的名字),瞧Vim跳到了刚才做标记的那一行的行首。如果要跳到做标记
的位置,按下‘a(即`,上排数字键1左边那个键)。可以使用任一字母(a-zA-Z)去命名一个标记,意味着一个文件里最多可以
有52个命名标记。


添加标记

将光标移到某一行,使用 ma 命令添加标记。其中,m 是标记命令,a 是所做标记的名称。
可以使用小写字母 a-z 或大写字母 A-Z 中的任意一个做为标记名称。小写字母的标记,仅用于当前缓冲区;而大写字母的
标记,则可以跨越不同的缓冲区。例如,你正在编辑 File1,但仍然可以使 用'A 命令,移动到 File2 中创建的标记A。

跳转标记

创建标记后,可以使用 'a 命令,跳转到指定标记行的首个非空字符。这里 ' 是单引号。也可以使用 'a 命令,移到所做
标记时的光标位置。这里'是反引号(也就是数字键1左边的那一个)。


列出标记

利用:marks命令,可以列出所有标记。这其中也包括一些系统内置的特殊标记(Special marks):

. ——最近编辑的位置
0-9——最近使用的文件
∧ ——最近插入的位置
' ——上一次跳转前的位置
" ——上一次退出文件时的位置
[ ——上一次修改的开始处
] ——上一次修改的结尾处


删除标记

如果删除了做过标记的文本行,那么所做的标记也就不存了。我们不仅可以利用标记来快速移动,而且还可以使用标记来删除
文本,例如:在某一行用ma做了标记,然后就可以使用d'a来删掉这一行。当然,我们也可以使用y'a命令就可以来复制这一行
了。
使用:delmarks a b c命令,可以删除某个或多个标记;而:delmarks! 命令,则会删除所有标记。
利用:help mark-motions命令,可以查看关于标记的更多帮助信息。

命令小结

m ——创建标记
' ——移动到标记的文本行首
` ——移动到标记的光标位置
:marks ——列示所有标记
:delmarks ——删除指定标记
:delmarks! ——删除所有标记




commentary.vim


[commentary.vim]-主要功能是可以批量注释单行或多行以及去除注释;

gc:Visual模式下可以注释选中的行
gcc:普通模式下可以快速注释一行
gcu:可以撤销注释

multiple_cursors.vim


[multiple_cursors.vim]-多行、多光标编辑

通过按 Ctrl + n 来多重选取。一旦选取完成,便可配合 Vim 既有的命令对其进行编辑处理。最后按 Esc 可以退出多重选取
状态。此外,你也可以使用 MultipleCursorsFind 命令通过正则表达式来进行多重选取和编辑。

ctrlp.vim

[ctilp.vim]-主要功能是对系统文件进行搜索

ctrl + j/k 进行上下选择
ctrl + x 在当前窗口水平分屏打开文件
ctrl + v 同上, 垂直分屏
ctrl + t 在tab中打开

neocomplcache

[neocomplcache.vim]-自动补全插件

ctrl+n-对补全代码向下选择
ctrl+p-对补全代码向上选择

emmet.vim

[emmet.vim]-HTML超级编写利器,利用简写语法达到编写目的。

Emmet的基本用法:先写简写形式,然后用","将其转成HTML代码
基本规则:
(1):E 代表HTML标签
(2):E#id 代表标签E有id属性
(3):E.class 代表E有class属性
(4):E[attr=foo] 代表某个特定属性
(5):E{info} 代表标签E包含的内容是info
(6):E>N 代表N是E的子元素
(7):E+N 代表N是E的同级元素
(8):E^N 代表N是E的上级元素

vim-surround

[vim-surround]-这个插件可以快速的为字符串包围/改变或去除引号/括号或者HTML标签

为单个单词包围

ysiw + '/"/(/[/{ :在命令模式下, 就可以为光标下的一个单词包围上 '/"/(/[/{

比如
ysiw' :为光标下的单词包围上单引号
ysiw" :为光标下单词包围上双引号, 依此类推.
vim-surround 同时还支持包围html标签, 将光标放到某单词试试下面指令:ysiw

ysiw


yssb :包围一行,可以快速为一行包围圆括号,.
yss + '/"/(/[/{ : 可以为正行快速包围相应的引号/括号
比如
yss" :为一行包围双引号


更改包围

cs :可以更改包围,

比如
cs'" :是将单引号变成双引号
cs"( :是将双引号变成圆括号
vim-surround支持将括号或者引号变更为html标签, 试试命令cs'

:将单引号换成

标签


去除包围

ds:指令可以取出包围, 后面需跟包围的内容,
ds":是去除双引号包围, ``

你可能感兴趣的:(自用的VIM插件)