linux vi命令的使用方法
2016-04-03 03:48
507 查看
在配置lamp服务器时用到了linux在线编辑文本所以查了一下vi使用方法
vi 要操作的文件名
移动
以下命令可以帮助您在文件内移动:h在当前行往左移动一个字符j向下移动到下一行k向上移动到上一行l在当前行往右移动一个字符w移动到当前行下一个字e移动到当前行下一个字的结束处b移动到当前行上一个字的开始处Ctrl-f向前滚动一页Ctrl-b向后滚动一页
如果在这些命令之前键入数字,则命令将执行该数字表示的次数。该数字称为重复次数 或者就称为计数。例如,5h 将向左移动 5 个字符。许多 vi 命令都可以使用重复计数。
移动到行
以下命令将帮助您移动到文件的特定行:G移动到文件的特定行。例如,3G 移动到第 3 行。如果没有参数,G 将移动到文件的最后一行。H相对于屏幕移动到最上面的行。例如,3H 将移动到屏幕上方往下第三行。L就像 H 一样,不同之处在于移动到屏幕的最后一行。因此,2L 移动到屏幕的倒数第二行。
练习这些命令,直到您可以熟悉这些命令在文件内的移动。如果您被卡住,发现事情与预期不同,请继续阅读了解如何离开文件。
离开 vi
关于一个新的编辑器,就有用的一件事情是了解如何在做了不该做的事情前离开编辑器,比如要避免销毁重要的配置文件。您可以在保存或丢弃更改的情况下离开 vi,也可以用重新启动的方式。如果这些命令无效,您可能处于插入模式,这将在后文介绍。如果是这样,可以按 Esc 退出插入模式并返回到命令模式,这些命令就会生效。:q!退出编辑文件并放弃所有更改。这是避免麻烦的常用手段。:w!写入文件(无论是否修改)。尝试重写现有文件或只读文件,或者其他不可写文件。您可以给定一个文件名作为参数,写入的将是这个文件而不是开始的文件。忽略 ! 通常会更加安全,除非您知道您在做什么。ZZ如果修改了文件,则写入文件。是普通 vi 退出常用的方法。:e!编辑文件的当前磁盘副本。这将重载文件,放弃所做的更改。如果磁盘副本出于某些原因发生了更改,并且您需要最新的版本,那么可以使用这种方法。:!运行一个 shell 命令。键入命令并按 Enter。当命令完成时,您将看到输出和提示返回到 vi 编辑。
注意:
当您键入冒号 (:) 时,您的光标将移动到键入命令和任何参数的屏幕的下一行。
如果忽略上述命令的感叹号,您将收到一条错误消息,比如更改没有保存,输出文件无法重写(例如,编辑只读文件时)。
: 命令有一个较长的形式(:quit, :write, :edit),但是很少使用。
vi 模式
vi 编辑器有两种操作模式:命令模式在命令模式中,您可以在文件中移动并执行一些编辑操作,比如搜索文本、删除文本等。启动时通常都是命令模式。插入模式在插入模式中,您在插入点向文本键入新文本。要返回到命令模式,按 Esc(Escape)键。
这两个模式决定了编辑器的行为。您在插入模式中键入的任何内容都将视为将要插入文件的文本。如果尝试键入命令但没有反应,或者在光标下出现字符,那么可能是忘记按 Esc 退出插入模式了。
编辑文本
现在您可以在 vi 中打开文件,在其中移动和退出,现在我们将学习如何编辑文件中的文本。修改文本
需要插入、删除或修改文本时,使用以下命令。注意,有些命令有类似于小写形式的大写形式,具体见下文的描述。i在当前位置的字符之前进入插入模式。键入文本并按 Esc 返回命令模式。使用 I 在当前行的前面插入。a在当前位置的字符之后插入模型。键入文本并按 Esc 返回到命令模式。使用 A 插入当前行的结尾。c使用 c 更改当前字符并进入插入模式键入替换字符。o在当前行下方另起一行以插入文本。使用 0 打开当前行上面的一行。cw删除当前字的其余部分,进入插入模式进行替换。使用重复计数替换多个字。使用 c$ 替换行的末尾。dw与上述 cw(和 c$)类似,但不进入插入模式。dd删除当前行。使用重复计数删除多行。x删除光标位置的字符。使用重复计数删除多个字符。p将最后一个删除文本放在当前字符。使用 P 将其放在当前字符之前。xp组合 x 和 p 是一个常用的方法。这将交换光标位置的字符和它右边的字符。
搜索文本
可以使用表达式在文件中搜索文本:/使用 / 后跟正则表达式可以在文件中进行向前搜索。?使用 ? 后跟正则表达式可以在文件中进行向后搜索。n使用 n 以任意方向重复上一次搜索。
上述搜索命令前可以带任何数字表示重复次数。3/x 查找当前点第三次出现 x 的地方,就像是 /x 后跟 2n。类似地,2/^e 将从当前位置开始的第二行查找以 e 开始的内容。
注意,到达文件底部之后,搜索将回到顶部。
获得帮助
vi 中另一个有用的命令是 help 命令,调用它的方式是:help。help 将在 vi 中打开;使用
:q命令可以离开帮助回到工作。如果您希望在某个特定主题获得帮助,比如换行,可以尝试在 :help 命令后面添加一个字,例如:
:help wrap。
小结
我们从向 count1.sh 文件添加一行开始。 要保持原来的内容并保存修改的版本,如 count2.sh,使用vi打开文件之后,我们应该使用这些 vi 命令。注意, <Esc> 表示按 Esc 键。
清单 3. 向 count1.sh 添加一行的编辑器命令
1GOsleep 20<Esc> :w! count2.sh :q
这些命令执行以下操作:
1G移动到文件的第一行O在上方新建一行并进入插入模式sleep 20要添加的新文本<Esc>按 Esc 键返回命令模式:w! count2.sh将文件写入磁盘:q关闭 vi
转自 https://www.ibm.com/developerworks/cn/linux/l-lpic1-v3-103-8/
相关文章推荐
- Linux内核创建一个新进程的过程
- selinux开启关闭
- linux内核分析 第六周
- 在Linux C编程中使用Unicode和UTF-8
- 《Linux内核分析》 第六节 分析Linux内核创建一个新进程的过程
- Linux下使用git命令及github项目
- linux环境下安装msyql数据库完整教程
- CentOS 7 更换 163网易yum源
- linux安装GCC详解
- CentOS 7安装配置Samba
- “Linux内核分析”实验报告(六)分析Linux内核创建一个新进程的过程
- linux环境下安装openjdk-8-jdk错误
- 在CentOs下搭建Telnet-Server
- 【Java学习-J.160331.0.5】笔记4-Linux基础-管理本地Linux用户和组
- CentOS7上安装稻壳CMS
- Installing Python3.4 and the SciPy stack on CentOS
- linux基础之查看硬件信息
- centos之jdk安装
- 我的2016年Linux学习决心书(老男孩教育在线课程班第一期)
- linux下vi命令大全