码迷,mamicode.com
首页 > 系统相关 > 详细

Vim命令

时间:2016-01-08 13:20:45      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:

都快忘得差不多了,记记一些命令,遏制老年痴呆的趋势啊。

 

命令模式下的一些操作:

t+字符 跳到该行当前位置后面最近一个‘字符’处,t之前可加数字,代表连续多少个字符。大写T则反方向
f+字符 跳到该行当前位置后面最近一个‘字符’的前一个位置,功能同上。
:数字 跳到第“数字”行
gg 跳到文件第一行,前面加数字可以跳到指定行(G也行)
G 跳到文件最后一行
* 停留在一个单词上,搜索下一个此单词
# 停留在一个单词上,搜索上一个此单词,与*相反
g_ 跳到行尾非空格处
^ 功能与g_相反
0 数字0,跳到行首
$ 跳到行末
H 将光标跳到当前屏幕的起始行起始处,前面加数字可跳到相对第几行
M 将光标跳到当前屏幕的中间行起始处,同上
L 将光标跳到的当前屏幕的末行起始处,同上
w 右移光标到下一个字的开头,前面可以加数字
e 右移光标到下一个字的末尾
ZZ 直接保存修改并退到终端
A 切换到插入模式,并将光标移到行末
yw 复制一个单词
dw 删除当前的单词,中间可以夹带数字
d$ 从光标处删除到行末,包括光标处
u 按一次恢复1次
U 恢复该行的原始状态
ctrl+r 撤销所做的恢复u或者U
r 先按r,再按字符可以将光标位置改为所按字符
R 进入替换模式,功能同r,只是不用每次都按r,输错还能按backspace
cw 功能同dw,但是直接进入插入模式,且不会删除掉单词后面的空格,比较好用
ce 功能同cw。c和d的功能一样,只是c会立刻进入插入模式
/串 输入/,再输入字符串,可以向下查找,按n则跳到下一个。此时还可以:set ic忽略大小写,禁用忽略大小写:set noic
? 输入?,再输入字符串,可以向上查找,按n则跳到下一个。与/相反。
ctrl+o 光标跳到你之前跳来的地方,可连续按
ctrl+i 和o相反,当按下ctrl+o时可能需要用到这个
ctrl+g 显示当前光标在文件中的位置
% 括号匹配。当光标在某个括号上时,光标跳到匹配的括号处。
:!命令 在vim编辑器内可以临时运行一些命令,命令显示完就回vim
:w name 另存为。以路径及名字name保存当前文件,默认为当前目录。
v 按v进入可视模式,移动光标选中一片区域,按d就删除这片区域,按w name也可以进行另存
:r file 在当前光标位置插入文件file的内容,:r其实表示要插入东西,可以:r !ls将结果给插入
:e 刷新当前文件

 

插入模式下还有一些淫技可以琢磨:
ctrl+y 插入光标上同列的字符
ctrl+p 自动补全

 

 

 

 

切换到插入模式的几种方式:
i 在光标左侧插入正文
a 在光标右侧插入正文
o 在光标所在行的下一行增添新行
O 在光标所在行的上一行增添新行
I 在光标所在行的开头插入
A 在光标所在行的末尾插入

 

 

 

控制屏幕滚动的一些操作:
ctrl+f 相当于page down
ctrl+b 相当于page up
ctrl+a 把光标下的整个数字+1

Ctrl + e 向下滚动一行
Ctrl + y 向上滚动一行
Ctrl + d 向下滚动半屏
Ctrl + u 向上滚动半屏
Ctrl + f 向下滚动一屏
Ctrl + b 向上滚动一屏

 


很简单的文本替换:
:s/old/new 只替换本行中的第一处
:s/old/new/g 只将本行匹配处进行替换
:%s/old/new/g 全文件进行替换
:%s/old/new/gc 全文件进行替换,但是替换前进行提示是否替换
:2,8s/old/new/g 仅将2~8行进行替换。尾部的g表示global,i表示ignore大小写,c表示每次都询问

 

 

 


奇怪的格式:
:%!xxd 将文本变成16进制形式显示,就不告诉你怎么转回来~

 

 

单个屏不够看了,分屏操作:
vim -on file1 file2
o为小写字母,表示上下分屏,n是分屏的个数

vim -On file1 file2
O为大写字母,表示左右分屏,n是分屏的个数

:only
关闭当前文件的其他分屏

ctrl + w + h
移动到光标左边的窗口(h可替换为jkl等)

ctrl + w + q
关闭当前分屏窗口(q可替换为c),功能同:q

ctrl + w +v
对当前屏幕进行分屏

 

 

 

 

 

简单的正则表达式:
(入门看这个就行了 http://www.jianshu.com/p/a66fc32bb879)
(这是简单的测试站点 http://www.regex.alf.nu/3)
. 匹配换行符以外的任意字符
^ 匹配字符串的开始位置
$ 匹配字符串的结束位置
* 匹配前面的子表达式零次或多次,等价于{0,}
+ 匹配前面的子表达式一次或多次,等价于{1,}
? 匹配前面的子表达式零次或一次,等价于{0,1}
\ 转义符,将特殊字符进行转义
[] [abc]字符集合,匹配所包含的任意一个字符
[^abc]负值字符集合,匹配未包含的任意字符
[a-z] 字符范围,匹配指定范围内的任意字符
() 两个字符一起使用,用于创建一个用于匹配的子串,也叫分组
{} {n}匹配确定的n次
{n,}至少匹配n次,等价于"*"
{n,m}最少匹配n次且最多匹配m次(其中n<=m)

$ 匹配行尾
^ 匹配行首
\< 匹配单词词首
\> 匹配单词词尾
\b 单词边界,同\<
\B 非单词边界,同 \>
\d 数字字符,同 [0-9]
\D 非数字字符,同[^0-9]
\s 空白字符,同 [ \t\n\r\f\v]
\S 非空白字符,同 [^\t\n\r\f\v]
\w 字母数字字符,同 [a-zA-Z0-9_]
\W 非字母数字字符,同 [^a-zA-Z0-9_]
\t Tab,同0x09
\r 回车符,同0x0D
\n 换行符,同0x0A
\f 换页符
\v 垂直制表符,同ox0b
\x 十六进制,例如“x41”匹配“A”
\u Unicode字符。例如,u00A9匹配版权符号

 

Vim命令

标签:

原文地址:http://www.cnblogs.com/xcw0754/p/5112725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!