您的位置:首页 > 其它

vim编辑器快捷方式总结

2015-01-14 16:23 211 查看
vi   : visual Interface 可视化接口
因为我们频繁的写脚本,配置服务器,所以需要一款功能强大的文本编辑器。
vim:VI  iMproved vi增强版

vim是一款全屏、模式化编辑器

vim模式的三种模式:
编辑模式(命令模式:复制 删除 粘贴 剪切 光标定位)
输入模式(输入内容)
末行模式(除了编辑命令之外的诸多文件管理命令:保存 退出,引入其他文件内容,比编辑模式更多)

默认是出处于编辑模式的。
模式之间是可以转换的。
模式转换::
编辑模式-->输入模式
i: 在当前光标所在字符的前面,转为输入模式
a:在当前光标所在字符的后面,转为输入模式
o:在当前光标所在行的下方,新建一行,并转为输入模式

I:在当前光标所行的行首,转为输入模式
A:在当前光标所在行的行尾,转为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式
模式之间的转换:
输入模式-->编辑模式
ESC
编辑模式-->末行模式
:
末行模式-->编辑模式
按两次ESC

1.打开文件
# vim /path/to/somefile
如果文件存在则打开,如果不存在则是新建。
# vim +# inittab
快速打开,并使光标定位到第#行。
# vim + inittab
快速打开文件,并使光标定位在最后一行上。
# vim +/PATTERN
打开文件,定位至第一次被PATTERN(被匹配的字符,模式,样品)匹配到的行的行首

2.关闭文件
2.1 末行模式下关闭文件
:q 退出
:wq 保存并退出
:q! 不保存强制退出
:w 保存
:w! 强制保存
:x == :wq 保存并退出
2.2 编辑模式下关闭文件
ZZ :保存并退出

3. 光标定位(编辑模式下进行的)
3.1 逐字符移动(都可以使用 #h 的格式跟数字组合快速移动光标)
h:向左
l :向右
j :向下
k:向上
#h	移动#个字符,按住#只能移动一次
3.2 逐单词移动
w:移动到下一个单词的词首
e :跳到当前单词词尾或跳到下一个单词的词尾
b :跳到当前单词词首或者前一个单词词首

#w	移动到第#个单词的词首
3.3 行内跳转
0:跳到行首(绝对行首)
^:跳到一行的第一个非空白字符
$:绝对行尾
3.4 指定行间跳转
gg:跳到第一行
#G:跳转至第#行
G:最后一行
末行模式下,直接给出行号即可  ex: :n ,跳转到第n行
4.  翻屏
ctrl+f :向下翻一屏
ctrl+b:向上翻一屏
ctrl+d:向下翻半屏
ctrl+u:向上翻半屏
5. 删除单个字符
x:删除光标所在处的单个字符
#x:删除光标所在处及向后的共#个字符

6. 专用的删除命令d :与跳转命令组合使用
删除单词
d0:删除当前字符到行首的内容
d$:删除当前字符到行尾的内容 == D    删除光标到行尾
#d跳转符:删除跳转符#范围个
#dw   #de  #db
dG:删除光标到尾部所有内容
删除行
dd:删除光标所在行
#dd:删除包括光标所在行在内的#行
n1,n2d:删除第n1到n2行,删除指定范围的行
********在末行模式下
.:表示当前行
+#:表示向下的#行(包括当前行)
$:表示最后一行+

7. 粘贴命令
小p:
如果删除或复制为整行内容,则粘贴至光标所在行的下方,
如果删除或复制为非整行,则粘贴至光标所在字符的后面。
大P:	如果删除或复制为整行内容,则粘贴至光标所在行的上方,
如果删除或复制为非整行,则粘贴至光标所在字符的前面。

8. 复制命令 y : yank
同d
yy:复制单行
#yy:复制#行

9. 修改:先删除内容,再转换为输入模式
c:用法同d
cc
cG
cgg
10. 替换单字符命令
r :替换单个字符
R:从光标处开始替换任意多个字符,ESC退出替换命令
11. 撤销
u:撤销前一次的编辑操作
连续u命令可撤销此前的n词编辑操作
#u:直接撤销最近#次编辑操作

撤销撤销:ctrl+r

12. 重复前一次编辑操作
.
13. 可视化模式
v:按字符选区
V:按矩形选区
14. 查找
/pattern
?pattern
n
N
: set ic 不区分大小搜索
15. 查找并替换
在末行模式下使用   s   命令
: %s/old/new/g
全文替换
: n1,n2s/old/new/g
指定行替换,不询问
: n1,n2s/old/new/c
指定行替换,询问
16. 另存为
:w new_filename 另存为指定文件
:w 保存修改
:wq 保存退出
:q! 不保存退出
:wq! 保存修改并推出(文件所有者及root可使用)
ZZ: 保存修改并退出

技巧总结:
17. 导入一个文件,或者命令产生的内容
:r filename
18. 不退出编辑查询“命令行”的命令
:!which 命令
19. 把一个命令的执行结果导入到文件中
:r !date
20. 定义快捷键
map ^p  I#<esc>      ^p --> ctrl+v+p
行首插入#

map ^b 0x
删除行首字符

21. 连续行注释(实际上就是空位 和 # 或者 // 之间的替换)
: n1,n2s/^/#/g    :给指定行首加入#

: n1,n2s/^#//g    :去掉多行行首#

: n1,n2s/^/\/\//g :行首添加注释 //
22. 替换
:ab myemail  237618121@qq.com

23. 将快捷方式保存为长期有效快捷方式:要在home目录下,新建 .vimrc 文件。
/home/username/.vimrc     /root/.vimrc
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: