vim模式用法总结

news2024/11/19 18:18:58

0.前言

我们用gcc编译文件的时候,如果发生了下面的错误,那么如何用vim打开的时候就定位到?

我们可以知道,这是第6行出现了错误;

所以我们使用vim打开的时候多输入个这个,我们就可以快速定位了

vim test.c +6

一、常用模式间转换按键

命令模式:vim打开的时候默认进入命令模式,控制屏幕光标的移动,字符、字或行的删除,移动复制某区段

插入模式:进行文本的输入

底行模式:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。

二、命令模式快捷键

一定要切换成英文输入法

1.1 移动操作

快捷键作用
^(shift + 6)定位到当前行的最左侧
$(shift + 4)定位到当前行的最右侧
G(shift + g)定位到文本末行的开头
gg定位到文本最开始
n + G(shift + g)定位到第n行开头
h j k l 控制光标向左,下,上,右移动
w跳跃到下一个字的开头
b跳跃到上一个字的开头
e跳跃到下一个字的结尾
ctrl + b屏幕往后移动一页
ctrl + f屏幕往前移动一页

1.2. 复制粘贴操作:

n + yy

n = 1    复制当前行

n > 1    向下复制n行

n  + p

n = 1    在下一行粘贴由yy复制的文本

n > 1    在下一行粘贴n次由yy复制的文本

1.3 删除,剪切操作:

n  + dd

n = 1 删除当前行

n > 1 向下删除n行

n + dd + p将删除的再复制出来,相当于剪切
n + x(小写)

n = 1 删除光标所在的字符

n > 1 向右删除n个字符

n + X(大写)

n = 1 删除光标前一个字符

n > 1 向左删除光标前n个字符

1.4 撤销操作:

u撤销我们的编辑操作
ctrl + r对u撤销

1.5 替换操作:

n r + 字符 

n = 1 用你给的字符替换光标所在的字符

n > 1 用你给的字符替换光标后面n个字符

1.6 切换大小写

~(shift + `)切换大小写

三、底行模式快捷键

使用之前切换到命令模式,按冒号进入底行模式,输入结束默认回到命令模式,所以底行模式需要每次都加个冒号才可以切换。

1.1 行号和跳转到num行

快捷键作用
:set nu显示行号
:set nonu取消显示行号
: num跳转到文本的num行

1.2 查找字符

:/ 内容 +n高亮内容,并且光标从头开始找,按一次n,找下一个
:? 内容 +n高亮内容,并且光标从最后开始找,按一次n,找上一个

1.3 保存和退出vim

:q仅退出
:q!强制退出
:w仅保存
:w!强制保存
:wq保存并退出
:wq!强制保存并退出

1.4 在不退出vim下,进行命令行操作

:! 命令不退出vim,对Linux进行命令行操作

1.5 对比不同的文件

:vs file当前的文件与file文件对比

注意⚠️⚠️:

1.  若file不存在,系统会创建一个f名为file的文件名

    但是我们不写file,退出时file销毁 

    当我们写入file,file存在

2. 在比较的时候,我们的底行是和光标所处一个文件的

3. 按住ctrl + w+w  切换光标所处的窗口

1.6 查找vim的模式

:help vim-modes

四、视图模式快捷键

ctrl v进入视觉模式

视觉模式:用来批量化注释的

4.1 批量化注释

步骤1:hjkl(或者键盘的上下左右键)进行注释部分的选择,可以控制鼠标一起

步骤2:  I (shift + i),进入插入模式

步骤3:  在当前行输入  //  (注释符号)

步骤4:  esc(2次) 完成注释

4.2 撤销注释

先进入视图模式 ctrl v

步骤1:hjkl(或者键盘的上下左右键)进行注释部分的选择,可以控制鼠标一起

步骤2:  d

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1221604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

centos7 killall命令安装、使用

安装 在线安装命 输入下面命令 yum install psmisc -y Psmisc软件包包含三个帮助管理/proc目录的程序。 安装下列程序: fuser, killall,pstree和pstree.x11(到pstree的链接) fuser #显示使用指定文件或者文件系统的进程的PID。 killall #杀死某个名字的进程,它…

【咖啡品牌分析】Google Maps数据采集咖啡市场数据分析区域分析热度分布分析数据抓取瑞幸星巴克

引言 咖啡作为一种受欢迎的饮品,已经成为我们生活中不可或缺的一部分。随着国内外咖啡品牌的涌入,新加坡咖啡市场愈加多元化和竞争激烈。 本文对新加坡咖啡市场进行了全面的品牌门店数占比分析,聚焦于热门品牌的地理分布、投资价值等。通过…

react antd下拉选择框选项内容换行

下拉框选项字太多,默认样式是超出就省略号,需求要换行全展示,选完在选择框里还是要省略的 .less: .aaaDropdown {:global {.ant-select-dropdown-menu-item {white-space: pre-line !important;word-break: break-all !important;}} } html…

CTF-PWN-堆- 【off-by-one】

文章目录 堆的off-by-one利用思路Asis CTF 2016 b00ks libc 2.31IDA源码main输入名字creat函数dele函数edit函数print函数reeditor name函数 思路exp思路 堆的off-by-one off-by-one指的是单字节缓冲区溢出(off-by-one 是可以基于各种缓冲区的,比如栈、…

Java编程中,异步操作流程中,最终一致性以及重试补偿的设计与实现

一、背景 微服务设计中,跨服务的调用,由于网络或程序故障等各种原因,经常会出现调用失败而需要重试。另外,在异步操作中,我们提供接口让外部服务回调。回调过程中,也可能出现故障。 这就要求我们主动向外…

Redis篇---第二篇

系列文章目录 文章目录 系列文章目录前言一、为什么 使用 Redis 而不是用 Memcache 呢?二、为什么 Redis 单线程模型效率也能那么高?三、说说 Redis 的线程模型前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这…

最新自动定位版本付费进群系统源码

更新内容: 1.在网站首页增加了付款轮播功能。 2.新增了城市定位功能,方便用户查找所在城市的相关信息。 3.对域名库及支付设置进行了更新和优化。 4.增加了一种图模板设置模式,简化了后台模板设置流程。 5.此外还进行了前后台的其他优化…

音频类型转换工具-可执行文件exe/dmg制作

朋友车载音乐需要MP3格式,想要个批量转换工具 准备工作 brew install ffmpeg --HEAD或者官网下载安装ffmpeg并配置环境conda install ffmpeg 或者pip install ffmpeg-python 音频类型转换程序.py文件 exe文件在windows下打包,dmg在macos下打包&#…

Springboot更新用户密码

UserController PatchMapping("/updatePwd")//RequestBody注解&#xff0c;mvc框架才能自动的去读取请求体里的json数据&#xff0c;转换成map集合对象public Result updatePwd(RequestBody Map<String,String> params){//1.校验数据String oldPwd params.get…

IIC协议保姆级教学

目录 1.IIC协议概述 2.IIC总线传输 3.IIC-51单片机应用 1.起始信号 2.终止信号 3.应答信号 4.数据发送 4.IIC-32单片机应用 用到的库函数&#xff1a; 1.IIC协议概述 IIC全称Inter-Integrated Circuit (集成电路总线)是由PHILIPS公司在80年代开发的两线式串行总线&am…

将 ONLYOFFICE 文档编辑器与 Node.js 应用集成

我们来了解下&#xff0c;如何将 ONLYOFFICE 文档编辑器与您的 Web 应用集成。 许多 Web 应用都可以从文档编辑功能中获益。但是要从头开始创建这个功能&#xff0c;需要花费大量时间和精力。幸运的是&#xff0c;您可以使用 ONLYOFFICE——这是一款开源办公套件&#xff0c;可…

Heidenhain海德汉触摸屏数控面板维修MC 7522

海德汉HEIDENHAIN系统触摸屏维修/海德汉HEIDENHAIN系统操作面板维修。 数控系统维修范围&#xff1a; 海德汉数控系统维修范围&#xff1a;iTNC530系统、TNC620系统、Hi800-A系统、Hi800-E系统、Hi800-M系统、Hi800-D系统、Hi800-S系统、Hi200-S系统等&#xff1b; 发格数控系…

简单漂亮的首页

效果图 说明 这个首页我也是构思了很久&#xff0c;才想出这个界面&#xff0c;大家喜欢的话&#xff0c;可以拿走去使用 技术的话&#xff0c;采用的就是vue的语法&#xff0c;但是不影响&#xff0c;很多样式我都是直接手敲出来的 代码实现 标语 <!-- 标语 start-->&…

二分查找和二分答案

【深基13.例1】查找 题目描述 输入 n n n 个不超过 1 0 9 10^9 109 的单调不减的&#xff08;就是后面的数字不小于前面的数字&#xff09;非负整数 a 1 , a 2 , … , a n a_1,a_2,\dots,a_{n} a1​,a2​,…,an​&#xff0c;然后进行 m m m 次询问。对于每次询问&#x…

C/C++疫情集中隔离 2021年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C疫情集中隔离 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C疫情集中隔离 2021年12月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 A同学12月初从国外回来&#xff0c;按照防疫要…

【蓝桥杯省赛真题01】C++水下探测器 第十届蓝桥杯中小学生创意编程大赛C++编程比赛省赛真题解析

目录 C/C++水下探测器 一、题目要求 1、编程实现 2、输入输出 二、算法分析

《少儿编程启蒙指南》

《少儿编程启蒙指南》大纲 本文详细阐述少儿编程启蒙&#xff0c;如果有人喜欢&#xff0c;往后我会继续更新迭代此文。 “Everyone should know how to program a computer, because it teaches you how to think.”—Steve Jobs 每个人都应该知道如何编程&#xff0c;因为它…

Codeforces Round 909 (Div. 3)(A~G)(启发式合并)

1899A - Game with Integers 题意&#xff1a;给定一个数 , 两个人玩游戏&#xff0c;每人能够执行 操作&#xff0c;若操作完是3的倍数则获胜&#xff0c;问先手的人能否获胜&#xff08;若无限循环则先手的人输&#xff09;。 思路&#xff1a;假如一个数模3余1或者2&#…

248: vue+openlayers 以静态图片作为底图,并在上面绘制矢量多边形

第248个 点击查看专栏目录 本示例是演示如何在vue+openlayers项目中以静态图片作为底图,并在上面绘制矢量多边形。这里主要通过pixels的坐标作为投射,将静态图片作为底图,然后通过正常的方式在地图上显示多边形。注意的是左下角为[0,0]。 直接复制下面的 vue+openlayers源代…

基于SSM的设备配件管理和设备检修系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…