vi 常用编辑命令
什么是vi:
vi是Linux/Unix底下最常用的文本编辑器,可以理解为和Windows下的txt一样,咱们一般操作linux服务器的时候都是没有图形化界面的, 怎么移动光标,到哪个位置,替换修改什么的都得用vi里面的操作
vi有两种模式
命令模式
进入vi时的默认模式,此模式下所有的用户输入都视为命令
用户在此模式下进行搜索、复制、替换等
编辑模式
用户在此模式下可以编辑文本内容,也就是这个模式下,可以随便输入内容,编辑模式只有一个作用,就是输入内容,其他的查找、粘贴、替换等等都得在命令模式下操作
模式切换
命令模式进入编辑模式:
|
1
|
i(当前位置)
|
|
1
|
a(下一位置)
|
|
1
|
o(下一行)
|
编辑模式进入命令模式:
|
1
|
esc
|
区分编辑模式和命令模式就看左下角有没有insert,左下角如果有insert就是编辑模式。
下面介绍命令模式常用的操作,注意都是在命令模式下的
退出vi
|
1
2
3
4
5
|
:q 退出vi
:q! 不保存退出
:wq 保存退出
:x 保存退出
:w 保存
|
光标定位
|
1
2
3
4
5
6
7
8
9
|
M 移动光标到页面中央
L移动光标到页面尾处
H移动光标到页面开始处
Ctrl+f向后翻页
Ctrl+b向前翻页
0移动光标到行首
$移动光标到行尾
/:从上往下开始查找,然后按n寻找下一个
?:从下往上开始查找,然后按n寻找下一个
|
撤销、重复、查找
|
1
2
3
4
|
/xxx 从上往下开始查找
?xxx 从下往上开始查找
u 撤销
. 重复前一个动作
|
复制、粘贴、删除
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
nyy 复制光标所在的向下n行内容
p 在光标处粘贴复制的内容
ndd 删除光标所在向下n行的内容
ctrl + d 往下翻半屏内容
ctrl + u 往上翻半屏内容
shift + g 到文件末尾
dd 删除整行
:set number 显示行号
:set nonu 取消显示行号
:1,3y 复制第一行到第三行
:1,3d 删除第一行到第三行
:1,3s/str/str_new/g 替换第一行到第三行中的字符串
:%s/str/str_new/g 替换所有行中的字符串
|
vi 常用编辑命令的更多相关文章
- linux学习之vi文件编辑命令
如果文件为只读则无法使用普通用户编辑,需要切换到root用户,具体名称可参考: https://www.cnblogs.com/huangwei1992/p/9493443.html vi文件编辑命令 ...
- 【AIX】采用vi语法编辑命令行
AIX中不能像centos那样移动方向键上.下来查询历史键入的命令行记录 可以通过一条命令采用vim的语法编辑命令行,查询历史记录. # set -o vi 在命令行输入上述命令后就可以: ESC+k ...
- vi 常用的命令
1.vi的两种模式:命令模式.输入模式 2.vi命令 2.1 vi 进入vi的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上 2.2 vi file1 如果file1文件不存在,将建立此文件 ...
- GCC编译流程及常用编辑命令
GCC 编译器在编译一个C语言程序时需要经过以下 4 步: 将C语言源程序预处理,生成.i文件. 预处理后的.i文件编译成为汇编语言,生成.s文件. 将汇编语言文件经过汇编,生成目标文件.o文件. 将 ...
- VI常用的命令
vi filename : 打开或者新建一个文件夹,并将光标置于第一行首位 I : 表示光标在当前位置编辑文本 A : 表示光标进入下以恶字符位置编辑文件 X : 每按一次删除光标所在位置的前面一个字 ...
- vi常用命令
哎,看书上vi命令那么多,真是记不住.记几个常用的备忘吧. 在一般模式下(不可编辑),比如用vi命令打开或创建一个文件,常用的命令如下: 按键 作用 h或← 光标左移动一个字符 j或↓ 光标下移动一个 ...
- vi 常用命令行
vi 常用命令行 1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I ...
- Linux的vi常用命令详解
1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: ...
- Linux vi常用命令
vi常用命令[Ctrl] + [f] 屏幕『向前』移动一页(常用)[Ctrl] + [b] 屏幕『向后』移动一页(常用)0 这是数字『 0 』:移动到这一行的最前面字符处(常用)$ 移动到这一行的最后 ...
随机推荐
- IE下object元素遮挡div表单
目前遇到这样的一个问题: 我用ActiveX插件做了一个C#的播放器,要将这个插件放到web浏览器中,然后可以通过前台页面来控制视频的播放,暂停还有回放,这个时候发现object的onclick事件无 ...
- 调用http接口耗时过长。
利用CRUL命令简单分析请求细节所占用的时间吧 curl -o /dev/null -s -w %{http_code}:%{time_namelookup}:%{time_redirect}:%{t ...
- 浅谈 MVP in Android(转)
我自己写的demo:https://pan.baidu.com/s/1dFImVYD 一.概述 对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让 ...
- Coursera machine learning 第二周 quiz 答案 Octave/Matlab Tutorial
https://www.coursera.org/learn/machine-learning/exam/dbM1J/octave-matlab-tutorial Octave Tutorial 5 ...
- iOS开发之提交App中断出现:Cannot proceed with delivery: an existing transporter instance is currently uploading this package
iOS开发之提交App中断出现:Cannot proceed with delivery: an existing transporter instance is currently uploadin ...
- np_utils.to_categorical
https://blog.csdn.net/zlrai5895/article/details/79560353 多类分类问题本质上可以分解为多个二分类问题,而解决二分类问题的方法有很多.这里我们利用 ...
- ShowModal 代码分析
下面为Delphi中,方法TCustomForm.ShowModal的代码,通过分析以下代码,可以了解ShowModal到底是怎么一回事! 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- JPA 多表分页查询
业务场景:大学生毕业后统计毕业去向.学生实体和毕业去向实体一对一关系. 实体: @Entity @Data @Table(name = "t_s_student") public ...
- What is MEAN?
MEAN.JS is a full-stack JavaScript open-source solution, which provides a solid starting point for M ...
- Java之线程池(一)
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统 ...