vim编辑器快捷方式总结

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  [email protected]

23. 将快捷方式保存为长期有效快捷方式:要在home目录下,新建 .vimrc 文件。
	/home/username/.vimrc     /root/.vimrc

	


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。