Vim常用命令汇总

分屏显示

:split filename->打开文件filename,分屏显示
Ctrl+w->切换窗口

:q!->强制退出没有保存

在文件中移动

hjkl->左下上右
b->指定行的单词开头
e->指定行的单词末尾
G->文件末尾
gg->文件开头
L->当前页末尾
0->当前行头 or ^->当前行头
$->当前行尾
:n->跳到第n行
n|->跳到指定行的第n列

光标选择

V->进入行可视化模式(可以配合hjkl,甚至跨行88j
o->光标位置切换

剪切、复制和粘贴

yy->复制当前行
y$->复制当前位置到行末
x->删除当前光标下的字符
dw->删除光标之后的单词剩余部分
d$->删除光标之后的该行剩余部分
dd->删除当前行
D->删除当前位置到行末

大小写

Vu->指定行转小写
VU->指定行转大写
g~~->指定行切换大小写
ggguG->整个文本转小写
gggUG->整个文本转大写

删除空白行

:g/^\s*$/d

:g 代表在全文档范围内
^代表行的开始
\s*代表空白字符
&代表行的结束
d代表删除

去除重复行

先sort排序,再去重
:sort ->/直接排序
:g/^\(.*\)$\n\1$/d->去除重复行

查找指令:

/关键词 往下查找
?关键词 往上查找
n 下一个关键词
:set hls 打开高亮
:set nohls 关闭高亮

简单替换表达式

helloworld
hello
kangkanghello

:%s/hello/1/g 匹配所有带hello替换
:%s/\<hello/1/g 匹配XXXhello替换
:%s/hello\>/1/g 匹配helloXXX替换
:%s/hello/1/gc 每次替换都给提示确认(常用)

“%”范围前缀表示在所有行中执行替换。最后的”g”标记表示替换行中的所有匹配点。如果仅仅对当前行进行操作,那么只要去掉”%”即可.

删除每行后面多余的空格

:%s/\s\+$//

“%”的作用域是整个文件,”substitute” 命令的匹配模式是
“\s\+$”。($)表示行末,(+)表示前面一项可以被匹配一次或多次,(\s)空格。替换命令的 “to”部分是空的:”//”

匹配重复性模式

“+” 表示前面一项可以被匹配一次或多次
“*” 表示前面一项可以被匹配零次或多次

/a* ->可匹配”a”、”aa”、”aaa”…或者””
/\(ab\)*->可匹配”ab”、”abab”、”ababab”…或者””
/ab\+->可避免空字符串,可匹配”ab”、”abb”、”abbb”
/abc\=->匹配一个可选项”\=”,可匹配”ab”、”abc”

指定重复次数

匹配某一项的次数重复,使用”\{n,m}”

/ab\{3,5}->可匹配 “abbb”、”abbbb”、”abbbbb”

模式匹配次数
\{,4}0,1,2,3 或 4
\{3,}3,4,5,无穷大
\{0,1}0 或 1,同 \=
\{0,}0 或 更多,同 *
\{1,}1 或 更多,同 \+
\{3}3

多选一匹配

或的运算符是”\|”

/when\(if\|while\|for\)->可匹配”whenif”,”whenwhile”,”whenfor”

读写文件

:1,10 w outfile->把1到10行的内容写入outfile文件
:1,10 w >> outfile->把1到10行的内容追加到outfile文件
:r infile->把infle文件的内容插入当前行以下


参考:
http://www.oschina.net/news/43167/130-essential-vim-commands
http://www.runoob.com/regexp/regexp-syntax.html
http://blog.chinaunix.net/uid-20732478-id-763411.html


作者: @nanphonfy
Email: nanphonfy (Nfzone) gmail.com 请将(Nfzone)换成@


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值