linux vi编辑常用命令
linux vi编辑常用命令
vi编辑器中有三种状态模式
1.命令模式
2.输入模式
3.末行模式

三种模式间的相互转换
vi编辑器的启动与退出
直接进入编辑环境
$ vi
进入编辑环境并打开(新建)文件
$ vi myfile
退出vi编辑环境
输入末行命令放弃对文件的修改,并退出编辑器
:q!
文件保存与另存为
保存文件
保存对vi编辑器中已打开文件的修改
:w
另存为文件
将vi编辑器中的内容另存为指定文件名
:w myfile
退出vi编辑器的多种方法
未修改退出
没有对vi编辑器中打开的文件进行修改,或已对修改进行了保存,直接退出vi编辑器
:q
保存并退出
对vi编辑器中的文件进行保存并退出vi编辑器
:wq
不保存退出
放弃对文件内容的修改,并退出vi编辑器
:q!
光标的移动和翻页操作
操作类型光标操作键功能
光标移动h向左移动光标
l向右移动光标
k向上移动光标
j向下移动光标
翻页Ctrl + f向前翻整页
Ctrl + b向后翻整页
Ctrl + u向前翻半页
Ctrl + d向后翻半页
行内快速跳转
操作键功能
^将光标快速跳转到本行的行首字符
$将光标快速跳转到本行的行尾字符
w将光标快速跳转到当前光标所在位置的后一个单词的首字母
b将光标快速跳转到当前光标所在位置的前一个单词的首字母
e将光标快速跳转到当前光标所在位置的后一个单词的尾字母
文件内行间快速跳转
命令功能
:set nu 在编辑器中显示行号
:set nonu 取消编辑器中的行号显示
1G跳转到文件的首行
G跳转到文件的末尾行
#G跳转到文件中的第#行
进入输入模式
命令功能
i在当前光标处进入插入状态
a在当前光标后进入插入状态
A将光标移动到当前行的行末,并进入插入状态
o在当前行的下面插入新行,光标移动到新行的行首,进入插入状态
O在当前行的上面插入新行,光标移动到新行的行首,进入插入状态
cw删除当前光标到所在单词尾部的字符,并进入插入状态
c$删除当前光标到行尾的字符,并进入插入状态
c^命令删除当前光标之前(不包括光标上的字符)到行首的字符,并进入插入状态
输入模式的编辑键操作
按键功能
方向键进行上下左右方向的光标移动
Home快速定位光标到行首
End快速定位光标到行尾
PageUp进行文本的向上翻页
PageDown进行文本的向下翻页
Backspace删除光标左侧的字符
Del删除光标位置的字符
删除操作
命令功能
x删除光标处的单个字符
dd删除光标所在行
dw删除当前字符到单词尾(包括空格)的所有字符
de删除当前字符到单词尾(不包括单词尾部的空格)的所有字符
d$删除当前字符到行尾的所有字符
d^删除当前字符到行首的所有字符
J删除光标所在行行尾的换行符,相当于合并当前行和下一行的内容
撤消操作
命令功能
u取消最近一次的操作,并恢复操作结果
可以多次使用u命令恢复已进行的多步操作
U取消对当前行进行的所有操作
Ctrl + r对使用u命令撤销的操作进行恢复
复制与粘贴操作
命令功能
yy复制当前行整行的内容到vi缓冲区
yw复制当前光标到单词尾字符的内容到vi缓冲区
y$复制当前光标到行尾的内容到vi缓冲区
y^复制当前光标到行首的内容到vi缓冲区
p读取vi缓冲区中的内容,并粘贴到光标当前的位置(不覆盖文件已有的内容)
字符串查找操作
命令功能
/word从上而下在文件中查找字符串“word”
?word 从下而上在文件中查找字符串“word”
n定位下一个匹配的被查找字符串
N定位上一个匹配的被查找字符串
字符串替换操作
命令功能
:s/old/new 将当前行中查找到的第一个字符“old” 串替换为“new”
:s/old/new/g 将当前行中查找到的所有字符串“old” 替换为“new”
:#,#s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”
:%s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new”
:s/old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认
vi编辑器的在线帮助
使用vi在线帮助需安装的软件包
vim-common-6.3.035-3.i386.rpm
vim-enhanced-6.3.035-3.i386.rpm
软件包在RHEL5的第2张安装光盘
使用vi在线帮助的两种方法
在vi编辑器中按“F1”键
输入help末行命令
:help
linux vi编辑常用命令的更多相关文章
- Linux vi 编辑器 常用命令行
1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下'i,I,o,O,a, ...
- linux vi(vim)常用命令汇总(转)
前言 首先解析一个vim vi是unix/linux下极为普遍的一种文本编辑器,大部分机器上都有vi的各种变种,在不同的机器上常用不同的变种软件,其中vim比较好用也用的比较广泛.vim是Vi Imp ...
- linux vi(vim)常用命令汇总
1 查找 /xxx(?xxx) 表示在整篇文档中搜索匹配xxx的字符串, / 表示向下查找, ? 表示向上查找其中xxx可以是正规表达式,关于正规式就不多说了. 一般来说是区分大小写的, 要想不区分大 ...
- linux:终端常用命令 + vi命令修改文件及保存 方法
首先介绍一下Ubuntu下各个目录的一般作用: / 这就是根目录,一台电脑有且只有一个根目录,所有的文件都是从这里开始的.举个例子:当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录 ...
- Linux文件管理和编辑常用命令
Linux文件管理和编辑常用命令 mkdir 命令 功能说明 mkdir 命令用于创建一个目录,mkdir是make directory的缩写 格式: mkdir [选项] 目录名 mkdir 命令的 ...
- Linux vi 编辑器常见命令的使用
Linux vi 编辑器常见命令的使用 Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配.注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Win ...
- Linux学习之CentOS(二)--初识linux的一些常用命令
Linux学习之CentOS(二)--初识linux的一些常用命令 在VM上安装完了CentOS6.4以后,看着linux系统成功跑起来,心里小激动了一把......但是前方学习的道路还很遥远... ...
- Linux Tomcat部署常用命令
Linux Tomcat部署常用命令 1.连接服务器 2.进入webapps目录: cd /usr/local/tomcat8080/webapps/ 3.上传文件(war包等):rz 4.删除文件 ...
- VI/VIM 常用命令
VI/VIM 常用命令=========== 整理自鸟哥的私房菜 ---------- - 移动光标 命令 | 描述----------------------- ...
随机推荐
- 快速构建Windows 8风格应用16-SettingContract原理及构建
原文:快速构建Windows 8风格应用16-SettingContract原理及构建 本篇博文主要介绍Setting Contract概述.Setting Contract实现基本原理.如何构建Se ...
- Windows 8 常用第三方SDK使用概览
原文:Windows 8 常用第三方SDK使用概览 应用开发过程中,我们或多或少会使用到第三方的公司平台的功能,例如:新浪微博.人人网.高德地图等. 那么在Windows 8 Store App开发中 ...
- Redis查看帮助文档
Redis查看帮助文档的方式,目前我用到的主要有两种: 1.访问官方文档: Redis文档 2.在redis-cli中通过命令查看,输入"?"或者"help"回 ...
- mediawiki在windows下的安装
mediawiki在windows下的安装 对于刚接触wiki的朋友们来说,配置一个服务器环境,安装并运行mediawiki是一件很麻烦的事情,在这里,我尽量用通俗易懂的语言,介绍mw(mediawi ...
- 简话ASP.NET Web API
简话ASP.NET Web API 在vs2012中,我们很容易在根据选择的ASP.NET MVC Web应用程序来新建一个Web API应用,聪明的你一定想见得到,Web API和MVC有着某种联系 ...
- 继承,is,as,多态
继承中的构造方法:1.创建子类对象时,一定会先创建父类对象2.如果调用的子类构造方法没有使用base,就会自动调用父类无参的构造方法, 如果父类没有无参的构造方法就会报错3.如果调用的子类构造方法 ...
- Codekart 框架
[Node.js框架] 为什么要开发 Codekart 框架 两年前,在被php的$符号和字符串处理折磨得半夜骂娘之后,我义无反顾地决定:珍爱生命,远离php. 之后一直在寻找一门“完美的语言”,先后 ...
- linux内核数据结构之链表
linux内核数据结构之链表 1.前言 最近写代码需用到链表结构,正好公共库有关于链表的.第一眼看时,觉得有点新鲜,和我之前见到的链表结构不一样,只有前驱和后继指针,而没有数据域.后来看代码注释发现该 ...
- [转]使用ReactiveCocoa实现iOS平台响应式编程
原文:http://www.itiger.me/?p=38 使用ReactiveCocoa实现iOS平台响应式编程 ReactiveCocoa和响应式编程 在说ReactiveCocoa之前,先要介绍 ...
- C# BackgroundWorker组件学习
C# BackgroundWorker组件学习 C# BackgroundWorker组件学习 一个程序中需要进行大量的运算,并且需要在运算过程中支持用户一定的交互,为了获得更好的用户体验,使用Ba ...