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非常重要. 先说一下为什么要学习这个编辑器.个人的看书理解. 系统管理员的重要工作就是參与与设置某些重要软件的配置文件, ...
随机推荐
- CSS 面包屑导航栏
做之前,先看一下效果图. demo01.png 首先,书写好 HTML 代码. <div id="crumbs"> <ul> <li><a ...
- linux定时任务crontab的使用
crond进程: crond是linux下用来周期性地执行某种任务的一个守护进程,安装操作系统默认会安装此服务工具,并且会自动启动crond进程. 设置定时任务过程: 1. 创建任务文件(.sh) [ ...
- 图解JavaScript中的原型链
转自:http://www.jianshu.com/p/a81692ad5b5d typeof obj 和 obj instanceof Type 在JavaScript中,我们经常用typeof o ...
- python 后台运行命令
nohup python a.py > a.log 2>&1 & 在窗口中单开虚拟session: tmux new -s "name" 推出虚拟窗口 ...
- python 日期排序
转自:http://www.cnblogs.com/lkprof/p/3179850.html,感谢分享~ 问题1:如果日期中有千年以前的情况(没法用格式化函数),如('2010-11-23','19 ...
- 【MATLAB】R2017b两个镜像文件如何安装
1.采用DEAMON TOOLS加载镜像1. 2.当安装过程中弹出[请插入DVD2]时,在原来的盘符上面右键点击[装载],选择DVD2的镜像文件.在安装程序处选择[继续]即可正常安装.
- oracle查询时间
oracle查询和时间有关的命令: 方法一:select * from dual where time between to_date('2012-06-18 00:00:00','yyyy-mm-d ...
- VB6.0环境下的CATIA二次开发简介
CATIA作为CAD/CAE/CAM/PDM一体化的软件,广泛用于航空航天.汽车.船舶及电子工业,尤其在航空航天业,有八成以上厂商使用CATIA的市场[11].然而由于使用习惯和使用的侧重点不用,功能 ...
- Dynamics CRM 之汇总字段
用插件汇总数据,速度很慢,导数据的时候更慢!那就用汇总字段- - 新建个汇总字段,字段类型选择汇总.点击编辑进入逻辑编辑 相关实体:对当前实体或者相关联的实体的字段值进行判断筛选. 筛选器:对相关实体 ...
- YAML 格式学习
目录 什么是YAML 一.注释和多文件 二.格式要求 三.数据结构 1.对象 2. 数组 3.常量 四.字符串 YAML的特殊字符 什么是YAML YAML是"YAML不是一种标记语言&qu ...