当前位置: 首页 > news >正文

Linux之编辑器vim命令

vi/vim命令:

终端下编辑文件的首选工具,号称编辑器之神

基本上分为三种模式,分别是
  1. 命令模式(command mode)===>输入vi的命令和快捷键,默认打开文件的时候的模式
  2. 插入模式(insert mode)===>进入编辑模式,可以编辑文件
  3. 底行模式(last line mode)===>调整文件内容

找到一张图片来展示三种模式之间的转换

常规基本操作:
  1. vim file  #vim后面跟一个文件名打开文件,默认进入命令行模式,无法编辑文件
  2. 按下字母i键即可进入插入模式,注意文件左下角会出现“-----插入(黏贴)-----”
  3. 开始编辑文件内容
  4. 按下Esc键,切换到命令行模式,再按下shift+“:”组合键,进入底行模式,标志是文件左下角会出现不停闪烁的“:”,在此的后面写上wq或者q!回车,保存退出。
其他操作命令:

1移动命令,所有操作在命令行模式执行

        0)默认支持方向键移动

        1)向前移动:l,空格,方向右键

        2)向后移动:h、方向左键

        3)移动到下一行:+、ENTER、j、ctrl+n、方向下键

        4) 移动到上一行:ctrl+p、方向上键

其他快捷操作:

        移动到行首:0        移动到行尾:$

        屏幕滚动下:ctrl+f        屏幕滚动上:ctrl+b

        zt 定位到屏幕顶端         zb 屏幕定位到屏幕底端

        gg定位到文件开头         G定位到文件末尾

2.编辑命令:

        1) 插入iI        i 在光标当前插入
                                I 在光标行开头插入
        2) 附加 a/A         a 在光标后增加
                                A 在光标行最后增加
        3)新行 /0         o在光标行下新起一行
                                0 在光标行上面新起一行
        4)删除x/X         x删除光标所在处字符
                                X 删除光标前面的字符,
                                可以 nx /nX表示删除多少个字符
        5)删除行         dd/D dd 删除光标所在行
                                D 从光标所在位置开始到行末位
                                dgg 删除光标所在行到文件开头的所有数据

                                 dG 删除光标所在行到文件末尾的所有数据

                                 u 用来撤销刚才的操作

        6)剪切与粘贴

                dd剪切一行

                p 粘贴一行

        7)复制与粘贴:

                yy复制一行

                p 粘贴一行

        8)复制与移动: 底行模式下执行
                :开始行,结束行 co 目标行
                例如·…: 1,2 co 5 把第一行到第二行复制到第五行

                :开始行,结束行 m 目标行
                例如::1,2m5把第一行到第二行移动到第五行

        9)移动到指定行,行号   行号G

查找与替换命令:


1)查找 在命令模式使用"/"在其后直接写需要查询的

        关键字 然后>回车 ==》 n/N 来查询

        n 表示从光标处开始往下找

        N 表示从光标处开始往上找

/\ <xx\> 表示严格匹配查找xx字符

        比如: /\<printf\>==>严格匹配,只查找该单词

        ./printf.....==>模糊匹配,只要包含该单词都高亮显示

                                  在当前文档中严格匹配查找单词printf    

2)替换:g/s1/s//s2/g

将文件中所有的s1字符串都替换成s2,

s1和s2可以使字母也可以是字符

        比如::g/printf/s//PRINTF/g

        将当前文档中所有的小写printf全部替换成大写的printf

其他常用操作:

u 撤销刚才的操作                       重复刚才的动作

挂起 ctrl+z                                    恢复fg    

关键字补齐 ctrl+n                    自动缩进    "='

高亮显示...%                            :sp(:vsp) 文件名横(纵)向窗口, ctrl+w 多窗口切换    

显示不同…:set diff                    去掉显示不同语法:set nodiff    

保存退出命令:

 wq 保存退出        :·q.不保存退出        :.x保存退出

wq!…强制保存退出        :q! 强制不保存退出

wq...../home/linux/xxx.c        指定位置保存文件

自动框架:.vimrc 文件


 

相关文章:

  • 力扣HOT100之普通数组:53. 最大子数组和
  • Linux编译器gcc/g++使用完全指南:从编译原理到动静态链接
  • 【leetcode hot 100 215】数组中的第K个最大元素
  • kubeadm部署k8s-1.32版本集群(1个master,1个worker)
  • PX4飞控-接收MAVLINK消息(2)-生成MAVLINK_MSG_ID_***.h文件
  • QEMU源码全解析 —— 块设备虚拟化(10)
  • [笔记] 系统分析师 第二章 经济管理与应用数学 (未完待续)
  • Linux系统离线安装ollama【详细版】
  • <command-line>:0:1: error: macro names must be identifiers m
  • 2000-2019年各省地方财政行政事业性收费收入数据
  • 【数据采集】技术对比:PCIe、PXIe、PCI、PXI、网口与USB
  • 线上分享会 如何用deepseek和豆包等AI平台获客?
  • 基于SSM+Vue物流信息管理系统(附源码)
  • 信竞资讯
  • MacOS 15 无法打开Docker问题(Malware Blocked)解决
  • 机器人SDF模型写法官方例子
  • csp信奥赛C++常用的数学函数详解
  • UPDclient server
  • 使用 Go 和 Gin 实现高可用负载均衡代理服务器
  • 夯实 kafka 系列|第五章:基于 kafka 分布式事件框架 eval-event
  • 比特币价格重返10万美元,哪些因素使然?
  • 优秀“博主”在上海杨浦购房最高补贴200万元,有何条件?
  • 江西省直机关工委副书记熊亮华履新宜春市委常委、宣传部部长
  • 北上广深均宣布下调个人住房公积金贷款利率
  • 民生访谈|今年上海还有哪些重要演出展览?场地配套如何更给力?
  • 国家发改委:目前有的核电项目民间资本参股比例已经达到20%