vi 常用编辑命令
2024-09-03 20:06:25
什么是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 替换所有行中的字符串
|
最新文章
- HTML5 十大新特性(二)——表单新特性
- mfc 在VC的两个对话框类中传递参数的三种方法
- [Aaronyang] 写给自己的WPF4.5 笔记22 [3d交互与动画 3/4]
- DotNetCore跨平台~Startup类的介绍
- windows更新npm
- VMware系统运维(十)部署虚拟化桌面 Horizon View 5.2 Connection Server安装
- MAC 升级到10.10(OS X Yosemite)下apache+php的配置问题
- C Primer Plus 第4章 字符串和格式化输入/输出 编程练习
- html input 文本框的一些操作(限制输入...)
- YII与Ace Admin 的集成
- 磁盘工作原理与IO性能分析
- Android 手势锁的实现 让自己的应用更加安全吧
- MyBatis 传List参数 nested exception is org.apache.ibatis.binding.BindingException: Parameter 'idList' not found.
- 数据库-mysql命令
- 安卓开发_浅谈WebView(转)
- cacti系列(一)之cacti的安装及配置监控mysql服务
- OL6.3 设置本地yum源
- stark组件之注册【模仿Django的admin】
- java.lang.IllegalArgumentException: Minimum column number is 0
- idea 设置代码的颜色
热门文章
- 【JMeter4.0学习(五)】JMeter对服务器监控测试脚本开发
- Mark指针的指针(**)和链表使用(*&;)
- hdu1695(容斥 or 莫比乌斯反演)
- Python PhatomJS 和Selenium动态加载页面 获取图片内容
- Mac标识物理位置算法 import Levenshtein mac列表特征值
- Latex: Expression under summation on multiple lines
- SpringMVC请求流程
- codeforces Gravity Flip 题解
- SE16传输配置表数据
- 关于ionic开发中遇到的坑与总结