vi编辑器的使用进阶(一)

一、 设置 vi 和 Vim 配置选项

set 命令使用户能够设置内部 vi 和 Vim 变量。变量根据不同的类型以不同方式予以设置:

  • 设置为 on 或 off 的变量由 set variable 命令设置,使用 set novariable 命令取消设置。
  • 取值的变量由 set variable=value 命令设置。

例如,set list 命令设置列表选项,该选项告诉 vi 或 Vim 显示表示行尾的字符($)和未扩展标签(^I)字符。(在 Vim 中,该选项还显示行尾空白。)list 选项不需要值 — 仅仅设置它就足够激活功能了。您可以执行 set nolist 命令取消设置 list 选项。

其他变量采用显式值或值类型,赋值方式是使用等号(=)后面紧跟值或逗号分隔的值列表。例如,在 Vim 编辑器中,您可以配置 list 命令使用的字符,通过设置 listchars 变量的值来表示行尾,行尾空白和未扩展标签。以下命令将未扩展标签显示为 >>,将行尾空白显示为 !,将行尾显示为 $

set listchars=tab:>>,trail:!,eol:$
为查看您可以在 vi 或 Vim 中设置的所有选项的当前值,使用 vi 或 Vim 中的  :set all  命令。要显示特定选项的当前值,使用  f:set option? 命令。要显示通过默认值修改的所有选项,使用  :set  命令。

二、 定制键绑定和创建命令

map 命令使用户能够绑定现有或新命令到指定键或组合键,对于 vi 的命令模式,使用 map key-sequence command 语法,对于 vi 的插入模式,使用 map! key-sequence command

下面是 Vim 的一些 map 命令样例:

map <C-T> hhxp
map <F5> !}fmt <CR>

这些中的第一个将键序列 control-t 映射到 vi 命令序列 hhxp,这颠倒了当前光标位置前面的两个字符的顺序(正如 Emacs 中的 control-t)。第二个将 F5 键映射到一个键序列,该键序列调用 fmt 命令来重新格式化当前段落。

标准 vi 和 Vim 的配置文件中的 map 命令之间的一个重要区别在于,正如前面的示例所示,Vim 支持尖括号内的键标识符,以识别在某些情况下可能是不可打印字符的键。vi 需要您真正插入控制序列(通过按下 control-v 后面紧跟键序列来完成)。map 命令样例的 vi 版本如下所示:

map ^T hhxp
map ^@ !}fmt ^M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值