Linux Vim 最全面教程(Linux)

文章目录

  • 前言
  • 一、vim工作模式
    • 1、命令模式
    • 2、编辑模式
    • 3、末行模式
  • 二、常用其他按键说明
  • 总结


前言

vim是一款功能文本编辑器,也是早年vi编辑器的加强版,它的最大特色就是使用命令进行编辑,完全脱离了鼠标的操作。代码补全、编译和错误跳转等方便编程的功能也是一大亮点,并且在程序员中被广泛使用。

一、vim工作模式

基本上vim 共分为三种模式,命令模式(Command Mode)、编辑模式(Insert Mode)和末行模式(Command-Line Mode)。
在这里插入图片描述

vim test.txt

进入命令模式,此状态下敲击键盘动作会被vim识别为命令,而非输入字符。

1、命令模式

命令描述
i进入编辑模式,在光标当前位置开始输入文本
I进入编辑模式,在光标所在行的第一个非空格符处开始输入文本
a进入编辑模式,在光标下一个位置开始输入文本
A进入编辑模式,从光标所在行的最后一个字符处开始输入文本
o在当前行的下方插入一个新行,并进入编辑模式
O在当前行的上方插入一个新行,并进入编辑模式
r (取代模式(Replace mode))取代光标所在的那一个字符一次
R一直取代光标所在的文字,直到按下Esc为止
x删除当前光标所在处的字符
X删除当前光标所在处的前一个字符(Backspace)
nxn为数字,连续向后删除n个字符
dd剪切当前行
nddn 为数字,剪切光标所在的向下n行
d1G删除光标所在到第一行的所有数据
dG删除光标所在到最后一行的所有数据
d$删除光标所在处,到该行的最后一个字符
d0那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
yy复制当前行
nyyn为数字,复制光标所在的向下n行
y1G复制游标所在行到第一行的所有数据
yG复制游标所在行到最后一行的所有数据
y$复制光标所在的那个字符到该行行尾的所有数据
y0复制光标所在的那个字符到该行行首的所有数据
p粘贴剪贴板内容到光标下方
P粘贴剪贴板内容到光标上方
J将光标所在行与下一行的数据结合成同一行
c重复删除多个数据
u撤销上一次操作
Ctrl+r重做上一次撤销的操作
.重复前一个动作

2、编辑模式

命令模式下,输入i,a,o命令,都可以进入编辑模式;使用Esc键可以返回到命令模式。编辑模式下,按键效果和键盘一样。

按键描述
字符按键以及Shift组合输入字符
Enter回车键,换行
Backspace退格键,删除光标前一个字符
Delete删除键,删除光标后一个字符
方向键在文本中移动光标
0(或Home)/$(或End)移动光标到行首/行尾
PageUp/PageDown上/下翻页
Insert切换光标为输入/替换模式,光标将变成竖线/下划线
Esc退出编辑模式,进入命令模式

3、末行模式

命令模式下输入:(英文冒号)就进入了末行模式;按Esc键可随时退出末行模式。

命令描述
:w保存文件
:w!强制保存文件,可能无效,具体看文件权限
:w [filename]将编辑的文本储存成另一个文本(另存)
:r [filename]在编辑的文本中,写入另一个文本的数据
:a,b w [filename]将a,b内容合并成新文件filename
:q退出vim编辑器
:q!强制退出vim编辑器,不保存修改
:wq保存并退出vim编辑器

二、常用其他按键说明

命令描述
ZZ保存当前文件并退出(:wq)
ZQ强制退出(:q!)
k,j,h,l光标向上,下,左,右移动一个字符
+光标移动到非空格符的下一行
-光标移动到非空格符的上一行
Ctrl+f向下翻页(PageDown)
Ctrl+b向上翻页(PageUp)
Ctrl+d向下翻半页
Ctrl+u向上翻半页
H光标移动到这个屏幕的最上方那一行的第一个字符
M光标移动到这个屏幕的中央那一行的第一个字符
L光标移动到这个屏幕的最下方那一行的第一个字符
G移动到这个文本的最后一行
nGn 为数字,移动到这个档案的第n行
gg移动到这个档案的第一行,相当于1G
n+Entern 为数字,光标向下移动n行
/word向光标之下寻找一个名称为 word 的字符串
?word向光标之上寻找一个字符串名称为 word 的字符串
n英文按键n,重复前一个搜寻的动作
N英文按键N,与 n 刚好相反,为反向进行前一个搜寻动作
:x,ys/a/b/gx与y为数字,在第x与y行之间寻找a,并将该字母取代为b
nyyn为数字,复制光标所在的向下n行
注释符//(或#)
批量注释:起始行号,结束行号s/^/注释符/g
取消注释:起始行号,结束行号s/^注释符//g
Ctrl+n自动补全
\p<插入一个include,并把光标置于<>中间
\im插入主函数
\ip插入printf,并自动添加\n,且把光标置于双引号中间
dw删除一个单词
yw复制一个单词
\rr运行程序
\rc保存并编译程序(会生成二进制文件)
ctrl+o返回原文档

总结

vim的官方网站:https://www.vim.org/

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

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

相关文章

二叉树基础

一.树 1.树的定义 在计算机科学中&#xff0c;树是一种用于表示层次结构的抽象数据类型和非线性数据结构。树由一组节点&#xff08;Nodes&#xff09;和节点之间的关系&#xff08;通常通过边表示&#xff09;组成。 2.特性 树是一种递归的数据结构&#xff1a;树可以定义为…

论文学习笔记1:Federated Graph Neural Networks: Overview, Techniques, and Challenges

文章目录 一、introduction二、FedGNN术语与分类2.1主要分类法2.2辅助分类法 三、GNN-ASSISTED FL3.1Centralized FedGNNs3.2Decentralized FedGNNs 四、FL-ASSISTED GNNS4.1horizontal FedGNNs4.1.1Clients Without Missing Edges4.1.1.1Non-i.i.d. problem4.1.1.2Graph embed…

超详细!大模型面经指南(附答案)

目录 大模型&#xff08;LLMs&#xff09;基础面 1. 目前 主流的开源模型体系 有哪些&#xff1f; 2. prefix LM 和 causal LM 区别是什么&#xff1f; 3. 涌现能力是啥原因&#xff1f; 4. 大模型LLM的架构介绍&#xff1f; 大模型&#xff08;LLMs&#xff09;进阶面 1. l…

3d模型成组后可以弯曲嘛?---模大狮模型网

在展览3D模型设计领域&#xff0c;创新与技术不断推动着模型的复杂性和功能性。一个常见的问题是&#xff0c;当3D模型成组后&#xff0c;是否可以灵活地弯曲或调整形态?本文将深入探讨这一问题&#xff0c;并探索现代设计中的可能性与挑战。 一、灵活性与设计需求 3D模型在展…

小白学webgl合集-绘制有透视颜色不一样的立方体

效果 原理 结合透视矩阵和视觉矩阵进行绘制 知识点 01透视矩阵 透视矩阵将视图空间中的坐标转换为裁剪空间中的坐标&#xff0c;使得更远的物体看起来更小。 function perspectiveMatrix(fov, aspect, near, far) {const f 1.0 / Math.tan(fov / 2);const nf 1 / (near …

德旺训练营称重问题

这是考小学的分治策略&#xff0c;小学的分治策略几乎都是分三组。本着这个策略&#xff0c;我们做看看。 第一次称重&#xff1a; 分三组&#xff0c;16,16,17&#xff0c;拿两个16称&#xff0c;得到A情况&#xff0c;一样重&#xff0c;那么假铜钱在那组17个里面。B情况不…

亚马逊SC账号升级VC账号的新浪潮已然席卷整个电商界!

当前电商市场竞争激烈&#xff0c;亚马逊卖家追求业务增长。现有Amazon SC账号卖家有机会升级为VC账号&#xff0c;提供重要机遇。 SC账号是亚马逊常见卖家类型&#xff0c;为众多个人和企业提供销售平台。而VC账号则代表与亚马逊更紧密的合作关系&#xff0c;享有更多优惠、广…

Linux系统之安装Firefox浏览器

Linux系统之安装Firefox浏览器 一、Firefox浏览器介绍1.1 Firefox浏览器介绍1.2 Firefox浏览器特点 二、环境介绍二、本次实践环境介绍2.1 环境规划2.2 本次实践介绍 三、安装firefox浏览器3.1 安装epel3.2 检查yum仓库状态3.3 安装Firefox浏览器3.4 查看Firefox版本 四、在命令…

【图书推荐】《HTML5+CSS3 Web前端开发与实例教程(微课视频版)》

本书用来干什么 详解HTML5、CSS3、Flex布局、Grid布局、AI技巧&#xff0c;通过两个网站设计案例提升Web前端开发技能&#xff0c;为读者深入学习Web前端开发打下牢固的基础。 配套资源非常齐全&#xff0c;可以当Web前端基础课的教材。 内容简介 本书秉承“思政引领&#…

你的地理空间数据神器:Global Mapper 使用体验分享

你的地理空间数据神器&#xff1a;Global Mapper 使用体验分享 作为一名地理信息系统&#xff08;GIS&#xff09;专业人士&#xff0c;我在工作中经常需要处理各种地理空间数据。在使用过多种GIS软件后&#xff0c;我最终找到了一个既高效又功能强大的工具——Global Mapper。…

nacos开启鉴权后,springboot注册失败

1.确认Nacos版本 我的Nacos版本是1.4.2 2.确认Nacos相关依赖的版本之间兼容&#xff0c;一下是我的一些pom.xml依赖 <!--父级项目的--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifa…

旧衣回收小程序:减少资源浪费,提高回收效率

当下&#xff0c;旧衣服回收成为了大众热衷的事&#xff0c;不少居民都会把闲置的衣物进行回收&#xff0c;旧衣回收行业逐渐火爆。不过&#xff0c;传统的旧衣回收模式已经不符合当下时代发展&#xff0c;具有较大的不便利性。 因此&#xff0c;为解决这一问题&#xff0c;线…

魔改Transformer!9种提速又提效的模型优化方案

Transformer目前已经成为人工智能领域的主流模型&#xff0c;应用非常广泛。然而Transformer中注意力机制计算代价较高&#xff0c;随着序列长度的增加&#xff0c;这个计算量还会持续上升。 为了解决这个问题&#xff0c;业内出现了许多Transformer的魔改工作&#xff0c;以优…

STM32 Cannot access memory

问题描述 最近自己做了一块STM32F103ZET6的板子&#xff0c;在焊接完成后可以在下载器界面看到idcode&#xff0c;但烧录时报错 Cannot access memory 。 解决办法 测量STM32各个供电项&#xff0c;发现时33脚处VDDA电压只有1.8V&#xff0c;是因为R3电阻过大&#xff0c;…

Oracle23ai安装。

1. 事前准备 使用虚拟机安装一个 Oracle Linux 8.9 操作系统下载 oracle-database-free-23ai-1.0-1.el8.x86_64.rpm下载 oracle-database-preinstall-23ai-1.0-2.el8.x86_64.rpm 2.开始安装 2.1 安装 database-preinstall dnf -y install oracle-database-preinstall-23ai-…

docker容器间网络仿真工具-pumba

docker-tc&pumba docker-tc:docker-tc项目仓库 pumba:pumba项目仓库 这两个项目理论上都可以实现对容器间的网络环境进行各种模拟干预&#xff0c;包括延迟&#xff0c;丢包&#xff0c;带宽限制等。 但是我在实际使用时&#xff0c;发现docker-tc这个工具在进行网络进行模…

bWAPP靶场安装

bWAPP安装 下载 git地址&#xff1a;https://github.com/raesene/bWAPP 百度网盘地址&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1Y-LvHxyW7SozGFtHoc9PKA 提取码&#xff1a;4tt8 –来自百度网盘超级会员V5的分享 phpstudy中打开根目录&#xff0c;并将下载的文…

AI:开发者的助力还是终结者?

作为一名科技工作研发者&#xff0c;在科技浪潮汹涌澎湃的当下&#xff0c;AI 对于开发者的角色定位成为了一个备受瞩目的焦点话题。 AI 是在助力开发者&#xff0c;还是会取而代之&#xff1f;让我们从技术的角度深入剖析。 不可否认&#xff0c;AI 为开发者带来了前所未有的便…

Mysql在Windows系统下安装以及配置

目录 一、下载Mysql 二、安装Mysql及环境配置 一、下载Mysql 1. 下载地址 官网:https://www.mysql.com&#xff0c;这里我选用的是Mysql8.0.37版本&#xff08;版本无所谓&#xff0c;随便下8.0.几都行&#xff09; 2.点击DOWNLOADS 然后&#xff0c;点击 MySQL Community…

高考志愿填报,选热门专业还是选自己喜欢的专业

对于每一个结束高考的学生来说&#xff0c;都要面临选专业这个严峻的挑战。选专业可以说是妥妥的大工程&#xff0c;因为这关系到接下来的几年要学什么内容&#xff0c;关键是未来的几十年要从事什么样的工作。 所以在谈及选专业这个问题的时候&#xff0c;每个人的内心都有些…