四、vi/vim编辑器

vi/vim

模式
命令模式
编辑模式
末行模式
home键 行首
end键 行尾
命令模式切换到编辑模式
a 当前字符后输入
A 当前行行尾输入
i 当前字符前输入
I 当前行行首输入
o 当前行下一行输入
O 当前行上一行输入
s 删除当前字符后输入
S 删除当前行后输入
u 撤销一步操作
ctrl+r 重做
yy 复制 p 粘贴(当前行下一行) P(当前行上一行)
100yy 复制100行
dd 剪切/删除
100dd 删除100行
^ 行首
$ 行尾
y^ 复制当前字符到行首(不包含当前字符)
d^ 删除当前字符到行首
y$ 复制当前字符到行尾 (包含当前字符)
d$ 删除当前字符到行尾
G 最后一行
gg 第一行
53G
ygg 复制当前行到首行
dgg 删除当前行到首行
yG 复制当前行到尾行
dG 删除当前行到尾行
末行模式 (shift+:)
:w
:w!

:wq
:wq!

:q
:q!

:e /root/aa.txt
:w /tmp/xx.txt
:2,5w /tmp/yy.txt
:e! 重新打开当前文件

功能设置
:set nu
:set nonu
:set list
:set nolist

制表符 8个空格
:set tabstop=16 全文件 制表符=16个空格长度
:set softtabstop=16 已有行制表符长度不变 新的行长度=16

设置自动缩进
:set autoindent
:set noautoindent

设置永久生效
配置文件: /etc/vimrc
查找
/ab n 下一个 N 上一个
?a

替换
😒/ab/XX/ 光标所在行 匹配到的第一个ab
:%s/ab/XX/g 所有行所有ab都替换 -g 全局 % 所有行
:2,5s/ab/XX/g 2-5行替换
:%s/ab/XX/gc c 交互式替换
:%s/ //g 替换掉所有的空格
:%s/^ *//g 替换掉所有开头的空格
:g/^$/d 删除空行
:g/^#/d 删除所有#号开头的行

可视化模式
v
选中
y 复制 d删除
可视化块模式
ctrl + v
选中
y复制 d删除
ctrl+v —> 选中注释列—>shift+i—->输入#—->ESC(两次)

多文件处理
[root@localhost ~]# vim aa.txt cc.txt tt.txt
:next 下一个文件
:prev 上一个
:first 第一个
:last 最后一个
ctrl+^ 两个文件之间切换(当前和 上次打开的)

多窗口
[root@localhost ~]# vimdiff aa.txt cc.txt tt.txt
ctrl+ w w 切换文件
退出 wqa qa!

[root@localhost ~]# vim -O aa.txt cc.txt tt.txt
[root@localhost ~]# vim -o aa.txt cc.txt tt.txt

加密
末行模式 X 保存退出

总结问题:
出现问题原因:

没有正常退出vim 在cache 找到 vim 搜索.swap 删除即可,这是在非正常退出留下的副本,如果在编辑的时候出问题导致编辑进度丢失可以用这个备份的文件恢复编辑进度
解决方法:
1.通过D命令删除交换文件
2.rm -rf .tt.txt.swp

Original: https://www.cnblogs.com/wang-yongxu/p/16426164.html
Author: Lyon-w
Title: 四、vi/vim编辑器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581989/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • VMware ESXi 7.0 U3 SLIC 2.6 & Unlocker 集成 Intel NUC 网卡、USB 网卡和 NVMe 驱动

    提供标准版和 Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科) 定制版镜像 请访问原文链接:VMware ESXi 7.0…

    Linux 2023年5月27日
    0156
  • 基于 OSPF 路由的邻居邻接关系发现实践

    1、实验目的 理解 OSPF 邻居关系和 OSPF 邻接关系的含义及差别 观察 OSPF 邻居邻接关系的建立过程 观察 OSPF 链路状态数据库的同步过程 2、实验原理 OSPF …

    Linux 2023年6月8日
    0133
  • Redis之延迟监控

    *参考官方文档 *启用 redis 延迟监控 CONFIG SET latency-monitor-threshold 100 单位:毫秒,100表示一百毫秒。如果将 latenc…

    Linux 2023年5月28日
    099
  • 1. 文件与I/O

    内核是如何处理系统调用 每个系统调用被赋予了一个系统调用号 在i386平台上,执行一个系统调用是通过int 0X80指令完成的 eax存放系统的调用号 ebx,ecx,edx,es…

    Linux 2023年6月6日
    092
  • python异常处理

    关于异常 在程序运行中,总会遇到各种各样的错误,如打开一个不存在的文件,程序期待用户输入数字,但用户输入了字符串,网络传输终止等,如果不对这些可能引发异常的情况进行处理,就会导致抛…

    Linux 2023年6月7日
    0164
  • 记一次centos挂载ceph存储的坑

    生产有两台服务器,准备用来跑工作流,执行的资源的是放在ceph存储集群中,第一步挂载ceph 执行命令: mount -t ceph xxx:xxx -o name=admin,s…

    Linux 2023年5月27日
    0103
  • 在Windows下使用CodeBlock使用libiconv第三方库

    在 Windows 下使用 CodeBlock 使用 libiconv 第三方库 1、 选择在Project—>Build options下: 2、 如下图添加libicon…

    Linux 2023年6月6日
    095
  • 02-MySQL关键字、Select语句执行顺序

    SQL关键字 1、分页 MySQL的分页关键词是 limit SELECT * FROM student LIMIT 2,6:查询学生表中的数据,从第三条开始,显示6条数据 2、分…

    Linux 2023年6月7日
    091
  • 蓝桥杯国赛——循环小数

    时间限制: 1.0s 内存限制: 256.0MB 本题总分:20 分 【问题描述】已知 S 是一个小于 1 的循环小数,请计算与 S 相等的最简真分数是多少。例如 0 . 3333…

    Linux 2023年6月6日
    076
  • dotnet-cnblogs-tool使用与坑

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月6日
    084
  • Linux下定时自动备份Docker中所有SqlServer数据库

    给出一个备份的范例 #!/bin/bash #设置mssql备份目录 folder=/var/opt/mssql/data/databack/ day=date +%Y%m%d%H…

    Linux 2023年6月14日
    0115
  • 基于 vite 创建 vue3 全家桶项目(vite + vue3 + tsx + pinia)

    vite 最近非常火,它是 vue 作者尤大神发布前端构建工具,底层基于 Rollup,无论是启动速度还是热加载速度都非常快。vite 随 vue3 正式版一起发布,刚开始的时候与…

    Linux 2023年6月7日
    0114
  • archLinux 配置用户

    archlinux 启动之后只有默认的root用户,首先介绍下系统启动到登录需要的步骤 1.系统通过systemd 以pid为1初始化系统,启动系统用户和系统必要的服务,(这一步目…

    Linux 2023年6月13日
    084
  • CentOS7 安装 OpenBLAS

    将仓库clone到本地 git clone https://github.com/xianyi/OpenBLAS.git GitHub 地址:https://github.com/…

    Linux 2023年6月7日
    0154
  • vue+vant音乐播放器(andriod)项目

    新建项目 在适合的目录下打开终端输入vue create music_player,回车 选择Default([Vue 2] babel,eslint) 等待项目构建完成 项目构建…

    Linux 2023年6月13日
    094
  • 计算机硬件的读写速度差异

    现代计算机系统 存储器 寄存器 CPU时钟周期 高速缓存 主存 固态硬盘 机械硬盘 压榨CPU性能带来的问题 有序性问题 可见性问题 原子性问题 作者:小牛呼噜噜 | https:…

    Linux 2023年6月6日
    0131
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球