Vim 模式切换 | 命令集

news/发布时间2024/5/24 5:13:07

Vim 模式切换 | 命令集

  • vim 主要模式及切换
    • 一、正常/普通/命令模式
      • 1 光标相关操作命令集
        • 1.1 光标移动
        • 1.2 文字删除
        • 1.3 粘贴和复制
        • 1.4 替换
        • 1.5 字符更改
    • 二、插入模式
      • 2.1 插入模式和命令行模式相互切换
    • 三、末行模式
      • 2.1 末行模式和命令行模式相互切换
      • 2.2 末行模式相关命令集

vim 主要模式及切换

vim是一款历史悠久的多模式文本编辑器,在不同模式下有不同的功能。但实际开发过程中,主要有以下5中模式。

一、正常/普通/命令模式

Vim默认模式为命令模式,该模式主要用于控制屏幕光标的移动,字符、行的删除

1 光标相关操作命令集

1.1 光标移动
快捷键功能
小写字母:h、j、k、lvim允许直接使用键盘上的光标移动键来上下左右移动光标,但正规的vim是用h(左移)、j(下移)、k(上移)、l(右移)来控制光标行为
gg光标跳转到文本开始
(n)+ shift + g光标跳转到第n行 或 文本末尾
shift + ^光标移动到该方的“行首
shify + $光标移动到该方的“行尾
数字(n) + l光标从当前位置开始,向后移动n位
w光标跳到下一个单词的开头(如果非单词,则是下一个字符)
e光标跳到下一个单词的结尾(如果非单词,则是下一个字符)
b光标跳到上一个单词的开头(如果非单词,则是上一个字符)
ctrl + b屏幕往“后”移动一页
ctrl + f屏幕往“前”移动一页
ctrl + u屏幕往“后”移动半页
ctrl + d屏幕往“前”移动半页
1.2 文字删除
快捷键功能
x删除当前光标所在位置字符
数字(n) + x删除光标所在位置后n个字符(包含光标所在位置本身)
shift + x删除光标所在位置的前一个字符
数字(n) + shift + x删除光标所在位置的前n一个字符
dd删除光标所在行
数字(n) + dd从光标所在行开始,删除n行
1.3 粘贴和复制
快捷键功能
yy复制当前行到缓冲区
数字(n) + yy从光标所在行开始,向后复制n行到到缓冲区
数字(n) +p将缓冲区内的n字符贴到光标所在位置。tip:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能
yw光标所在位置到字尾的字符复制到缓冲区中。
#yw复制#个字符到缓冲区
1.4 替换
快捷键功能
r替换光标所在处的字符
R替换光标所到之处的字符,直到按下ESC键为止
u撤销回到上一个操作。按多次“u”可以执行多次撤销
ctrl + r撤销的恢复
1.5 字符更改
快捷键功能
cw更改光标所在处的字到字尾处
c#w例如,「c3w」表示更改3个字

二、插入模式

要进行文字输入,vim必须从命令行模式切换到插入模式。

2.1 插入模式和命令行模式相互切换

  1. 从命令行模式切换到插入模式有以下三种方式:
快捷键功能
i按i进入插入模式后,是从光标当前位置开始输入文字
a按a进入插入模式后,是从光标当前位置的下一个位置开始输入文字
o按o进入插入模式后,是插入新的一行,从行首开始输入文字
  1. 从插入模式切换命令行模式只需无脑Esc即可

三、末行模式

在末行模式中,我们可以进行文件的保存和退出,文件替换、查找字符串和列出行号等操作。

2.1 末行模式和命令行模式相互切换

  1. 从命令行模式切换到末行模式,只需shift + : 即可。
  2. 从末行模式退回命令行模式只需Esc

2.2 末行模式相关命令集

快捷键功能
set + nu列出行号
set + nonu取消行号
数字(n)在冒号后输入一个数字后回车确认,光标会跳转到该行
w!单独w表示保存文件;w!表示强制保存文件
q!单独q表示退出文件;q!表示强制退出文件
/ + 关键字查找关键字,如果第一次找的关键字不是您想要的,可以一直按n会往后寻找到您要的关键字为止
? + 关键字查找关键字,如果第一次找的关键字不是您想要的,可以一直按n会向前寻找到您要的关键字为止

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

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

微服务篇之限流

一、为什么要限流 1. 并发的确大(突发流量)。 2. 防止用户恶意刷接口。 二、限流的实现方式 1. Tomcat限流 可以设置最大连接数,但是每一个微服务都有一个tomcat,实现起来非常麻烦。 2. Nginx限流 (1)控…

设计模式之命令模式

设计模式专栏: http://t.csdnimg.cn/4Mt4u 相关系列文章 面向对象设计之接口隔离原则 设计模式之命令模式 设计模式之组合模式 设计模式之策略模式 设计模式之责任链模式 设计模式之桥接模式 设计模式之装饰器模式 设计模式之工厂模式 设计模式之空对象模式 设计模式…

golang学习2,golang开发配置国内镜像

go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct

2024水科技大会暨技术装备成果展览会——城镇雨污分流及污水处理提质增效论坛(五)

为积极应对“十四五”期间我国生态环境治理面临的挑战,加快生态环境科技创新,构建绿色技术创新体系,全面落实科学技术部、生态环境部等部委编制的《“十四五”生态环境领域科技创新专项规划》,积极落实四川省人民政府与上海大学《…

Qt C++春晚刘谦魔术约瑟夫环问题的模拟程序

什么是约瑟夫环问题? 约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N6,M5,被杀掉的顺序是:5&#xff…

Leetcoder Day24| 回溯part04:组合+分割

93.复原IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.…

etcdctl查看k8s资源信息

背景 k8s中的网络配置和对象状态信息都会保存到etcd中,所以我们可以通过etcdctl查看保存在数据库中的信息 常用操作 查看etcd的各个节点的状态 [rootmaster3 ~]# etcdctl --endpoints"10.197.115.27:2379,10.197.115.25:2379,10.197.115.26:2379" --ca…

搭建XSS 测试平台

XSS 测试平台是测试XSS漏洞获取cookie并接收Web 页面的平台,XSS 可以做 JS能做的所有事,包括但不限于窃取cookie、后台增删改文章、钓鱼、利用XSS漏洞进 行传播、修改网页代码、网站重定向、获取用户信息(如浏览器信息、IP 地址)等。这 里使用的是基于x…

阿里面试:最佳线程数,如何确定?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、shein 希音、百度、网易的面试资格,遇到很多很重要的面试题: 如何确定系统的最佳线程数? 小伙伴 没有回…

使用Docker快速简单部署Rsshub工具并结合内网穿透远程访问RSS订阅源

文章目录 1. Docker 安装2. Docker 部署Rsshub3. 本地访问Rsshub4. Linux安装Cpolar5. 配置公网地址 Rsshub是一个开源、简单易用、易于扩展的RSS生成器,它可以为各种内容生成RSS订阅源。 Rsshub借助于开源社区的力量快速发展,目前已适配数百家网站的上千…

第九届大数据与计算国际会议 (ICBDC 2024) 即将召开!

2024年第九届大数据与计算国际会议(ICBDC 2024)将于2024年5月24至26日在泰国曼谷举行。本次会议由朱拉隆功大学工程学院工业工程系主办。ICBDC 2024的宗旨是展示大数据和计算主题相关科学家的最新研究和成果,为来自不同地区的专家代表们提供一…

美创科技荣获“2023年网络安全国家标准优秀实践案例”

近日,全国网络安全标准化技术委员会正式公布2023年网络安全国家标准优秀实践案例获奖名单。 杭州美创科技股份有限公司(以下简称:美创科技)申报的“GB/T 20281-2020《信息安全技术 防火墙安全技术要求和测试评价方法》在政企领域数…

sql-labs32关宽字节注入

一、环境 网上有自己找很快 二、如何通关 2.1解释 虚假预编译没有参数绑定的过程,真实预编译有参数绑定的过程 宽字节注入出现的本质就是因为数据库的编码与代码的编码不同,导致用户可以通过输入精心构造的数据通过编码转换吞掉转义字符。 在32关中…

构建React TodoList应用:管理你的任务清单

构建React TodoList应用:管理你的任务清单 在日常生活和工作中,任务管理是一项至关重要的任务。为了更好地组织和管理我们的工作和生活,我们需要一个高效而简单的任务管理工具。本文将介绍如何使用React框架构建一个功能丰富的TodoList应用&…

C# CAD2016 cass10宗地Xdata数据写入

一、 查看cass10写入信息 C# Cad2016二次开发获取XData信息(二) 一共有81条数据 XData value: QHDM XData value: 121321 XData value: SOUTH XData value: 300000 XData value: 141121JC10720 XData value: 权利人 XData value: 0702 XData value: YB…

【前沿热点视觉算法】-面向显著目标检测的注意区域空间金字塔池网络

计算机视觉算法分享。问题或建议,请文章私信或者文章末尾扫码加微信留言。 1 论文题目 面向显著目标检测的注意区域空间金字塔池网络 2 论文摘要 显著目标检测(SOD)的最新进展主要依赖于空间空间金字塔池(ASPP)模块…

经典Go知识点总结

开篇推荐 来来来,老铁们,男人女人都需要的技术活 拿去不谢:远程调试,发布网站到公网演示,远程访问内网服务,游戏联机 推荐链接 1.无论sync.Mutex还是其衍生品都会提示不能复制,但是能够编译运行 加锁后复制变量,会将锁的状态也复制,所以 mu1 其实是已…

Linux运维-Web服务器的配置与管理(PHP)

Web服务器的配置与管理(PHP) 项目场景 某企业在CentOS上搭建Web服务系统,以PHP作为网页开发环境,以MySQL为后台数据库。 基础知识 PHP PHP原始为Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”(超…

正则表达式

用于匹配字符串中字符组合的模式。在js中,正则表达式也是对象 使用场景: 输入框的输入限制等。 语法: 判断是否有符合规则的字符串: test()检测是否匹配 了解:exec() 匹配成功返回数组&…

【SQL注入】靶场SQLI DUMB SERIES-24通过二次注入重置用户密码

先使用已知信息admin/admin登录进去查下题,发现可以修改密码 猜测可能存在的SQL语句:UPDATE user SET password新密码 WHERE user用户名 and password旧密码 假设我们知道有个admin用户,但是不知道其密码,如何可以将其密码重置&…
推荐文章