vi编辑器基础指令
2024-09-01 04:20:54
vi -- 终端中的编辑器 visual interface ssh-- secure shell
vim vi improved
-----------------------------
打开和新建文件
vi 文件名
#如果文件已经存在,会直接打开文件
#如果文件不存在,会新建一个文件
-------------------------------
打开文件并定位行
vi 文件 光标定位在最开头
vi 文件 + 光标定位在结尾
vi 文件 +num 定位在多少行 方便找错误
---------------------------------------
中途强制退出E325 提示交换文件,可以按d直接删除
-------------------------------------------------------------
三种工作模式
1.命令模式
- 打开文件首先进入命令模式,是使用vi的入口
- 通过命令对文件进行常规的编辑操作,such as 定位,翻页,复制,粘贴,删除..
2.末行模式
- 是vi的出口,返回控制台,需在末行模式中输入命令
- w 保存 q退出 wq保存并退出
- 不保存无法直接退出 q!强行退出 x ==wq保存并退出 搜索并替换 :%s///gc
3.编辑模式-模式切换
常用命令
- 在命令模式下,输入一个数字,再加上一个命令,指定命令执行次数
- vi快速定位和编辑代码行
- 编辑操作,删除d/x,复制,粘贴,替换,缩排
- 撤销u和重复(恢复撤销的命令)ctrl+r
- 编辑
- 移动 h左 l右 j上 k下
- 行内移动:w word向后移动一个单词; b back向前移动一个单词; 0 回到行首;^第一个不是空白字符的位置;$行尾
- 行数移动:gg 文件顶部; G 文件末尾 ;数字gg 移动到数字对应的行数; 数字G 也是移动到对应行数; :数字 也是对应行数
- ctrl + b 向上翻页 ctrl+f 向下翻页 H Head 屏幕顶部 M Middle 屏幕中间 L Low 屏幕底部
- 段落移动:{上一段落 }下一段落
- 括号切换 %
- 标记 mx mark 'x 即回到做x标记的地方 x范围a-z A-Z
选中文本(可视模式)
- v 可视模式 从光标位置按正常模式选中
- V可视行模式 选中光标经过的完整行
- ctrl+v 可视块模式 垂直方向选中文本
- 可以和移动命令一起使用 例如:ggVG能够选中所有的内容
删除文本
- x 删除光标所在字符,或选中文字
- d(移动命令) 删除移动命令对应的内容
- dd删除光标所在行,ndd可以删除多行
- D删除至行尾
- 删除命令可以和移动命令相结合 dw 光标位置删除到单词结尾;d0删光标位置到行首;d}删光标位置到段尾;ndd;d代码行G 删到代码行之间的;d'a之间的
复制,粘贴 放在文本缓冲区,删除本质上是剪切
- y(移动)和删除类似 复制
- yy 复制一行,nyy复制多行
- p paste 粘贴
- 粘贴时注意:其他软件中ctrl+c复制的只能在编辑模式下粘贴,不能通过p命令粘贴
- 替换r 替换的值 替换光标位置 R 替换的值 光标开始一直往后修改
- 缩排>>向右缩进 <<向左 可视模式v下只需要<或 者> .重复命令
- (1)查找 /str 全部高亮显示 n往下一个寻找 N往上一个寻找 (2)快速匹配 按*向后找光标所在单词 #向前找光标所在单词 找不存在的取消高亮
- 查找与替换 此命令需要在末行模式下执行 格式 :s///g (1)例如全局替换 :%s/旧/新/g (2)可视区替换 :s/旧/新/g (3)确认替换 :%s/旧/新/gc
编辑模式
- i,I,a,A,o,O进入编辑模式
- 编辑命令和数字连用(1)10 i * esc 8i str
- 利用可视块模式 给多行代码增加注释 要使用I 不能使用i进入
- 末行模式拓展 :e .进入vi内置文件浏览器 :n 文件名 :w 文件名 另存为(适用于阶段性备份)
- 分屏命令:可以同时编辑和查看多个文件 :sp 文件名 横向分屏 (split) :vsp 文件 纵向分屏 ctrl+w管理窗口
- 分屏windows操作 : ctrl+w w windows切换下一个窗口 r reverse互换窗口 c close关闭当前 q退出 o other关闭其他窗口
最新文章
- Shell 编程基础之 For 练习
- Swift Standard Library: Documented and undocumented built-in functions in the Swift standard library – the complete list with all 74 functions
- hiho 毁灭者问题
- MySQL 添加列,修改列,删除列
- C#this关键字用法
- bzoj1221
- linux使用进阶(一)
- DOM对象和JQuery有什么不同的地方?
- Day2 基本数据类型
- MySQL搭建主从数据库 实现读写分离
- JAVA_SE基础——56.包的创建
- 【BZOJ1026】【SCOI2009】windy数
- mybatis-plus的代码生成器
- 给定一个数组,求如果排序之后,相邻两数的最大差值,要求时间复杂度为O(N),且要求不能用非基于比较的排序
- 4.Zuul-限流
- Ubuntu或linux 运行后台进程运行不挂断的办法
- 设计模式之生成者模式java源代码
- future封装了callable,thread封装future。
- MapWinGIS------下载与安装
- Bootstrap框架(二)