ma系列之-14-vim

1 概念:

vi: Visual Interface 可视化接口
vim: VI iMproved

2 vim模式:

 vim模式:
编辑模式(命令模式)  也是默认模式
输入模式
末行模式:比命令模式支持更多的文件管理命令

模式转换:
编辑-->输入:
 i: 在当前光标所在字符的前面,转为输入模式;
 a: 在当前光标所在字符的后面,转为输入模式;after
 o: 在当前光标所在行的下方,新建一行,并转为输入模式;
 
 I:在当前光标所在行的行首,转换为输入模式
 A:在当前光标所在行的行尾,转换为输入模式
 O:在当前光标所在行的上方,新建一行,并转为输入模式;

输入-->编辑:
 ESC键
 
编辑-->末行:
 :

末行-->编辑:
 ESC, ESC

3 打开文件:

# vim /path/to/somefile
	vim +# :打开文件,并定位于第#行   eg: [root@chinadaas109 zhoumingtest]# vi +5 fortest.sh  
	vim +:打开文件,定位至最后一行   这样可以再最后一行后新加内容 例如长修改的 /etc/profile
	vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首

	默认处于编辑模式

4 关闭文件 :

1、末行模式关闭文件
:q  退出
:wq 保存并退出
:q! 不保存并退出
:w 保存
:w! 强行保存(只有管理员才具有的权限)
:wq  等效于 :x 
2、编辑模式下退出
ZZ: 保存并退出

如下都是在编辑模式下:

5 移动光标(编辑模式下)

1、逐字符移动:  
  右手食指放在j上,中指,无名指放在k l上,如果食指左移动到h,则表示向左走,
   j表示jepan k表示kereal 世界地图上韩国k在日本j上面因此 k表示向上 j表示向下
	h: 左
	l: 右
	j: 下
	k: 上
 #h: 移动#个字符; 
 
2、以单词为单位移动
	w: 移至下一个单词的词首  word
	e: 跳至当前或下一个单词的词尾  end
	b: 跳至当前或前一个单词的词首  before
	
	#w:  比如2W表示移动2个单词 
	
3、行内跳转:
	0: 当前行绝对行首
	^: 当前行行首的第一个非空白字符
	$: 当前行绝对行尾

4、行间跳转
	#G:跳转至第#行;  ---> 2G 表示跳转到第二行
	G:最后一行
	
	末行模式下,直接给出行号即可 eg---> :3 能直接跳转到第三行

6 翻屏

Ctrl+f: 向下翻一屏   f = forward
Ctrl+b: 向上翻一屏   b = back

Ctrl+d: 向下翻半屏  down page
Ctrl+u: 向上翻半屏  up page

7 删除单个字符 (这个验证了下好像没效果)

x: 删除光标所在处的单个字符
#x: 删除光标所在处及向后的共#个字符

8 删除命令: d

d命令跟跳转命令组合使用;
dw是一个个单词来删除
#dw 删除光标后的#个单词
#de 
#db

dd: 删除当前光标所在行
#dd: 删除包括当前光标所在行在内的#行;

末行模式下的删除:
StartADD,EndADDd 表示删除 开始行,结束行在内的行  eg  3,7d
	.: 表示当前行   eg--->  .,+5d  删除从当前行开始,向下的5行
	$: 最后一行     eg--->  .,$-2d  删除从当前行开始,到倒数第二行为止(包含倒数第二行)
	+#: 向下的#行   eg--->  .,+5d  删除从当前行开始,向下的5行

9 粘贴命令 p (put缩写)

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

vim

相关推荐