快速上手Vim的使用

news2025/2/11 0:13:32

Vim

  • Linux编辑器-vim使用
  • ==命令行模式下所有选项都可以带数字==
  • ==底行模式==
  • ==可视块模式(ctrl+V进入)==

Linux编辑器-vim使用

Vim有多种模式的编辑器。能帮助我们很快的进行代码的编辑,甚至完成很多其他事情。

在这里插入图片描述

默认情况下我们打开vim在命令模式下,我们切换到其他模式都是通过命令模式去按相应的快捷键,进入到其他的如插入模式(aio),底行模式,可视化模块模式。如果我们在底行模式想进入到插入模式,我们必须要需要按Esc退到命命令模式,再从命令模式进入到插入模式。因此我们在使用的时候要记住,我们要切换模式的时候,首先要退出到命令行模式

命令行模式下所有选项都可以带数字

按「G」:移动到文章的最后
按「 $ 」:移动到光标所在行的“行尾”
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按[gg]:进入到文本开始
按[shift+g]:进入文本末端
按「ctrl」+「b」:屏幕往“后”移动一页
按「ctrl」+「f」:屏幕往“前”移动一页
按「ctrl」+「u」:屏幕往“后”移动半页
按「ctrl」+「d」:屏幕往“前”移动半页

「x」:每按一次,删除光标所在位置的一个字符
「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
「dd」:删除光标所在行
「#dd」:从光标所在行开始删除#行

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完
成复制与粘贴功能。

「r」:替换光标所在处的字符。「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回
复。
「ctrl + r」: 撤销的恢复

「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字

「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

「Shift+~」:大小写替换

shiftI+#定位当前单词高亮显示,按n跳转到下一个单词处

多用Vim编辑下代码就记住这些快捷键了

底行模式

在底行模式当中我们可以进行这个文件的保存,比如说我们用这个shift+:进入底行模式。然后我们写wq就可以保存并退出,然后的话就是保存q就是单纯的退出,然后!+命令可以在vim中执行命令!./a.out

一键替换
:%s/printf/count/ 将printf全部替换成cout
:%s/printf/cout<</ 将cout前部替换成printf
打开多个文件进行分屏
:vs test.c(打开test.c并进行分屏)
跳转到不同文件中
ctrl+ww

其他一些快捷操作
vim code.c +14 打开文件光标直接定位到14行

可视块模式(ctrl+V进入)

进行批量化注释,
Vim当中上下移动光标最好使用HJKL(左上下右,尽管也可以通过键盘上的箭头移动但在可视块模式下只能通过HJKL移动)
进入命令模式(按 Esc 键)。
选择要注释的行(可以使用 V 进入可视行模式,然后使用 j 或 k 键选择多行)。
在命令模式下输入 I#(I 进入插入模式并在每行行首插入文本,# 是注释符号),然后按 Esc 键退出插入模式。

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

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

相关文章

vue学习第四天 v-on事件绑定

v-on绑定事件如下&#xff0c;点击按钮会弹出alert v-on&#xff1a;事件具体名称“事件调用的函数名” 事件调用的函数写在methods里面 在methods属性的函数里&#xff0c;可以用this获取data的数据&#xff0c;this代表的就是整个vue实例 用this.age就可以拿到age&#xff0…

2.8寒假作业

web&#xff1a;[HNCTF 2022 Week1]2048 之前也做过类似的题目&#xff0c;之前的解法是直接get传参score20000&#xff0c;可以尝试 打开环境看源代码&#xff0c;直接改源代码显然是不行的&#xff0c;那么用一下上面的办法也不行&#xff0c;估计是要改其他方向的&#xff…

Formality:时序变换(五)(寄存器复制)

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 一、引言 时序变换在Design Compiler的首次综合和增量综合中都可能发生&#xff0c;它们包括&#xff1a;时钟门控(Clock Gating)、寄存器合并(Register Merging)、…

科技赋能数字内容体验的核心技术探索

内容概要 在数字化时代&#xff0c;科技的迅猛发展为我们的生活和工作带来了深刻的变革。数字内容体验已经成为人们获取信息和娱乐的重要途径&#xff0c;而这背后的技术支持则扮演着至关重要的角色。尤其是在人工智能、虚拟现实和区块链等新兴技术的推动下&#xff0c;数字内…

DeepSeek-R1 本地大模型搭建对接API

DeepSeek-R1 在这里将学到很多知识 欢迎使用使用DeepSeek-R1本地大模型DeepSeek 的模型基础说明DeepSeek的本地 API 说明DeepSeek 本地模型搭建1、执行命令安装及测试 DeepSeek-R1 API接口调用当然&#xff0c;我们为了让用户更加便捷&#xff0c;我们把API 接口全部放到上面截…

redis高级数据结构布隆过滤器

文章目录 背景什么是布隆过滤器Redis 中的布隆过滤器布隆过滤器使用注意事项实现原理空间占用估计 背景 我们在使用新闻客户端看新闻时&#xff0c;它会给我们不停地推荐新的内容&#xff0c;它每次推荐时要去重&#xff0c;去掉那些已经看过的内容。问题来了&#xff0c;新闻…

《Wiki.js知识库部署实践 + CNB Git数据同步方案解析》

一、wiki.js 知识库简介 基本概述 定义 &#xff1a;Wiki.js 是一个开源、现代、轻量且功能强大的 Wiki 应用程序&#xff0c;基于 Node.js 构建&#xff0c;旨在帮助个人和团队轻松创建、管理和共享知识。开源性质 &#xff1a;它遵循 AGPLv3 许可证&#xff0c;任何人都可以…

CSS Overflow 属性详解:控制内容溢出的利器

在前端开发中&#xff0c;处理内容溢出是一个常见的需求。CSS 提供了 overflow 属性&#xff0c;帮助我们控制当内容超出元素框时的显示方式。本文将详细介绍 overflow 属性的各种取值及其应用场景。 1. 什么是 overflow 属性&#xff1f; overflow 属性用于控制当元素的内容…

根文件系统 Debian10【1】移植

1.开发背景 一般根文件系统使用 Busybox 或者是 Buildroot 构建&#xff0c;这样构建出来的文件系统比较小&#xff0c;但是不具备上网功能&#xff0c;扩展性比较差。随着 ARM 的日益强大&#xff0c;ARM 可以搭载更庞大复杂的系统&#xff0c;可以是 Ubuntu 或者 Debian 等发…

【PyQt】实现格式刷功能

实现格式刷功能 在Qt Designer中直接实现格式刷功能并不支持&#xff0c;但可以通过以下方法在应用程序中实现类似功能&#xff1a; 一、Qt Designer中的替代方案 1.手动设置样式表 在属性编辑器中复制样式表&#xff08;QSS&#xff09;内容&#xff0c;粘贴到其他控件。 …

2025年日祭

本文将同步发表于洛谷&#xff08;暂无法访问&#xff09;、CSDN 与 Github 个人博客&#xff08;暂未发布&#xff09; 本蒟自2025.2.8开始半停课。 任务计划&#xff08;站外题与专题&#xff09; 数了一下&#xff0c;通过人数比较高的题&#xff0c;也就是我准备补的题&a…

Windows下AMD显卡在本地运行大语言模型(deepseek-r1)

Windows下AMD显卡在本地运行大语言模型 本人电脑配置第一步先在官网确认自己的 AMD 显卡是否支持 ROCm下载Ollama安装程序模型下载位置更改下载 ROCmLibs先确认自己显卡的gfx型号下载解压 替换替换rocblas.dll替换library文件夹下的所有 重启Ollama下载模型运行效果 本人电脑配…

el-table表格点击单元格实现编辑

使用 el-table 和 el-table-column 创建表格。在单元格的默认插槽中&#xff0c;使用 div 显示文本内容&#xff0c;单击时触发编辑功能。使用 el-input 组件在单元格中显示编辑框。data() 方法中定义了 tableData&#xff0c;tabClickIndex: null,tabClickLabel: ,用于判断是否…

数据库操作与数据管理——Rust 与 SQLite 的集成

第六章&#xff1a;数据库操作与数据管理 第一节&#xff1a;Rust 与 SQLite 的集成 在本节中&#xff0c;我们将深入探讨如何在 Rust 中使用 SQLite 数据库&#xff0c;涵盖从基本的 CRUD 操作到事务处理、数据模型的构建、性能优化以及安全性考虑等方面。SQLite 是一个轻量…

Ubuntu 24.10 安装Deepseek(Ollama+openwebui)

一、Ollama安装 1.在线安装 curl -fsSL https://ollama.com/install.sh | sh 如果curl工具没有安装先执行如下命令 sudo apt install curl 验证curl是否安装成功 curl --version 安装的过程中会提示输入当前系统登录用户的密码。 安装提示success后,验证安装 ollama -…

【漫话机器学习系列】084.偏差和方差的权衡(Bias-Variance Tradeoff)

偏差和方差的权衡&#xff08;Bias-Variance Tradeoff&#xff09; 1. 引言 在机器学习模型的训练过程中&#xff0c;我们常常面临一个重要的挑战&#xff1a;如何平衡 偏差&#xff08;Bias&#xff09; 和 方差&#xff08;Variance&#xff09;&#xff0c;以提升模型的泛…

STM32的HAL库开发---高级定时器---输出比较模式实验

一、高级定时器输出比较模式实验原理 定时器的输出比较模式总共有8种&#xff0c;本文使用其中的翻转模式&#xff0c;当TIMXCCR1TIMXCNT时&#xff0c;翻转OC1REF的电平&#xff0c;OC1REF为输出参考信号&#xff0c;高电平有效&#xff0c;OC1REF信号连接到0C1上面&#xff…

[论文阅读] Knowledge Fusion of Large Language Models

Knowledge Fusion of Large Language Models (FuseLLM) Methodology 整体Pipeline如下图所示 不同的动物代表不同的LLM。左边第一&#xff0c;第二分别是Ensemble以及Weight Merging方法。最右侧为本文提出的FuseLLM。 Ensemble: 融合多个models的预测结果&#xff0c;比如…

elementui:el-table支持搜索、切换分页多选功能,以及数据回显

1、el-table相关代码&#xff0c;需注意:row-key"(row) > { return row.id }" 以及 :reserve-selection"true" <div class"boxList"><div class"search-form"><!-- 搜索表单 --><el-form :inline"true&q…

(ICLR=2025)生成的表征对齐:训练扩散Transformer比你想象的更简单

生成的表征对齐&#xff1a;训练扩散Transformer比你想象的更简单 paper是KAIST发表在ICLR 2025的工作 paper title:REPRESENTATION ALIGNMENT FOR GENERATION: TRAINING DIFFUSION TRANSFORMERS IS EASIER THAN YOU THINK Code&#xff1a;链接 ABSTRACT 最近的研究表明&…