工作中常用Vim的命令

news2025/1/4 9:06:41

Hi, 我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】


目录

0. ctags -R

1.认识 Vim的几种工作模式

2.高频使用命令

2.1 修改文件

2.2 关于行号

2.3 删除多行,删除部分

2.4 复制粘贴

2.5 光标移动

2.6 撤销命令

2.7 翻页命令

2.8 查找和跳转

2.9 替换文本

2.10 退出

Vim 命令大全

总结


Vim 对于做Linux 嵌入式相关的工作,Vim 应该都比较熟悉,本章节将总结一些使用频率较高的一些相关操作,一些少用的这里就不再做介绍,说得太多,也记不住,以下将以实际情景进行介绍,基本可以完成相关基础操作。

0. ctags -R

ctags -R 这个确实不是vim命令,但是为什么第一个就要介绍它,因为在Linux 中,如果使用Vim进行浏览代码跳转都是非常有用,所以一般会在代码的根目录下输入:

ctags -R

1.认识 Vim的几种工作模式

提到Vim 可能还不知道有几种工作模式,根据网上分类有多种方式,有分3类,4类,6类,7类等等,这里考虑常用的方式分类为4种模式:

vim file.c开始进入的模式叫做‌Normal 模式

当处于Normal模式下,输入i,a,o 可以进入Insert 模式,也就是我们经常编辑的文件模式,退出Insert 模式直接按下Esc返回到Normal模式

当处于Normal 模式下,输入v或者V进入Visual 模式可以进行选择文本,进行一些剪切,复制等操作,按下Esc可以返回Normal 模式

当属于Normal 模式下,输入:可以进入Command 模式,命令以回车的方式又返回到Normal 模式

2.高频使用命令

2.1 修改文件

# vim 打开文件
vim file.c
# 输入i 就可以正常的操作,添加,删除等操作,通过上下左右进行移动光标;

2.2 关于行号

# 显示行号
:set nu
# 跳转到xxx行号
:xxx
# 不要显示行号
:set no nu

2.3 删除多行,删除部分

# 1. 非编辑模式下 
# 删除当前行,按下dd
​
# 删除多行,光标所在开始数,行数和d结合
# 删除4行,按下:4d
​
​
# 2. 编辑模式下:
# 删除范围
 

2.4 复制粘贴

# 1. 采用行号为单位的复制
​
# yy 复制当前行
# p 在当前行下粘贴
# np 粘贴n次
​
# nyy 复制n行
​
# 2. Visual 模式下复制粘贴
​
# 按v进入可视模式,(大V是行可视化,小v是字符可视化,Ctrl+v 是块可视化)
# 按下ctrl , 通过上下左右进行选择区域,或者j,k,h,l选择范围
# 移动文件尾部G ,文件头部gg
​
# 按下p 粘贴

2.5 光标移动

# 1. 方向性的有 ikhl
​
# 2. 移动到文件头 gg, 移动到尾部 G
​
# 3. 移动到行首

2.6 撤销命令

# 小写u 撤销
# 大写U 撤销对整行的操作
# Ctrl+r  即撤销的撤销

2.7 翻页命令

# Ctrl+f 向下翻一页
# Ctrl+b 向上翻一页
​
# 当然你使用PgUp PgDn 也行。

2.8 查找和跳转

# 查找
# /abc abc为你要查找的字符串
# /^abc  以abc为行首的行
# /abc$  以abc为行尾的行

# n 往后查找
# N 往前查找

# 跳转行号
# :n n为行号

2.9 替换文本

# 当前文本中的admin 全部替换成 hywelstar
# :1,$s/admin/hywelstar/g 

2.10 退出

# :wq 保存并退出
# :q! 不保存并强制退出 
# :w file  保存到file 文件去
# 按下ZZ 直接退出

Vim 命令大全

这张图应该都见过,比较全面

总结

本章节主要对Vim在工作中常用的命令进行整理,只需要掌握以上10个重要的,问题不大,再结合ctags 应该会更方面。如果不想使用Vim, 当然可以使用常用的代码编辑工具eclipse, vscode , Source insight 等工具,但有时候在服务器上这种无界面画或者又没有samba, nfs 这种服务,采用Vim 看看。

推荐阅读:

vim mode tips

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

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

相关文章

【ComfyUI + 自定义节点】图片叠加掩膜(mask)部分扣掉(变黑)

Comfyui的官方示例:https://github.com/comfyanonymous/ComfyUI/blob/master/custom_nodes/example_node.py.example 一、代码 ( 逻辑:将图片对应掩膜覆盖的区域替换为黑色) 因为comfyui加载的图片后,转化为tensor i…

RocketMQ学习笔记(持续更新中......)

目录 1. 单机搭建 2. 测试RocketMQ 3. 集群搭建 4. 集群启动 5. RocketMQ-DashBoard搭建 6. 不同类型消息发送 1.同步消息 2. 异步消息发送 3. 单向发送消息 7. 消费消息 1. 单机搭建 1. 先从rocketmq官网下载二进制包,ftp上传至linux服务器&#xff0c…

【二】arcgis JavaScript api 实现加载不同坐标系的底图和三维服务

提示:如果是天地图底图参考这篇文章 【一】arcgis JavaScript api 实现加载不同坐标系的底图和三维服务_arcgis js api 调用三维地图服务-CSDN博客 需求: 前端开发实现底图(wkid:3857,web墨卡托)&#x…

PDF怎么压缩得又小又清晰?5种PDF压缩方法

PDF 文件在日常办公与学习中使用极为频繁,可想要把它压缩得又小又清晰却困难重重。一方面,PDF 格式本身具有高度兼容性,集成了文字、图像、矢量图等多样元素,压缩时难以兼顾不同元素特性,稍不注意,文字就会…

数据结构与算法之动态规划: LeetCode 62. 不同路径 (Ts版)

不同路径 https://leetcode.cn/problems/unique-paths/description/ 描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “…

Edge如何获得纯净的启动界面

启动Edge会出现快速链接,推广链接,网站导航,显示小组件,显示信息提要,背景 ●复杂页面 ●精简页面 点击页面设置按钮 关闭快速链接 关闭网站导航 关闭小组件 关闭信息提要 关闭背景 关闭天气提示 精简页面看起来十分舒…

如何利用java爬虫获得AMAZON商品详情

在数字化时代,数据的价值不言而喻,尤其是对于电商平台而言,获取商品的详细信息对于优化用户体验、制定营销策略至关重要。亚马逊作为全球最大的电商平台之一,拥有海量的商品信息。本文将介绍如何使用Java编写爬虫程序,…

人工智能基础软件-Jupyter Notebook

简介: Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。 Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直…

数据库系列之分布式数据库下误删表怎么恢复?

数据的完整性是数据库可用性的基本功能,在实际应用数据库变更操作过程中可能因为误操作导致误删表或者truncate操作影响业务的正常访问。本文介绍了分布式数据库中在误删表场景下的数据恢复方案,并进行了对比。 1、数据库误删表恢复方案 应用数据的完整…

【分布式缓存中间件Memcached原理与应用】

分布式缓存中间件(以 Memcached 为例) 一、分布式缓存中间件概述 (一)概念 分布式缓存中间件是一种用于存储频繁访问的数据副本的软件系统,它位于应用程序和数据源(通常是数据库)之间。通过在…

No.2十六届蓝桥杯备战|练习题4道|数据类型|字符型|整型|浮点型|布尔型|signed|unsigned(C++)

B2002 Hello,World! - 洛谷 #include <iostream> using namespace std; int main() { cout << "Hello,World!" << endl; return 0; }打印飞机 #include <iostream> using namespace std;int main() {cout << " …

mysql系列7—Innodb的redolog

背景 本文涉及的内容较为底层&#xff0c;做了解即可&#xff0c;是以前学习《高性能Mysql》和《mysql是怎样运行的》的笔记整理所得。 redolog(后续使用redo日志表示)的核心作用是保证数据库的持久性。 在mysql系列5—Innodb的缓存中介绍过&#xff1a;数据和索引保存在磁盘上…

小程序租赁系统开发的优势与应用探索

内容概要 在如今这个数码科技飞速发展的时代&#xff0c;小程序租赁系统开发仿佛是一张神奇的魔法卡&#xff0c;能让租赁体验变得顺畅如丝。想象一下&#xff0c;无论你需要租用什么&#xff0c;从单车到房屋&#xff0c;甚至是派对用品&#xff0c;只需动动手指&#xff0c;…

太速科技-135-4路250Msps 16bit AD采集PCIe卡

4路250Msps 16bit AD采集PCIe卡 一、板卡概述 板卡为四路250M频率采集卡&#xff0c;可以实现四路高速的模拟数据转换到PCI-E总线上。板载两颗250M采样频率的高性能AD芯片&#xff08;ADS42LB69&#xff09;&#xff0c;数据输出模式为LVDS&#xff08;DDR&#xff09…

如何恢复永久删除的PPT文件?查看数据恢复教程!

可以恢复永久删除的PPT文件吗&#xff1f; Microsoft PowerPoint应用程序是一种应用广泛的演示程序&#xff0c;在人们的日常生活中经常使用。商人、官员、学生等在学习和工作中会使用PowerPoint做报告和演示。PowerPoint在人们的学习和工作生活中占主导地位&#xff0c;每天都…

Windows电脑带有日历的桌面备忘记事工具

工作计划、备忘清单、会议文件等怎么能化繁琐为简约&#xff0c;统统存储在一个记事工具中呢&#xff1f;Windows电脑上的备忘记事工具哪一款好用呢&#xff1f;推荐大家可关注敬业签&#xff0c;敬业签是一款集备忘、提醒和日历等功能于一体的桌面记事工具&#xff0c;可悬挂桌…

SSA-Transformer拿捏!麻雀搜索算法优化-Transformer多特征分类预测/故障诊断

SSA-Transformer拿捏&#xff01;麻雀搜索算法优化-Transformer多特征分类预测/故障诊断 目录 SSA-Transformer拿捏&#xff01;麻雀搜索算法优化-Transformer多特征分类预测/故障诊断效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现SSA-Transformer麻雀搜索…

STM32G070CB的USART1_RX引脚

简介 在使用STM32G070CBT6 的 USART1时&#xff0c;发现把 PA10作为 USART1_RX引脚时&#xff0c;接收不到数据。 问题排查 更换pin脚 使用PB6/PB7作为USART1_TX/RX&#xff0c; USART1 工作正常。 使用PA9/PB7作为USART1_TX/RX&#xff0c; USART1 同样工作正常。 示波器…

鸿蒙工程签名编译和上架

作为一个开发者&#xff0c;当你把自己的应用开发完了&#xff0c;准备上架到应用市场的时候&#xff0c;就需要用签名文件进行编译和应用上架了&#xff0c;本文介绍如何把一个鸿蒙工程进行签名编译和上架。 在平时开发中&#xff0c;我们可能关注签名不多&#xff0c;大家一般…

S7-1200 SCL PEEK 和 POKE 指令使用

使用S7-1200 SCL 编程语言的 PEEK 和 POKE 指令&#xff0c;可以实现对 I/O、M 存储器和数据块的读取或写入。 而通过 POKE_BLK 指令&#xff0c;还可以实现数据区域的复制或移动。 指令适用条件&#xff1a; 只用于 SCL 编程语言&#xff1b;软件从STEP7 Basic/Pro V11 SP2起…