加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

vim及查找

发布时间:2020-12-15 23:16:50 所属栏目:安全 来源:网络整理
导读:vim编辑器文本编辑器:文本:纯文字,ASCII text;UNIcode;文本编辑种类:行编辑器:sed全屏编辑器:nano,vivi: visual interfacevim: vi improvedvim:模式化的编辑器基本模式:编辑模式,命令模式输入模式某行模式:内置的命令行接口;打开文件:# vim [选项] [文件]# v
vim编辑器
	
	文本编辑器:
		文本:纯文字,ASCII text;UNIcode;
	文本编辑种类:
		行编辑器:sed
		全屏编辑器:nano,vi

		vi: visual interface
		vim: vi improved

	vim:
		模式化的编辑器
			基本模式:
				编辑模式,命令模式
				输入模式
				某行模式:
					内置的命令行接口;
	打开文件:
		# vim [选项] [文件]
		# vim +5 [文件] 光标跳到第五行行首
		# vim +/exp [文件] 光标定位匹配到exp字符处的行首
	模式转换:
		编辑模式:默认模式
			编辑模式-->输出模式:
				i: insert在光标所在处 前面输入;
				a: append在光标所在处 后面输入;
				I: 在当前光标所在行的 行首输入;
				A: 在当前光标所在行的 行尾输入;
				o: open在当前光标所在行的 下方打开一个新行;
				O:     在当前光标所在行的 上方打开一个新行;
		输入模式 --> 编辑模式
			按下ESC键
		编辑模式 --> 末行模式
			:
		末行模式 --> 编辑模式
			ESC
		关闭文件:
			ZZ: 保存并退出,编辑模式下的保存退出;

			:q  退出
			:q! 强制退出,丢弃做出的修改
			:wq 保存并退出
			:x  保存并退出

			:w /path/to/somewhere 另存为另外一个文件,该文件可为已存在文件,亦可为不存在文件

		光标跳转:
			字符间跳转
				k: 向上跳转
				j: 向下跳转 
				h: 向左跳转
				l: 向右跳转

				#COMMAND 跳转由#指定的个数的字符,敲完数字,敲命令kjhl,即跳转#个字符

		单词间跳转
			w: 下一个单词的词首
			b: 当前或前一个单词的词首
			e: 当前或下一个单词的词尾

			#COMMAND 由#指定一个跳转的单词数 即跳转#个单词
		行首行尾跳转
			^: 跳转至行首的第一个非空白字符
			0: 跳转至行首
			$: 跳转到行尾

		行间跳转
			#G: 跳转至由#指定行 跳转至第#行
			G:  跳转至最后一行
			1G或gg: 跳转至第一行

		句间移动
			): 跳转至下一句
			(: 跳转至上一句
		段落间移动
			}: 跳转至下一段
			{: 跳转至上一段
	翻屏:
		ctrl+f: 向文件尾部翻一屏
		ctrl+b: 向文件首部翻一屏
		ctrl+d: ...半屏
		ctrl+u: ...半屏
		enter:按行向后翻		

vim的编辑命令
	字符编辑: x
		x: 删除光标处的字符;
		#x: 删除光标处起始的#个字符;
		xp: 交换光标所在处的字符及其后面字符的位置;
	替换命令(r replace)
		r: 替换光标所在处的字符;
			rCHAR

	删除命令: d
		d: 删除命令,可结合光标跳转字符使用,实现范围删除
			d$: 删除光标处到行尾的字符
			d^: 删除光标处到非空白处行首的字符(无空白)
			d0: 删除光标处到行首的字符(有空白)
			dw: 删除光标处到下一个单词词首的字符
			de: 删除光标处到当前或者下一个单词词尾的字符
			db: 删除光标处到当前或前一个单词的词首的字符
				#command 删除#个字符

				dd 删除光标所在处的行
				#dd 删除多行

	粘贴命令(p,put,paste):
		p: 缓冲区中存储的如果为整行,则粘贴至当前光标所在行的下方,否则,则粘贴至当前光标所在处的后面
		P: 缓存区中存储的如果为整行,则粘贴至当前光标所在行的上方,则粘贴至当前光标所在处的前面
	
	复制命令(y,yank):
		y: 复制,工作行为相似于d命令
			y$ y^ y0
			yw ye yb
			#command 复制#个字符
			yy 复制光标所在处的行
			#yy 复制多行,从光标这行开始为第一行复制
	改变命令(c,change):
		c: 修改
		编辑模式 --> 输入模式
			工作行为相似于d命令
			c$ c^ c0
			cw ce cb
			#command : 修改#个字符
			cc:  删除行并输入新内容
			#cc: 删除#行并输入新内容
	其他编辑操作:
		可视化模式: 
			v: 按字符选定
			V: 按行选定
				注意:经常结合编辑命令使用 d c y
		撤销此前的编辑: 
			u: (undo) 撤销此前的操作
			#u: 撤销#次的操作
				默认是撤销50次
		撤销此前的撤销:
			ctrl+r
		重复执行前一个编辑操作: .
			.(点号)

vim自带的练习教程: vimtutor
	LANG=‘zh_CN.UTF-8‘ //切换中文

vim的末行模式:
	內建的命令行接口
	
	(1)地址定界
		:start_pos[,end_pos]
			#     具体第#行,例如2 表示第2行;
			#,#   指定行范围,左侧#表示起始行,到右侧#表示结束行;
			#,+#  左侧#表示的行起始,加上右侧#表示的行数即偏移量;如: 3,+7
			.     当前行;
			$     最后一行;
				如: .,$-1  表示当前行到倒数第二行
			%     全文,相当于1,$
			/pattern/: 从光标所在处起始向文件尾部第一次被模式所匹配到的行;
				/first/,$
			/pat1/,/pat2/ : 从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束;
			#,/pat/  : 从第#行开始到第一次被pat匹配到的行结束;
			/pat/,$  : 从第一次被pat匹配到的行开始到文本的最后一行结束;
		可同编辑器命令一同使用,实现编辑操作;
			d
			y
			c

			w /path/to/somefile: 将范围内的文本保存至指定的文件中;
			r /path/from/somefile: 将指定的文件中的文本读取并插入至指定位置;
				注意:亦可使用正则表达式查找字符串

	(2)查找
		/pattern: 从当前光标所在处向文件尾部查找能够被当前模式匹配的所有字符串;
		?pattern: 从当前光标所在处向文件首部查找能够被当前模式匹配的所有字符串;
			n:下一个,与命令方向相同;
			N:上一个,与命令方向相反;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读