- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vi 技巧和诀窍:令人刮目相看的 10 个超酷命令
vi 技巧和诀窍:令人刮目相看的 10 个超酷命令
HYPERLINK /developerworks/cn/aix/library/au-vitips.html \l author1#author1 \o Martin Wicks, 自由 UNIX 顾问, 711 Consultancy Limited
简介:?通过 vi 技巧和诀窍提高文件编辑效率,让您的朋友刮目相看。本文介绍 10 个不太为人所知的 vi 命令,所有真正的 vi 用户都应该掌握它们。
在使用 vi 编辑器时 — 无论是初次使用的用户,还是有经验的用户 — 大多数人往往只掌握核心命令集,这些命令可以执行最常用的功能:导航或保存文件;插入、更新、删除或搜索数据;退出但不保存修改。
但是,vi 编辑器极其强大,特性和功能非常丰富。即使在多年使用 vi 之后,您仍然可能会发现有不知道的新命令。本文讨论的命令就属于不太为人所知的命令,但是它们可以简化您目前采用的操作方法,让您的工作方式更高效,或者让您能够完成原来不知道可以用 vi 完成的操作。
打开和关闭行号
vi 编辑器的许多选项可以控制编辑会话的外观和感觉。使用 :set 命令修改 vi 中的会话设置。按 Escape 键进入命令模式之后,可以使用 :set all 命令显示选项和设置的列表。
可以设置的选项之一是 number,它的作用是打开和关闭行号(见 HYPERLINK /developerworks/cn/aix/library/au-vitips.html \l list1#list1 清单 1)。
清单 1. 打开行号之前
#
# Internet host table
#
::1 localhost
localhost loghost
centos5
0 appserv
1 webserv
2 test
solaris10 # Added by DHCP
~
~
~
:set number
这个命令让 vi 在当前编辑的文件中的每个记录上显示行号。让 vi 进入命令模式之后,可以输入 :set number 并按回车来打开行号(见 HYPERLINK /developerworks/cn/aix/library/au-vitips.html \l list2#list2 清单 2)。
清单 2. 打开行号之后
1 #
2 # Internet host table
3 #
4 ::1 localhost
5 localhost loghost
6 centos5
7 0 appserv
8 1 webserv
9 2 test
10 solaris10 # Added by DHCP
~
~
~
:set number
可以使用 :set nonumber 命令关闭行号。还可以使用这个命令和 :set number 命令的简写,即 :set nu 和 :set nonu。
如果需要快速计算要用 vi 函数处理的行数,显示行号会非常有帮助。当行数很多,可能跨多个屏幕时,行号尤其有用。另外,有时候您知道要处理的行范围,但是需要查明要在 vi 命令中使用的初始和结束行号。 如果希望每次进入 vi 会话时都显示行号,那么在主目录中的 .exrc 文件中添加 set number 行。
自动缩进
在用某些编程语言编写代码时,缩进是样式的重要部分,可以确保代码的可读性更好。如果需要,可以在 vi 编辑器中根据编程语言的样式设置自动缩进。使用 autoindent 打开或关闭自动缩进(见 HYPERLINK /developerworks/cn/aix/library/au-vitips.html \l list3#list3 清单 3)。
清单 3. 打开自动缩进
#!/bin/ksh
#
#
for file in /etc/*
do
if [[ -f ${file} ]] ; then
echo ${file} is a file
~
~
~
~
~
:set autoindent
在此之后,如果在一行的开头输入空格或制表符,那么后续的新行将会缩进到相同的位置。在命令模式下,输入 :set autoindent,然后按回车打开自动缩进。通过设置 shiftwidth 确定缩进级别。例如,:set shiftwidth=4 把每级缩进设置为四
文档评论(0)