一 vi的操作模式
vi提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。在输入模式下,用户可输入文本资料。在指令模式下,可进行删除、修改等各种编辑动作。
在输入模式下,按Esc键切换到指令模式下。
在指令模式下,按输入指令(i、a、o等)进入输入模式。
二 进入vi
$ vi filename
直接键入“vi + 所要编辑的文件名”,即可对指定的文件进行编辑。
如果指定的文件为新文件,则提示:“New file”,否则显示该文件的当前内容。
$ view filename
以只读方式打开文件filename
三 指令模式
3.1 进入输入模式
a 在当前游标之后输入
A 在当前行之末输入
i 在当前游标之前输入
I 在当前行之首输入
o 在当前行之下新增一行,并在新增行输入
O 在当前行之上新增一行,并在新增行输入
输入结束后,按Esc键退出输入模式。
3.2 游标移动
h 向左移动一个字元
l 向右移动一个字元
j 向下移动一个字元
k 向上移动一个字元
b 左移一个单词,至词首
w 右移一个单词,至词尾
0 移到当前行行首
$ 移到当前行行尾
+ 移至下一行的行首
- 移至上一行的行首
H 移至视窗的第一行
M 移至视窗的中间一行
L 移至视窗的最后一行
G 移至该文件的最后一行
nG 移至该文档的第n行
n+ 下移n行
n- 上移n行
3.3 视窗移动
<Ctrl> + f 视窗下卷一页
<Ctrl> + b 视窗上卷一页
<Ctrl> + d 视窗下卷半页
<Ctrl> + u 视窗上卷半页
<Ctrl> + e 视窗下卷一行
<Ctrl> + y 视窗上卷一行
3.4 删除操作
x 删除游标所在字元
X 删除游标前一字元
dw 从游标当前位置开始向后删除一个单词
db 从游标当前位置开始向前删除一个单词
d0 从行首删除至当前游标位置
d$ 从游标当前位置删除至行尾
dd 删除游标所在行
D 同d$
3.5 修改操作
s 修改游标所在字元,修改完成后按Esc键结束
S 修改整行内容,修改完成后按Esc键结束
r 替换当前游标所在字元
R 进入替换状态,直至按Esc键结束
cw 修改一个单词(从游标位置至词尾)
cb 修改一个单词(从词首至游标位置)
cc 修改整行内容,完成后按Esc键结束,同S
c0 修改行首至游标位置的内容
c$ 修改游标位置至行尾的内容
~ 游标所在字元大小写切换
3.6 指令重复
在指令模式中,可在指令前面加入一个数字n,则该指令会重复执行n次。常用的重复操作有:
nx 删除n个字元
ndd 删除n行
ns 修改n个字元
3.7 取消前一动作(Undo)
u 撤消上一指令的结果
3.8 查找字符串
/字符串 从当前游标向后查找该字符串
?字符串 从当前游标向前查找该字符串
n 从当前游标向后查找下一个字符串
N 从当前游标向前查找下一个字符串
3.9 查看编辑状况
<Ctrl> + g 显示正在编辑的文件名、当前游标所在行数、文件总行数、文件是否被修改
四 保存与退出
:w 保存,但不退出
:wq 保存并退出
同:wq
:q 退出,如果当前文件没有保存,禁止退出
:q! 不保存退出
:w file1 将内容保存至文件file1中,注意:此时编辑的仍为原文件
:w! file1 将内容覆盖保存至文件file1中,如文件file1存在,:w file1将禁止执行
五 环境设置
:set 显示已设置的环境状况
:set all 显示所有的环境设置选项
:set nu 显示行号
:set nonu 不显示行号
:set ts = n 设置Tab键的长度为n
六 执行指令
以下用具体的数字为例进行介绍,数字表示行数,游标所在行可用“.”代替,文件最后一行可用“$”代替。
: 10 , 20d 删除第10行至第20行的内容
:10d 删除第10行的内容
:%d 删除全部内容
: 10 , 20co30 将第10行至第20行的内容复制到第30行之后
: 10 , 20mo30 将第10行至第20行的内容移动到第30行之后
: 1 , $s/old/new 将第1行至最后一行中的old替换成new
: 1 , $s/^/new 将第1行至最后一行的内容前面插入new
: 10 将游标移至第10行
七 重复指令
. 重复上一条指令
八 切换到shell状态
:sh 切换到shell状态,exit返回
分享到:
相关推荐
Unix 内核源码剖析 北京邮电大学出版社 本书针对1975年由贝尔实验室A发布的UNIX第6版(Sixth Edition Unix,此后简称为 UNIX V6)的内核源代码进行解说。面向的读者主要是计算机专业的学生,以及从事计 算机相关...
UNIX环境高级编程压缩包包含这些内容: catalogue.txt src.3e.tar.gz(源码) UNIX环境高级编程(第2版)-中文.pdf 带目录 UNIX环境高级编程(第3版)-中文-mobi转换.pdf 带目录 UNIX环境高级编程(第3版)-中文.pdf 带...
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。 Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承...
dos2unix,unix2dos,mac2unix,unix2mac
本书全面介绍了UNIX系统的程序设计界面—系统调用界面和标准C库提供的许多函数。 本书的前15章着重于理论知识的阐述,主要内容包括UNIX文件和目录、进程环境、进程控制、进程间通信以及各种I/O。在此基础上,分别按...
unix程序员手册,适合新手入门,方便查阅!
《UNIX网络编程》(第1卷)(套接口API第3版)第1版和第2版由已故UNIX网络专家W. Richard Stevens博士独自编写。《UNIX网络编程》(第1卷)(套接口API第3版)是3版,由世界著名网络专家Bill Fenner和Andrew M. Rudoff执笔,...
本书全面介绍了UNIX系统的程序设计界面—系统调用界面和标准C库提供的许多函数。 本书的前15章着重于理论知识的阐述,主要内容包括UNIX文件和目录、进程环境、进程控制、 进程间通信以及各种I/O。在此基础上,分别...
The Single UNIX Specification Version 3 - incorporating IEEE Std 1003.1 and ISO/IEC 9945 and integrating the industry's Open Systems standards. Press Release Overview Paper ISO/IEC 9945:2003 ...
《UNIX网络编程 卷1:套接字联网API(第2版)》是一部UNIX网络编程的经典之作。书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/...
中文名: UNIX编程环境 原名: The UNIX Programming Envirment 作者: Brian W.Kernighan, Rob Pike 英文原版 对UNIX操作系统的编程环境做了详细而深入的讨论,内容包括UNIX的文件系统、Shell、过滤程序、I/O编程、...
本书从实质上、专业上讲解UNIX操作系统,深刻地剖析了UNIX系统的基本概念。内容包括UNIX的基本特性及高级性能,例如shell配置、目录管理、shell编程,编辑器的使用方法等。本书条理清晰、重点突出,为快速了解与掌握...
《Oracle大型数据库系统在AIX/UNIX上的实战详解》以AIX UNIX平台为主线,以其他UNIX系统为参照,描述了数据库系统Oracle 10g、Oracle 11g的构架方法,说明了该数据库在AIX平台常用的管理内容,提供了AIX上实施Oracle...
Unix操作系统自1969年问世以来,至今已有20年的历史,它的第一版于1969年在Bell实验室产生,1975年对外公布,1976年以后在Bell实验室外广泛使用。目前这个操作系统已经广泛移植在微型计算机,小型计算机,工作站,...
In just 24 lessons of one hour or less, Sams Teach Yourself Unix in 24 Hours helps you get up and running with Unix and Unix-based operating systems such as Mac OS X and Linux.Designed for beginners...
你应该读这本书,如果你是一位经验丰富的Unix程序员往往是在教育新手程序员或其他操作系统的党羽之一的位置,你会发现它很难表达的Unix方法的好处。 你应该读这本书,如果你是一个C,+ +或Java编程经验与其他操作...
unix2dos批量转换工具(双向) MS桌面版 前一版描述较不祥细,以至于很同朋友不知道可以选择多个文件拖放,故在此多啰嗦几句。 注明:1、窗口支持拖放,单文件或多文件同时拖放均可 2、新版本添加文件列表窗口中点...
[Addison-Wesley Professional] UNIX 高级编程 第2版 (英文版) [Addison-Wesley Professional] Advanced UNIX Programming 2nd Edition (E-Book) ☆ 图书概要:☆ The changes to UNIX programming that have ...
作为开发Unix多年的...到目前为止,没有一本书同时介绍Unix和Linux的设计理念,《Linux/Unix设计思想》将这两者有效地结合起来,保留了The Unix Philosophy中Unix方面的内容的同时,探讨了Linux和开源领域的新思想。
下面是本文的大纲: ...Unix起源 Unix分裂 Unix的法律纠纷 GNU开源组织 Linux横空出世 Linux今天的领袖 下篇 Unix与黑客文化 Unix的历史教训 Unix 家族谱 Unix的特点 Unix的影响和哲学 Unix痛恨者手册