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非常重要. 先说一下为什么要学习这个编辑器.个人的看书理解. 系统管理员的重要工作就是參与与设置某些重要软件的配置文件, ...
随机推荐
- bootstrap模态框实现相对定位拖拽
1.正常的拖拽是用绝对定位absolute来实现的,可是bootstrap的模态框是用relative,为了统一更改方便,就照着相对定位来实现拖拽效果. $(".modal .modal-h ...
- Nodejs 如何制作命令行工具
# 全局安装,安装报错是需要前面加上sudo $ sudo npm install -g xxxb # 输出帮助 $ xxxb -h Usage: xxxb 这里是我私人玩耍的命令哦![options ...
- 菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式
一.概述. 在很多企业的开法中常常用到SpringMVC+Spring+Hibernate(mybatis)这样的架构,SpringMVC相当于Struts是页面到Contorller直接的交互的框架 ...
- Android上使用RecyclerView实现顶部悬浮标题效果的Sticky Title View
目前很多的项目都在使用顶部悬浮标题的效果,很明显,这的确是一个比较人性化,用户体验效果比较好的UI交互效果,对于这个效果,有很多种实现方式,如果说要用RecyclerView来实现一个分类信息展示,并 ...
- android 账户管理
1.Android开发之帐户管理 2.Android 帐户管理 小记 3.Android特色开发之账户管理 4.android AccountManager and SyncManager 5.And ...
- 【起航计划 034】2015 起航计划 Android APIDemo的魔鬼步伐 33 App->Service->Local Service Binding 绑定服务 ServiceConnection Binder
本例和下列Local Service Controller 的Activity代码都定义在LocalServiceActivities.Java 中,作为LocalServiceActivities ...
- Exchange 域用户无权管理邮箱
将需要管理邮箱的域用户添加至“Microsoft Exchange Security Groups”用户组即可.
- wxpython 按钮等事件的触发
1.按钮事件的触发 方法中第二个参数为event
- Java Web 常用在线api汇总(不定时更新)
1.Hibernate API Documentation (3.2.2.ga) http://www.hibernate.org/hib_docs/v3/api/ 2.Spring Framewor ...
- Browser进程和浏览器内核(Renderer进程)的通信过程
看到这里,首先,应该对浏览器内的进程和线程都有一定理解了,那么接下来,再谈谈浏览器的Browser进程(控制进程)是如何和内核通信的, 这点也理解后,就可以将这部分的知识串联起来,从头到尾有一个完整的 ...