vi命令是linux下的全屏幕文本编辑,vi编辑器提供了丰富的编辑功能。这个编辑器十分简陋,对于初学者很不友好。但是在linux中vi编辑器作用非常大,以后尤其我们在配置各种服务器时修改配置文件时十分有用。
vi编辑器有3种模式:命令模式、输入模式、末行模式。
掌握这三种模式十分重要:
命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式。在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件。
输入模式:在这个模式中我们可以编辑、修改、输入等编辑工作,在编辑器最后一行显示一个“--INSERT--”标志着vi进入了输入模式。当我们完成修改输入等操作的时候我们需要保存文件,这时我们需要先返回命令模式,再进入末行模式保存。
末行模式:在命令模式输入“:”即可进入该模式,在末行模式中有好多好用的命令。
vi的启动和退出
直接输入命令vi不指定文件名,由于这是一个没有命名的空文件,显示了vi的版本信息。这个时候想退出的话就得按下“:q”
以上为说明请往下看:
输入q!是强制退出,同时没有保存当前文件内容。如果文件没有进行修改,或者已经保存完毕也可以使用q退出。保存退出使用wq,保存强制退出wq!
保存文件
如果文件已经有文件名,我们在末行模式直接输入w保存,如果没有文件名,输入w 文件名进行保存。例如:w test其中test是文件名。
那么在vi中也可以另存为,就是在保存完以后,我们再使用w 另存为文件名。 3、光标的移动
在命令模式中可以使用命令进行以下操作。
光标方向的移动,除了可以使用方向键,还可以使用以下命令
向上移动光标:k
向左移动光标:h
向右移动光标:l
向下移动光标:j
翻页命令
Ctrl+F向前翻整页 forward
Ctrl+U向前翻半页
Ctrl+B向后翻整页 back
Ctrl+D向后翻半页
行内快数跳转
^移动到本行行首
$移动到本行行尾
显示行号和取消行号(末行模式使用)
set nu显示行号
set nonu取消行号
在命令模式下,使用以下命令可以快速的在行间跳转
1G跳转到文件首行
G跳转到尾行
#G跳转到文件的#行
4、编辑操作
进入输入模式命令
i插入命令 insert
a附加命令 additional
o打开命令 open
c修改命令
r取代命令 replace
s替换命令 substitute
Esc退出命令
输入模式的操作
Home光标到行首
End 光标到行尾
Page Up和Page Down上下翻页
Delect删除光标位置的字符
删除操作(命令模式使用)
x删除光标处的单个字符
dd删除光标所在行
dw删除当前字符到单词尾包括空格的所有字符
#x 例如3x:删除光标处向右的三个字符
#dd 例如3dd:从当前行开始向下删除三行文本
撤销操作
u命令取消最近一次的操作,可以使用多次来恢复原有的操作 undo
U取消所有操作
Ctrl+R可以恢复对使用u命令的操作 recover
复制操作
yy命令复制当前整行的内容到vi缓冲区
yw复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词
y$复制光标所在位置到行尾内容到缓存区
y^复制光标所在位置到行首内容到缓存区
#yy 例如:5yy就是复制5行
#yw例如:2yw就是复制两个单词
如果要复制第m行到第n行之间的内容,可以在末行模式中输入m,ny
例如:3,5y复制第三行到第五行内容到缓存区。
查找和替换
vi的查找和替换功能主要在末行模式完成:
至上而下的查找
/ 要查找的字符窜,其中/代表从光标所在位置起开始查找,例如:/ work 至下而上的查找
?要查找的字符窜 例如:/ work
替换
:s/old/new用new替换行中首次出现的old
: s/old/new/g 用new替换行中所有出现的old
:#,# s/old/new/g用new替换从第#行到第#行中出现的old
:% s/old/new/g用new替换整篇中出现的old
如果替换的范围较大时,在所有的命令尾加一个c命令,强制每个替换需要用户进行确认,例如:s/old/new/c 或s/old/new/gc
恢复文件
vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除。我们在下次编辑时可以选择一下命令处理:
O只读打开,不改变文件内容
E继续编辑文件,不恢复.swp文件保存的内容
R将恢复上次编辑以后未保存文件内容
Q退出vi
D删除.swp文件
或者使用vi -r 文件名 来恢复未保存的内容
原文出处:http://bbs.txwm.com/thread-789049-1-1.html
分享到:
相关推荐
本文总结了 Vi 编辑器的常用技巧和命令,旨在帮助用户更好地掌握 Vi 编辑器的使用。 一、移动光标 * k/h/j/l : 上/左/下/右移动光标 * w/W : 向前/后移动一个单词,符号或标点处理不同 * b/B : 向后移动一个单词,...
本实验旨在帮助你掌握Vi编辑器的基本操作,以及C/C++编译器gcc的使用。 **一、Vi编辑器的启动与退出** 1. **启动Vi编辑器**:在命令行界面,输入`vi`或`vim`后跟文件名即可打开编辑器。例如,若要编辑名为`example...
对于Linux用户而言,熟练掌握vi编辑器的使用技巧将极大提升其工作效率。 #### 二、编辑命令解析 下面我们将逐一解析文件中提到的各项vi编辑器命令,并详细介绍其功能及应用场景。 1. **进入插入模式:** - `i`...
总的来说,掌握vi编辑器的基础操作对于Linux用户来说至关重要,因为它是系统中的标准工具,且在没有图形界面的环境下尤为实用。尽管其学习曲线可能较为陡峭,但一旦熟悉,vi将成为你不可或缺的文本编辑利器。通过...
### Vi编辑器的基本使用方法 ...通过理解这三种模式及其转换方式,可以帮助用户更好地掌握Vi编辑器的使用方法。随着使用经验的积累,用户会逐渐习惯Vi编辑器的操作方式,并能够高效地完成文本编辑任务。
VI编辑器,全称Visual Editor,...通过这次实验,你应该能熟练掌握VI编辑器的基本操作,理解其工作模式,并能进行文本编辑、查找替换等任务。不断练习和探索,你将发现VI编辑器的更多高级功能,提升你的文本编辑效率。
- **普及度**:即使是Emacs的忠实用户,了解并掌握VI编辑器的基本操作也是必要的技能之一。 - **初学者教程**:对于刚开始接触VI编辑器的用户来说,从基础开始学习是非常重要的。本文档提供了针对初学者的详细教程。...
"Linux系统中vi编辑器的教学探讨" Linux 操作系统中[vi 编辑器](https://zh.wikipedia.org/wiki/Vi)是默认安装的字符界面文本编辑器,vi 编辑器采 用字符界面,无鼠标操作和菜单系统,只能使用命令来实现相应的...
VI编辑器具备三种基本的工作模式:命令模式、插入模式和视图模式(部分版本中称为可视模式),这三种模式之间的切换是掌握VI编辑器的关键。 #### 工作模式切换与理解 - **命令模式**:这是VI编辑器启动后的默认...
在Linux系统中,掌握Vi编辑器和GDB(GNU Debugger)的基本操作对于任何开发者来说都是至关重要的。这两款工具是Linux环境下进行代码编辑和调试的标准工具。下面将详细阐述Vi编辑器与GDB的基本命令及其使用场景。 ##...
对于任何Linux用户或系统管理员而言,掌握VI编辑器的基本操作是至关重要的技能之一。本文将深入探讨VI编辑器的启动方式、基本模式、编辑命令以及实用技巧,帮助读者熟练掌握这一工具。 #### 启动VI编辑器 - **启动...
在Linux操作系统中,掌握VI编辑器和shell命令对于日常的系统管理和开发工作至关重要。这次实习的主要目标是深入理解和实践这两个核心工具。 **一、VI编辑器** VI(Visual Editor)是Linux中最常见的文本编辑器之一...
### 使用vi编辑器的基本操作方法 #### 一、vi编辑器简介 vi(Visual)编辑器作为HP-UX系统的默认文本...通过上述介绍,你应该能够掌握vi编辑器的基本使用方法。熟练运用这些命令可以帮助你高效地完成文本编辑任务。
### VI编辑器使用详解 ...对于从事Linux系统管理和服务器管理的专业人士来说,熟练掌握VI编辑器是非常必要的技能。通过不断的实践和练习,用户能够更加熟练地使用VI编辑器完成日常工作中遇到的各种文本编辑需求。
2. **熟练掌握Vi编辑器的使用**: - 熟悉Vi编辑器的工作模式,包括命令模式、插入模式等。 - 学习如何在Vi编辑器中进行基本的文本编辑操作。 #### 三、实验练习 ##### 1. 熟悉Shell环境,使用Shell的各种功能 -...
掌握vi编辑器的基本操作对于任何一名Linux用户来说都是非常重要的。 **vi编辑器有以下三种主要模式:** 1. **命令行模式(Command Mode)**: - 这是用户启动vi编辑器后默认进入的模式。 - 在此模式下,用户可以...
### VI编辑器基础操作与命令详解 ...对于经常使用UNIX系统的用户来说,熟练掌握VI编辑器的操作能够极大地提高工作效率。希望本文对您有所帮助,也欢迎各位读者在实际使用过程中发现更多有趣的功能与技巧。
* 掌握 vi 编辑器中常用的命令及模式切换 实验内容 ### 1. 文档输入 在 vi 编辑器中录入书第 166-167 页的例 10-18 的脚本代码,并存盘保存在学号子目录下,文件名为:mcp.sh(学号子目录创建在/home 目录下) #...