vi(visual)
类似编辑器:vi(简单的),vim(可配置语法的),emacs(简单而强大的编程工具)
工作区(模式):
--输入模式(Insert mode,输入字符),
--命令模式(Command mode,复制粘贴),
--底线模式(Last line mode,使用查找,存盘,外部命令,十六位编码查看)
模式切换:
输入模式-〉ESC ->命令模式
命令模式-> i ->输入模式
命令模式-> : ->底线模式
底线模式-> ESC ->命令模式
输入模式<->命令模式<->底线模式
常用操作:
--------------------打开和退出---------------------------------
编辑文件:vi 文件全名 进入命令模式,按下i进入输入模式
移动光标: h(上),j(下),k(左).l(右)
保存退出: 进入底线模式,wq(w:write,q:quit),w!或wq!在readonly模式下强制存盘或退出
另存为:进入底线模式,w 新文件名
不保存退出:进入底线模式,q!
--------------------编辑--------------------------------------
显示行号:进入底线模式 set nu
取消行号: 不会
到某一行: 进入底线模式 数字
找某些字符:进入底线模式 /要找的字符串
下一个字符: n
上一个字符: 进入底线模式 ?
删除/剪切某行:进入命令模式,在光标处按dd
复制某行: 进入命令模式,在光标处按yy
复制某语句:不会
粘贴: 进入命令模式,p(小写字母 p,将缓冲区的内容粘贴到光标的后面)
P(大写字母 P,将缓冲区的内容粘贴到光标的前面)
如果缓冲区的内容是字符或字,直接粘贴在光标的前面或后面;
如果缓冲区的内容为整行正文,则粘贴在当前光标所在行的上一行或下一行。
在文件中向上翻一页(相当于 PageUp 键):Ctrl+b (大文件常用)
在文件中向下翻一页(相当于 PageDown 键):Ctrl+f (大文件常用)
将光标移到当前屏幕的最上行的行首。H表示Highest。: H(常用)
---------------------撤销和重复编辑命令--------------------------
"u":在命令模式中输入“u”,是undo的意思,可以撤销上一次的操作,最常用,反复的按u,可以退回很多次操作。
".":使用“.”符号可以重复本次操作。例如,使用“dd”命令删除了一行之后,可以再按“.”键,每次都可以再删除一行。
--------------------外部命令--------------------------------------
在编辑过程中执行外部命令: 进入底线模式 !命令 ,如!netstat –an | more
--------------------定制vim--------------------------------------
略
--------------------编辑多个文件vim--------------------------------------
略
--------------------十六进制编辑方式--------------------------------------
使用:进入底线模式 %!xxd(可分屏显示文本的十六进制左边和正常字符右边)
取消:进入底线模式 %!xxd -r
其他相关文本shell命令:
-------------------- 文本格式转换:unix2dos和dos2unix命令--------------------------------------
DOS文件中,列的结束符号有两个控制字符,一个是归位字符 (carriage return,^M),
另一个是换列字符(new line,^J)。但Linux中只使用一个换列字符 /n (功能同^J)。
所以当Linux的文本文件放到DOS 上用文字编辑器编辑时,会错乱成首尾相连的一行。
当把unix下的文本拷到windows下时,为了显示正确,主要是换行符转换
unix2dos -n(新建文件) 需要传换得文件名
同理dos2unix