vi 文本编辑基础总结

vi 基础总结

vi 的工作方式

vi 的工作方式有3种:命令方式、文本输入方式和最后行方式。

  • 命令方式
    无论用户当前处于什么方式,只要按Esc键就可以进入命令方式。用户初始进入vi时即处于命令方式。

  • 文本输入方式
    在命令方式下按Insert键或输入文本插入类命令即可进入文本输入模式,用来输入文本内容。

  • 最后行方式
    在命令方式下输入某些特殊字符,如“:“、”/“、“?”,即进入最后行方式,此时用户输入的命令将会在最后一行上显示,并指导用户按Enter键vi才会去执行它。
    退出vi 时使用的就是最后行方式。


进入vi

 [root@localhost test]# vi sysinfo

vi 命令

这里写图片描述
这里写图片描述

这里写图片描述

执行外部命令

vi 编辑器允许用户在编辑文件的过程中不退出 vi 也能执行 shell 命令。比如,在vi编辑器中运行 date 命令,可以在命令方式下输入”:!date”,此时按 Enter 键,vi编辑器将返回到 shell ,执行 date 命令。按任意键可返回vi编辑器。

将 shell 命令的运行结果加入到正在编辑的文件中,可输入”:r!date”。在”!“的前面加上r。


环境设置

用户可以通过设置 vi 的环境来定制编辑器的行为。set 命令设置的都是临时的,格式为:
:set 选项
在 vi 命令方式下使用”:set all”可显示所有选项,常用的选项有:
autoindent(ai):文本的每个新行均与上一行对齐。
ignorecase(ic):在搜素过程中忽略大小写。
number(nu):对文本各行进行编号
readonly:对正在编辑的文件启用写保护,可以避免意外更改或破环文件内容
report:报告用户上一个命令所影响的行号。
showmatch(sm):输入右边的圆括号、花括号或方括号时,显示左边相应的圆括号、花括号或方括号。
showmode(smd):显示编辑器所处的模式
wrapmargin(wn) = n:更改右边距为n,n等于右边距中的空格数。
其中圆括号中时可以使用的缩写形式。例如“:set nu”对当前的文本各行进行编号,并在每行的开头显示行号。


宏功能

通过宏操作符 -map 来实现的,可以将一系列按键用一个键代替,给用户一个使用命令的捷径。使用 map 创建的宏只对当前编辑有效。例如:
“:map q 5yy”
表示按q键,会复制5行文本到缓冲区。
“:map #2 5yy”
将命令5yy指定给F2键。

可以使用unmap取消一个设定的宏,如”:unmap q”


字串缩写

提供输入文本捷径的。通过缩写操作符 -ab 来实现的。也只对当前编辑会话起作用。比如:
“:ab ul UNIX/Linux”
表示在文本输入方式下输入ul 和空格的时候,vi 就会将 ul 扩展为UNIX/Linux,而ul 为另一个单词的一部分的时候不会扩展,vi 是通过ul 前后的空格来识别缩写字串的。

使用”:ab”可以列出当前设置的所有缩写。
要取消缩写,可以使用unab操作符,如”:unab ul”则取消缩写ul。


环境文件

怎样将环境设置变为永久的,在每次使用vi 时都起作用。可以将这些设置保存到环境文件.exrc中。.exrc 是一个隐藏文件,vi编辑器每次被启用时,就会自动在当前工作目录中检查该文件,如果存在就根据该文件的内容来设置编辑环境。若没有找到.exrc 文件,就会到用户主目录中继续查找,进而进行设置。如果都没找到文件,就会使用缺省值进行设置。

例如文件这样设置:

set ai
set number
set sm
set showmode
set wn=5
map #2 5yy
ab ul UNIX/Linux

转载请标明出处:http://blog.csdn.net/renli2549/article/details/79106402

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值