- 5
- 0
- 约7.18千字
- 约 9页
- 2016-12-03 发布于贵州
- 举报
vi 技巧诀窍:令人刮目相看的 10 个超酷命令
vi 技巧和诀窍:令人刮目相看的 10 个超酷命令
Martin Wicks, 自由 UNIX 顾问, 711 Consultancy Limited
Martin Wicks 是一位在英国伦敦生活工作的自由 UNIX 顾问。他从事 UNIX 系统已经超过 15 年,之前多年从事 IBM 大型机。他是狂热的电影爱好者,喜欢玩滑雪板和山地自行车。
简介:?通过 vi 技巧和诀窍提高文件编辑效率,让您的朋友刮目相看。本文介绍 10 个不太为人所知的 vi 命令,所有真正的 vi 用户都应该掌握它们。
在使用 vi 编辑器时 — 无论是初次使用的用户,还是有经验的用户 — 大多数人往往只掌握核心命令集,这些命令可以执行最常用的功能:导航或保存文件;插入、更新、删除或搜索数据;退出但不保存修改。
但是,vi 编辑器极其强大,特性和功能非常丰富。即使在多年使用 vi 之后,您仍然可能会发现有不知道的新命令。本文讨论的命令就属于不太为人所知的命令,但是它们可以简化您目前采用的操作方法,让您的工作方式更高效,或者让您能够完成原来不知道可以用 vi 完成的操作。
打开和关闭行号
vi 编辑器的许多选项可以控制编辑会话的外观和感觉。使用 :set 命令修改 vi 中的会话设置。按 Escape 键进入命令模式之后,可以使用 :set all 命令显示选项和设置的列表。
可以设置的选项之一是 number,它的作用是打开和关闭行号(见 清单 1)。
清单 1. 打开行号之前
#
# Internet host table
#
::1 localhost
127.0.0.1 localhost loghost
192.168.0.6 centos5
192.168.0.10 appserv
192.168.0.11 webserv
192.168.0.12 test
192.168.0.5 solaris10 # Added by DHCP
~
~
~
:set number 这个命令让 vi 在当前编辑的文件中的每个记录上显示行号。让 vi 进入命令模式之后,可以输入 :set number 并按回车来打开行号(见 清单 2)。
清单 2. 打开行号之后
1 #
2 # Internet host table
3 #
4 ::1 localhost
5 127.0.0.1 localhost loghost
6 192.168.0.6 centos5
7 192.168.0.10 appserv
8 192.168.0.11 webserv
9 192.168.0.12 test
10 192.168.0.5 solaris10 # Added by DHCP
~
~
~
:set number 可以使用 :set nonumber 命令关闭行号。还可以使用这个命令和 :set number 命令的简写,即 :set nu 和 :set nonu。
如果需要快速计算要用 vi 函数处理的行数,显示行号会非常有帮助。当行数很多,可能跨多个屏幕时,行号尤其有用。另外,有时候您知道要处理的行范围,但是需要查明要在 vi 命令中使用的初始和结束行号。 如果希望每次进入 vi 会话时都显示行号,那么在主目录中的 .exrc 文件中添加 set number 行。
自动缩进
在用某些编程语言编写代码时,缩进是样式的重要部分,可以确保代码的可读性更好。如果需要,可以在 vi 编辑器中根据编程语言的样式设置自动缩进。使用 autoindent 打开或关闭自动缩进(见 清单 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 把每级缩进设置为四个空格(见 清单 4)。
清单 4. 设置缩进级别
#!/bin/ksh
#
#
for file in /etc/*
do
您可能关注的文档
- SKF润滑性能及用途.doc
- SKG130原汁机评测:锁定营养,多倍出汁.doc
- SKG135原汁机:无氧化出汁口,果汁营养高.doc
- SKG206原汁机评测(new).doc
- SLB立式拆式双吸泵价格.doc
- SMA-1面层试铺总结.doc
- SKG209原汁机评测 (6-26).doc
- SMI第八拆分为什么拆分1.6倍 这是为什么呢,亲爱的玩家们仔细瞧瞧.doc
- SMAR通型彩色视频会议摄像机.技术规格.特性。..doc
- SMP-Q-016-A 产品放行管理制度.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)