linux系统之-vi编辑器
在linux系统使用中,掌握熟练的vi编辑器,可以提高linux工作效率。那么vi编辑器的使用方法有哪些呢?
vi编辑器可在绝大部分linux发行版中使用。
Vi编辑器的作用:
创建或修改文件;
维护linux系统中的各种配置文件。
vi没有菜单,只有命令
vi有三种基本工作模式,分别是:命令模式(command mode)、插入模式(insert mode)和末行模式(last line mode)
命令模式下的操作一
从命令模式进入插入模式:
a:在光标后插入内容;
A:在当前行的末尾插入内容;
o:在当前行的下面插入内容;
O:在当前行的上面插入内容;
i:在光标处插入内容;
I:在当前行的行首插入内容。
命令模式下的操作二
命令模式下的跳转命令一:
上、下、左、右方向键移动;
pageup/ctrl+b: 向上翻页;
pagedown/ctrl+f: 向下翻页;
home/^/数字0: 跳到当前行的行首;
end/$: 跳到当前行的行尾;
gg/1G: 跳到文件的第一行行首;
G/shift+g: 跳到文件的最后一行;
#G/#gg: 跳到文件的第#行。
命令模式下的跳转命令二:
H:跳到当前屏幕的第一行;
M:跳到当前屏幕的中间;
L: 跳到当前屏幕的最后一行;
w:一个单词一个单词往右跳;
b: 一个单词一个单词往左跳;
f:后面跟想跳转的字母,例如f b,向右跳到最近的一个b字母处。
命令模式下的操作三
命令模式下的复制和粘贴命令:
yy: 复制当前行;
#yy:从当前行开始向下复制#行;
yw: 从光标开始复制一个单词;
y$: 复制光标处到行尾所有内容;
y^: 复制光标处到行首所有内容;
p: 将缓冲区中的内容粘贴到光标位置处之后;
P: 将缓冲区中的内容粘贴到光标位置处之前。
命令模式下的操作四
命令模式下的删除命令:
dd: 删除当前行;
#dd:从当前行开始向下删除#行;
dw: 从光标处开始删除一个单词;
d$: 删除从光标处开始到行尾所有内容;
d^: 删除从光标处开始到行首所有内容;
x/del: 删除光标处一个字符。
命令模式下的操作五
命令模式下的撤消、替换命令:
u: 撤消上一步操作;
U: 取消对当前行所作的所有编辑;
ctrl+r: 反撤消;
ZZ: 保存当前的文件内容并退出VI编辑器;
r: 替换,例如r b,将光标处所在的字符替换成b;
R: 从光标处开始连续向右替换直到按esc键停止。
命令模式下的操作六
命令模式下文件内容的查找:
/: 从光标处开始从上而下在文件中查找字符或字符串;
?: 从光标处开始从下而上在文件中查找字符或字符串;
n: 定位下一个匹配的被查找的字符或字符串;
N: 定位上一个匹配的被查找的字符或字符串。
末行模式下的操作一
保存和退出一:
w: 保存;
w aa.log: 把当前文件另存为aa.log并放到当前目录;
w /tmp/ab.log: 把当前文件另存为ab.log放到/tmp目录下;
q: 退出;
wq/x: 保存后退出;
q!: 不保存退出;
保存和退出二(重点):
10,15 w 10.log:把当前文件的10到15行,另存到当前目录的10.log文件中;
10,15s /^/#/g:在10到15行的行首插入“#”;
%s /^/#/g : 在所有行的行首插入“#”;
10,15s /^#//g: 将10到15行的行首的“#”去掉。
显示行号:set nu
不显示行号:set nonu
末行模式下的操作二
文件内容替换(重点):
s /old/new:将当前行中查找到的第一个字符串“old”替换为“new”;
s /old/new/g:将当前行中查找到的所有字符串“old”替换为“new”;
s /old/new/c:在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认;
#,# s/old/new/g:在行号“#,#”范围内替换所有的字符串“old”为“new”;
%s /^c/C/g:把当前文档中所有以c开头的内容替换成C;
末行模式下的操作三
打开新文件或读入其他文件内容:
e /home/a.txt:在当前文件下,打开新的文件进行编辑;
q!:两个文件都退出来了;
linux系统之-vi编辑器的更多相关文章
- Linux系统下vi编辑器的一些简单使用操作
Linux系统安装vi编辑器 打开终端,输入: sudo apt install vim 然后输入Y等待安装即可 Linux系统下使用vi编辑器的使用 安装好vim后,终端中输入vim即可进入vim编 ...
- linux系统下Vi编辑器或者Vim编辑器设置显示行号、自动缩进、调整tab键宽度的技巧?
工作中嫌vim 中一个tab键的宽度太大,linux系统默认,没改之前是一个tab键宽度是8个字符,想改成4个字符, 操作如下:(注意:这是在root用户下)cd ~vim .vimrc添加如下几行: ...
- ubuntu系统里vi编辑器时,按方向箭头输入是乱码的ABCD字母?(图文详解)
不多说,直接上干货! 问题详情 ubuntu系统里vi编辑器时,按方向箭头输入是乱码的ABCD字母? 解决办法 是由于预装的vim软件没更新,运行 sudo apt-get install vi ...
- Linux系统的vi命令
Linux系统的vi命令 vi编辑命令 1,格式: #vi filename 2,用法: //打开或新建文件,并将光标置于第一行首 #vi + filename //打开文件,并将光标置于第n行首 # ...
- Linux学习之一--VI编辑器的基本使用
vi编辑器是Linux系统下标准的编辑器.而且不逊色于其他任何最新的编辑器.可是会用的有多少呢.下面介绍一下vi编辑器的简单用法和部分命令.让你在Linux系统中畅行无阻. 基本上vi可以分为三种状态 ...
- 【Linux基础】VI 编辑器基本使用方法
vi编辑器是所有Unix及Linux系统下标准的编辑器.对Unix及Linux系统的任何版本,vi编辑器是完全相同的,它是Linux中最基本的文本编辑器. 第一章vi的三种模式 第二章vi文本编辑器 ...
- Linux 操作系统下 VI 编辑器常用命令详细介绍
一.Vi 简介 vi是unix世界中最通用的全屏编辑器,linux中是用的是vi的加强版vim,vim同vi完全兼容,vi就是"visual interface"的缩写.它可以执行 ...
- linux应用之vi编辑器的安装、配置及用法
vi(vim是其高级版本)是linux系统上用于文本编辑的一个应用.它的功能十分强大,在日常的系统管理活动或编程中用得都很多.所以用好vi是很有必要的. 学习vi主要学的知识点有:1.vi的配置.2. ...
- linux vim,vi编辑器的基础
在之前我也不知道为什么要学vim和vi编辑器,仅仅是听过别人说这个对与linux非常重要. 先说一下为什么要学习这个编辑器.个人的看书理解. 系统管理员的重要工作就是參与与设置某些重要软件的配置文件, ...
随机推荐
- Csharp:asp.net CheckBoxList databind
/// <summary> /// CheckBoxList數據源 /// 塗聚文 /// 20130705 /// /// </summary> private void s ...
- js CheckBox 全选、反选
<h3>你最喜欢的水果是?</h3> <label><input type="checkbox"/>苹果</label> ...
- Swiper双向轮播
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- EBS登陆界面IE显示异常
使用在IE浏览登陆EBS时: 在登陆界面,登录和取消的按钮显示异常: 在进入HOME界面时,显示的职责全为undefined. 原因: 由于IE版本的兼容性. 解决方法: 浏览器 菜单->工具- ...
- jQuery Event.stopImmediatePropagation() 函数详解
stopImmediatePropagation()函数用于阻止剩余的事件处理函数的执行,并防止当前事件在DOM树上冒泡. 根据DOM事件流机制,在元素上触发的大多数事件都会冒泡传递到该元素的所有祖辈 ...
- 设计模式之适配器模式(Adapter)
1. 概述 将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作. 2. 解决的问题 即Adapter模式使得原本由于接口不兼容而不 ...
- pl/sql 存储过程执行execute immediate 卡住
在存储过程中,执行了create table.update table.insert into table 但是在使用pl/sql的存储过程调试的时候,一有问题就直接卡住(标识:执行中.....) 后 ...
- Document flow API in SAP CRM and C4C
Document flow API in CRM 以一个具体的例子来说明.在Appointment的Overview page上能看见一个名叫Reference的区域,这里可以维护一些其他的业务文档的 ...
- DOS下启动MySQL时输入net start mysql 提示服务名无效的问题
原因:mysql服务名错误. 正确做法:net start +mysql服务名
- MySQL联合索引最左匹配范例
MySQL联合索引最左匹配范例 参考文章:http://blog.jobbole.com/24006/ 创建示例表. 示例表来自MySQL官方文档: https://dev.mysql.com/doc ...