您的位置:首页 > 其它

轻量好用的 vim插件配置

2016-08-12 16:07 190 查看


:help打开帮助文档

ctrl+]打开vim上的帮助文档上的分文档

//配置vim插件在终端执行的命令步骤

声明:这款插件是我的前主管大人配置的,确实比较好用分享给大家,后面的快捷键很多也是针对这款插件,希望大家喜欢!

(home目录克隆下插件的配置)

git clone https://github.com/iceleaf916/vimfiles

mv vimfiles/ .vim

cd .vim

cd .. //(回到home目录)

ln -s .vim/.vimrc .vimrc

Cd .vim

Cd scripts/

Sudo apt-get install python-yaml //( 提示缺少yaml模块的话,安装这个模块)

//安装之前可以使用update更新下./update.sh

./create.py

Ls

./download.sh

vim 主要用法:

1定位:

enter: 到下一行的第一个字符

+: 到下一行的第一个字符

-:到上一行的第一个字符

:行数,定位到某行

/string 定位某个字符串 按enter查找, n向下一个 N向上一个

gg定位首行

nG:跳转到n行

n|: 跳转到本行的第n列

G定位末行

:0: 文首

:文尾0:行首: 行尾,n$移动到下面n行的行尾

^: 命令移动到某行的第一个非空格字符

‘H’:跳转到行的第一字符(Home);’M’:跳转到行的中间字符(Middle);’L’:跳转到行的末尾(Last)

nH,nL移动到距离屏幕顶部和顶部n行的位置

ctrl+f 向后移动一页

ctrl+b 向上移动一页

ctrl+d 向下移动半页

ctrl+u 向上移动半页

30%: 跳转到文件的30%处

fx向后移动到x字符

Fx向前移动到x字符

(tx向右移动到x字符前

Tx向左移动到x字符后)

nw: 向后移动n个单词

nb: 向前移动n个单词

#:移动到当前单词的相同的上一个单词(要部分匹配用g#)

: 移动当前单词的相同的下一个单词(要部分匹配用g)

%:光标放在括号上,移动到匹配的括号上去

‘:按两下,匹配到上次的修改的位置

zz: 置当前行到视图的中间位置,方便观察上下行

zt: 将光标所在的行移动到屏幕的顶端,zb:使光标移动到屏幕的底端

w:向后移动单词,Nw移动到N 个字母,移动到单词的首字母

e:移动到单词的词尾字符,ea可以直接给单词追加内容,E移动到单词的词尾忽略标点

9999k: 移动到头文件

:\C匹配大写

:\c匹配小写

2 复制 剪切 删除等

.命令是重复上次操作的命令,非常有用

全部删除:按esc后,然后dG

全部复制:按esc后,然后ggyG

全选高亮显示:按esc后,然后ggvG或者ggVG

ctrl+G:查看当前行信息

x:删除后面的字符,X删除钱一个字符,nx,nX

dd: 删除一行,D:删除到行尾

dt: 将光标放到s上,想删除到‘(’为止,输入dt(

d/it:向后删除到it(it不删除),d?it,向后删除至it(it删除)

d:剪切当前的光标到行尾d:剪切当前光标到行首caw:删除某个单词并输入新的,改写该单词(同cw)daw:删除某个单词并输入新的,包括单词后面的空格yaw:复制一个单词,光标可以在单词的任意位置,yw复制一个单词,ynw复制n个单词J:删除某行的换行符,并并入到上一行;nJ链接后面的n行dw:删除单词单词加后面的空格de:删除单词,dE删除范围包括括号在内的单词结尾u:撤销上一次的操作,U:撤销当前行的所有修改ctrl+r:对撤销的撤销i:在光标前插入a:在光标后插入I:在行首插入A:在行尾插入o:在当前行下面另起一行,并变为插入模式O:在当前行的上面另起一行,并变为插入模式s:删除当前的字符,并进入编辑模式,S: 删除整行字符,并进入编辑模式e!:放弃修改并重新打开文件c:命令表示change,命令与d类似只是完成操作会进入插入模式,c2w删除2个单词并写入,不会删除单词后的空格,cc可以删除一整行,但是同时会保留行首的缩进格式nyy:复制光标后的N行ynj:向下复制n行ynk:向上复制n行y:拷贝到行尾

Y: 拷贝一整行

v%: 将光标放在{上, 输入v%可以选中{}中的所有内容

P: 粘贴于光标前

p: 粘贴于光标后

3P: 粘贴3次

‘2p: 粘贴最后第二次删除的内容

x,p:交换两个相邻的字符

.: 重复刚才的操作

~:更改字母的大小写,同时光标进入下一个字符,n~:把后面n个字母的大小写状态改变

n~: 改变光标开始的n个字母大小写

g~~: 改变当前行的大小写

U: 可视模式下选择的字母会改成大写字母

u: 可视模式下选择的字母会改成小写字母

gUU: 当前行变大写,ngUU…n行

guu: 当前行变小写,nguu…n行

rc: 用c来替换光标所在当前字符

nrc: 用n个c来插入到当前光标

nr: 把后面的n个字符替换掉

r[enter]:会删除光标下的字符并插入一个换行符

ctrl+v:可是模式下块选中,选中某个块之后,输入o命令表示跳到另一边(other side)

3替换复制等

%s/str1/str2/g:替换每一行的str1为str2

:10, 20 s/str1/str2/g 替换10到20之间的str1为str2

:10, s/str1/str2/g替换10到最后一行的str1为str2:., s/str1/str2/g 替换从当前行到末尾

:1,$ s/str1/str2/gc(替换之前confirm)?

:g/str1/s//str2/g 替换正文中所有出现str1为str2 

 

4 保存操作
:f file:将当前文件重命名为file
:f 当前当前的文件名称和状态以及文件的行数,光标所在文件位置等
:w 保存当前的写入
:wq 保存并退出(:x)
:w file将当前文件的内容另存到file
:r file读取文件file的内容并写入到光标所在位置的后面
a,bw file将a行到b行的内容写入到file文件

:1, .w file将一行到当前行写入到file

.,wfile将当前行到最后一行写入到file:.,.+5wfile 将光标所在行的6行写入到文件file:/str1/wfile将搜索到文字所在的一整行写入到file:/str1/,/str2/wfile将搜索到的包含str1至str2的所有行写入到文件file5正则表达式:/str1/ 搜索文件中包含str1的字符串:/str1/搜索字符串在行首的,并在第一个字符的和类似匹配字符串尾部,在最后一个字符

\<匹配一个字的字头,字符串可以在任意位置

>匹配一个字的字尾,字符串可以在任意位置

[str]匹配str中的任意一个字符

[^str]不匹配str中的任何一个字符

[a-b]匹配a至b中的任意一个字符

:g/^(.*)\n\1/d 删除相同的行保留最后一行

:g/^\s*\n\s∗/d

6 vim编辑二进制文件

vim -b filename: 用二进制的方式打开一个文件,键入命令(:%!xxd),可以看到文本以二进制的方式显示出来

(:%!xxd -r)恢复文本原来的显示,去掉二进制显示模式:

:%!xxd -g 1 表示每1个字节为1组

:%!xxd -g 2 表示每2个字节为1组(默认)

:%!xxd -g 4 表示每4个字节为1组

7set 命令

:set ignorecase 设置查找忽略大小写

:set noignorecase 设置不忽略大小写

:set incsearch 在输入查找的过程当中就进行匹配,以免输入错误,无法匹配

:set nowrapscan 在查找的过程当中遇到文件开头或者结尾就停止查找
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  vim