linux 文本编辑器Vim/Vi详细介绍

二:文本编辑器Vim/Vi(早起叫Vi后期升级版Vim)
	vim/vi是一个功能强大的全屏幕文本编辑器,是linux/unix上最常用的文本编辑器,
	它的作用是建立、编辑、显示文本文件。
	vim/vi 没有菜单,只有命令    ----官方:www.vim.org
	
	三种模式:
	   vi filename   命令模式
	   按i、a、o     插入模式
	   :set nu       编辑模式(设定行号,这种就是编辑模式下,:号开头)
	                 
	常用命令:
		一组:插入命令
			命令          作用
			 a           在光标后附加文本
			 A           在本行行末附加文本
			 i           在光标前插入文本
			 I           在本行开始插入文本
			 o           在光标下插入新行
			 O           在光标上插入新行
		二组:定位命令
				命令           作用
			h、方向左键       左移一个字符
			j、方向下键       下移一行
			k、方向上键       下移一行
			l、方向右键       右移一个字符
			$                 移至行尾
			0                 移至行首(字母零)
			H  				  移至屏幕上端
			M				  移至屏幕中央
			L				  移至屏幕下端
			
			:set nu           设置行号
			:set nonu         取消行号
			gg                到第一行
			G                 到最后一行
			nG                到第n行
			:n                到第n行
		三组:删除命令
				命令           作用
				 x           删除光标所在处的字符
				 nx          删除光标所在处后n个字符
				 dd          删除光标所在行,ndd删除n行
				 dG          删除光标所在行到末尾的内容
				 D           删除从光标所在处到行尾
				 :n1,n2d     删除指定范围的行  如:66,67d   --删除66-67行
		四组:复制和剪切命令
			命令           作用
			yy、Y        复制当前行
			nyy,nY       复制当前行以下n行   ---5yy(复制5行包括当前行)
			dd           剪切当前行
			ndd          剪切当前行以下n行
			p、P         粘贴在当前光标所在行下(p)  或   行上(P)
		五组:替换和取消命令
			命令           作用
			 r          取代光标所在处字符
			 R          从光标所在处开始替换字符,按Esc结束
			 u			取消上一步操作

		六:搜索和替换命令	
			命令              作用
		   /string          向前搜索指定字符串,搜索是忽略大小写:set ic  (搜索前面先执行这个ceil不区分大小写)--set noic关闭
							---如:/leyangjun  命令模式下,按n依次搜索leyangjun
		     n              搜索指定字符串的下一个出现位置(小写n从前往后找,大写的N从后往前找)
			 
		   :%s/old/new/g    全文替换指定字符串(%s表示全文替换)
							如:%s/ftp/leyangjun/g  将全文所有ftp替换成leyangjun, g表示替换的时候不需要确认
		   :n1,n2s/old/new/g 在一定范围内替换指定字符串
							如:4,10/leyangjun/ftp/g    将第4-10行的leyangjun全部替换为ftp
								4,10/leyangjun/ftp/c    需要确认
		
		保存退出:----:wq    等同于   shift + ZZ	
				   强行保存退出:wq!  (只有文件的所有者/root才可以操作)
		另存为:w /root/service.bak    另存为root目录下
			
	应用例子:
		导入文件内容 : r 文件名    (当你在编辑a文件的时候可以将b文件的内容导入a文件)
				如:  :r /etc/leyangjun   将leyangjun文件导入到当前编辑的文件内容。
				
		在vi中执行命令:!命令
				如:我现在在编辑某个文件但是现在想看某个文件的内容
				    :!ls /root    -->能后提示你回车就回去了
					
				如:结合上面的导入,把一个命令执行的结果导入某个文件
					:r !date     ----将日期导入到我现在在编辑的文件中
					
		定义快捷键:map 快捷键 触发命令
			范例: :map ^P I#<ESC>      ^表示是一个快捷键   注意一定要用ctrl+v+p 才能得到 ^p
										I# 表示插入一个#号,(I表示进入插入模式)
				   :map ^E [email protected]   (是按ctrl+v+E,有个字母i) 定义的插入邮箱的快捷键
			取消用:unmap ^P (ctrl+v+p)
		
		连续行注释 :n1,n2s/^/#/g   (/^表示行首)
						例子:4,8s/^/#/g  (4-8行加#好注释掉)
				    :n1,n2s/^/#//g
						例子:4,8s/^/#//g   (去掉4-8行的#)替换的意思给个空
					:n1,n2s/^/\/\//g
						例子:4,8s/^/\/\//g   (将4-8行 //的注释符号去掉)
						
		替换(推荐使用ab,比快捷键还方便)
			:ab mymail [email protected]  (ab命令可以理解为,将a替换为b)
			当你设置完后,能后回到你当前编辑文本里:你输入 myemail-->回车或空格,你会发现替换成[email protected]了
			unab myemail   (取消ab的定义)
	

	
	vi的配置文键:
		改变vi的配置文件(修改完后下次打开文件就按照配置文件走):
		~ home director       进入树主目录(如/home/leyangjun)
			~/.vimrc   每个用户都有自己的vim配置文件,打开默认是空的
		实际操作:
			一:vi /root/.vimrc     或      vi ~/.vimrc
		  
			二:编辑
				set nu           (下次打开每个文件的时候就会有行号)
				ab lyj leyangjun

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