什么是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 常用编辑命令的更多相关文章

  1. linux学习之vi文件编辑命令

    如果文件为只读则无法使用普通用户编辑,需要切换到root用户,具体名称可参考: https://www.cnblogs.com/huangwei1992/p/9493443.html vi文件编辑命令 ...

  2. 【AIX】采用vi语法编辑命令行

    AIX中不能像centos那样移动方向键上.下来查询历史键入的命令行记录 可以通过一条命令采用vim的语法编辑命令行,查询历史记录. # set -o vi 在命令行输入上述命令后就可以: ESC+k ...

  3. vi 常用的命令

    1.vi的两种模式:命令模式.输入模式 2.vi命令 2.1 vi 进入vi的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上 2.2  vi file1 如果file1文件不存在,将建立此文件 ...

  4. GCC编译流程及常用编辑命令

    GCC 编译器在编译一个C语言程序时需要经过以下 4 步: 将C语言源程序预处理,生成.i文件. 预处理后的.i文件编译成为汇编语言,生成.s文件. 将汇编语言文件经过汇编,生成目标文件.o文件. 将 ...

  5. VI常用的命令

    vi filename : 打开或者新建一个文件夹,并将光标置于第一行首位 I : 表示光标在当前位置编辑文本 A : 表示光标进入下以恶字符位置编辑文件 X : 每按一次删除光标所在位置的前面一个字 ...

  6. vi常用命令

    哎,看书上vi命令那么多,真是记不住.记几个常用的备忘吧. 在一般模式下(不可编辑),比如用vi命令打开或创建一个文件,常用的命令如下: 按键 作用 h或← 光标左移动一个字符 j或↓ 光标下移动一个 ...

  7. vi 常用命令行

    vi 常用命令行 1.vi 模式  a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了.  b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I ...

  8. Linux的vi常用命令详解

    1.vi的基本概念  基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:   ...

  9. Linux vi常用命令

    vi常用命令[Ctrl] + [f] 屏幕『向前』移动一页(常用)[Ctrl] + [b] 屏幕『向后』移动一页(常用)0 这是数字『 0 』:移动到这一行的最前面字符处(常用)$ 移动到这一行的最后 ...

随机推荐

  1. spring AOP pointcut expression表达式解析

    Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的.Pointcut可以有下列方式来定义或者通过& ...

  2. FreeSWITCH 学习笔记

    [1]FreeSWITCH学习笔记 1.Windows安装包下载地址:http://files.freeswitch.org/windows/installer/ 2.源码下载地址:http://fi ...

  3. 【SSH进阶之路】Hibernate基本映射(三)

    [SSH进阶之路]Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心.採用对象化的思维操作关系型数据库. [SSH进阶之路]Hibernate搭建开发环境+简单实例 ...

  4. java工程中当前目录在html中的设置

    本地启动server的时候总是去读"/"的, 但到了服务器上,如果当前目录是服务器根目录下的一个文件夹,就应该设: <head> <meta charset=&q ...

  5. MySQL的max()函数使用时遇到的小问题

    通常我们获取某个表的某个字段最大值时可以使用max()函数. 使用场景举例: 获取某个表id的最大值:SQL: SELECT max(id) FROM table_name; SELECT max(` ...

  6. 【BZOJ2115】[Wc2011] Xor 高斯消元求线性基+DFS

    [BZOJ2115][Wc2011] Xor Description Input 第一行包含两个整数N和 M, 表示该无向图中点的数目与边的数目. 接下来M 行描述 M 条边,每行三个整数Si,Ti ...

  7. EasyDSS直播服务器如何帮助用户解决OBS不能同时同步输出多路直播流到直播平台、CDN平台的限制

    最近有用户突然寻求帮助,大概的意思就是说: 他需要同步将桌面的直播同时RTMP发布到:斗鱼.熊猫TV等等多个平台,但是OBS又只能同时采集并发布推流直播到单一个平台,而且有时候在4G或者网络比较差的情 ...

  8. Storm编程模型及Worker通信机制

    1.编程模型 2.Worker通信机制

  9. Java程序发送邮件

    之前上网有看到过别人总结的使用java程序发送邮件,于是自己下来练习,把自己学习的一些心得总结出来. 首先我们这里需要采用两个jar包: 需要的朋友可以自行上网去CSDN类似的网站上面找 顺便把自己测 ...

  10. 电路分析二-------基尔霍夫定律KCL和KVL

    1.先了解几个名词 (1)支路----一个二端原件视为一条支路--图中6个二端原件所以有6条支路. (2)结点----两条或以上的支路连接的点. d,e可以看做一个结点. (3).回路----- (4 ...