vim中常见操作及命令

在 Vim 中为所有行的行首添加相同字符,可以使用以下方法:

方法1:使用 :%s 替换命令(推荐)
vim
:%s/^/要添加的字符/
例如要在所有行首添加 #:vim
:%s/^/#/
方法2:使用块选择模式(可视化模式)
按 Ctrl+V 进入可视化块模式用方向键选择所有行的行首(按 G 可快速到文件末尾)按 Shift+I 进入插入模式输入要添加的字符按 Esc 完成操作方法3:使用 :normal 命令
vim
:%normal I要添加的字符
例如要在所有行首添加 //:vim
:%normal I//
方法4:指定行范围添加
如果只需要在前10行添加:vim
:1,10s/^/要添加的字符/
实际应用示例
给所有行添加注释符号 #:vim
:%s/^/#/
给所有行添加缩进(4个空格):vim
:%s/^/    /10-20行添加 // 注释:vim
:10,20s/^/\/\//
注意事项
^ 表示行首位置如果要添加的字符是特殊字符(如 /),需要转义,例如 \/操作前可以先 :set nu 显示行号方便确认范围撤销操作按 u,重做按 Ctrl+R这些方法可以高效地为文件批量添加行首字符,特别适合添加注释、缩进或前缀等场景。

在 Vim 中复制一行命令的多种方法

Vim 提供了多种复制文本(yank)的方式,以下是复制一行或部分内容的常用方法:1. 复制整行
yy 或 Y - 复制当前行vim
yy   " 复制当前行
[n]yy - 复制从当前行开始的 n 行vim
3yy  " 复制当前行及下面2行(共3行)
2. 复制到剪贴板(系统剪贴板)
"+yy - 复制当前行到系统剪贴板(可用于粘贴到其他程序)vim
"+yy  " 复制当前行到系统剪贴板
3. 复制部分内容
v + 移动光标 + y - 可视化模式选择后复制vim
v    " 进入可视化模式
j/k  " 向下/上移动选择
y    " 复制选中内容
V + y - 复制选中的整行(行可视化模式)vim
V    " 进入行可视化模式
y    " 复制选中行
4. 复制到特定寄存器
"ayy - 复制当前行到寄存器 avim
"ayy  " 复制当前行到寄存器a
5. 粘贴复制的内容
p - 在光标后粘贴P - 在光标前粘贴"+p - 从系统剪贴板粘贴实用技巧
复制后立即粘贴:vim
yyp   " 复制当前行并粘贴到下一行
复制到文件末尾:vim
:$put   " 将最后一次复制的内容粘贴到文件末尾
查看寄存器内容:vim
:reg    " 显示所有寄存器内容
复制到行尾:vim
y$      " 从光标位置复制到行尾
注意:Vim 的复制(yank)内容默认存储在 Vim 的内部寄存器中,如果要与系统剪贴板交互,需要使用 "+ 寄存器(前提是 Vim 编译时支持了剪贴板功能)。

vim中查找字符串

在 Vim 中查找字符串有以下几种常用方法:1. 基本查找
正向查找:按下 /,输入要查找的字符串,然后按 Enter
示例:/keyword
按 n 跳转到下一个匹配项,N 跳转到上一个匹配项反向查找:按下 ?,输入字符串,然后按 Enter
示例:?keyword
此时 n 和 N 的方向与 / 相反2. 查找当前光标下的单词
将光标移到单词上,按 * 正向查找该单词按 # 反向查找该单词3. 查找设置
:set ic 忽略大小写:set noic 区分大小写:set hls 高亮所有匹配项:set nohls 关闭高亮:nohlsearch 临时关闭当前高亮(快捷键 :noh)4. 特殊字符转义
如果查找包含特殊字符(如 /*.等),需要在前面加 \
示例:查找 /path 应输入 /\/path5. 查找历史
按 /? 后,用方向键 ↑↓ 可以浏览之前的查找记录6. 全局搜索替换(类似查找+替换)
:s/old/new/g - 替换当前行所有匹配
:%s/old/new/g - 替换整个文件所有匹配
(加 c 参数可确认每次替换,如 :%s/old/new/gc)注意事项
查找是区分大小写的,除非设置了 :set ignorecase查找会默认高亮所有匹配,可以用 :noh 临时关闭高亮查找支持正则表达式(如 /^abc 查找行首的 abc)

========================================================================================
在 Vim 中删除行首指定字符的方法

以下是几种在 Vim 中删除行首特定字符或字符串的方法:1. 删除行首固定数量的字符
删除每行前 N 个字符
vim
:%s/^.\{N}//  # 将N替换为要删除的字符数
例如删除每行前3个字符:vim
:%s/^.\{3}//
2. 删除行首特定模式的字符
删除行首所有数字
vim
:%s/^[0-9]*//
删除行首所有空格/Tab
vim
:%s/^[ \t]*//
删除行首特定字符串(如"//")
vim
:%s/^\/\//
3. 可视化块模式删除
按 Ctrl+V 进入可视化块模式用方向键选择要删除的行首区域按 d 删除选中内容4. 使用 :normal 命令
删除每行前5个字符:vim
:%normal 5x
5. 指定范围删除
删除5-10行的行首3个字符:vim
:5,10s/^.\{3}//
实用示例
删除所有行首的注释符号 #:vim
:%s/^#//
删除行首多余空格(保留缩进):vim
:%s/^ \+//  # 删除连续多个空格
:%s/^\t//   # 删除行首Tab
删除行首时间戳(如 [2023-01-01] ):vim
:%s/^\[\d\{4\}-\d\{2\}-\d\{2\}\] //
注意事项
正则表达式中的特殊字符需要转义:[ → \[( → \(/ → \/可以先测试替换效果(添加 c 标志确认每次替换):vim
:%s/^#//c
撤销操作按 u,重做按 Ctrl+R这些方法可以根据需要灵活组合使用,高效地处理行首内容的删除需求。

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

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

相关文章

开发使用mybatis是用混合模式还是全注解模式

在使用 MyBatis 开发项目时,Mapper 接口是为数据库操作提供最直观的方法,但在实现方式上,我们有两种选择:全注解模式和混合模式。那么,他们有什么区别,应该如何选择?我们一起来讨论一下。一、全…

WS2812灯带效果设计器上位机

软件使用方法介绍:bilibili地址 【免写单片机代码WS2812灯带效果设计软件-哔哩哔哩】 https://b23.tv/xFhxMGm

Docker 容器(二)

Docker四、Docker容器数据卷1.数据卷的主要特点2.卷的共享与继承(1)卷的共享(Sharing)(2) 卷的继承(Inheritance)3.数据卷运行实例五、Dockerfile1.Dockerfile2. 创建一个名为 myubuntu的自定义镜像第 1 步…

PCB基础细节--工艺篇

pcb基础细节(工艺篇) 1. 孔与焊盘2. PCB各层之间的作用3. 阻抗匹配 3.1. 什么是传输线?我们只看特性阻抗,时延以后再说。 在画原理图时,我们把电阻,电容,电感是抽象成一个点了。两边加一个电压&…

信创服务器总死机原因及解决办法

哈喽,你好啊,我是雷工!最近有个项目使用信创的服务器,总是出现死机的情况,联系厂家检查了一下,说是沐创网卡固件较低造成的,让移除网卡或升级固件尝试一下。记得5月份按厂家的说法处理过一台&am…

03_网关ip和端口映射(路由器转发)操作和原理

网关ip和端口映射(路由器转发)操作和原理IP 与端口映射配置全指南:2 种方案搞定外网访问内网一、先搞懂:为什么需要 IP 与端口映射?二、方案一:路由器端口映射(适合有公网 IP,长期稳…

「数据获取」《安徽建设统计年鉴》(2002-2007)(2004、2006缺失)(获取方式看绑定的资源)

01、数据简介《安徽建设统计年鉴》是一部全方位反映安徽省建设事业发展变迁的重要统计资料著作。该书系统收集并精心整理了 2006 年度安徽省城乡建设领域的核心统计数据,涵盖城乡建设固定资产投资、建筑业发展态势、城镇建设推进情况等多个关键方面,为政…

Python/JS/Go/Java同步学习(第一篇)格式化/隐藏参数一锅端 四语言输出流参数宇宙(附源码/截图/参数表/避坑指南/老板沉默术)

🤝 免骂声明: 本文四语言输出流参数经本蜀黎实战整理,旨在提供快速参考指南📝因各语言版本迭代及不同系统环境差异,偶尔可能出现整理不全面之处,实属正常✅欢迎理性交流补充,喷子勿喷——毕竟你…

人工智能助力流感疫苗选择:MIT 团队推出 VaxSeer 系统

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

使用 qmake 生成 Makefile,Makefile 转换为 Qt 的 .pro 文件

使用 qmake 生成 Makefile 的完整指南 qmake 是 Qt 提供的构建工具,用于从 .pro 项目文件生成 Makefile。以下是详细的使用方法: 基本使用方法 1. 从 .pro 文件生成 Makefile bash qmake -o Makefile your_project.pro2. 直接运行 qmake(自动…

利用DeepSeek编写验证xlsx格式文件中是否启用sharedStrings.xml对读写效率影响python程序

让他分别用100*10000个单元格有100、1000、10000个不同的1-200字符长的大写英文字母字符串测试. 一开始DeepSeek没有找到启用sharedStrings.xml的写xlsx模块,我自己找了pyxlsbwriter的例子告诉他才改好的。 import os import time import random import string impo…

【C++框架#2】gflags 和 gtest 安装使用

spdlog 安装和使用 1. 概述 介绍:spdlog 是一个高性能、超快速、零配置的 C 日志库,它旨在提供简洁的 API 和丰富的功能,同时保持高性能的日志记录。它支持多种输出目标、格式化选项、线程安全以及异步日志记录。 github 链接:htt…

平衡掌控者-游戏数值战斗设计

一、有效生命值1、计算公式有效生命生命值/(1-伤害减免率)/(1-闪避率)2、前摇和后摇对数值来说,战斗由两大模块组成,一个是战斗公式生效前的战斗攻击流程,一个是战斗公式与自身流程。比如说&…

使用DataLoader加载本地数据 食物分类案例

目录 一.食物分类案例 1..整合训练集测试集文档 2.导入相关的库 3.设置图片数据的格式转换 3.数据处理 4.数据打包 5.定义卷积神经网络 6.创建模型 7.训练和测试方法定义 8.损失函数和优化器 9.训练模型,测试准确率 10.测试模型 之前我们DataLoader加载…

从零开始的python学习——函数(2)

ʕ • ᴥ • ʔ づ♡ど 🎉 欢迎点赞支持🎉 个人主页:励志不掉头发的内向程序员; 专栏主页:python学习专栏; 文章目录 前言 一、变量作用域 二、函数执行过程 三、链式调用 四、嵌套调用 五、函数递归 六、…

RAG 的完整流程是怎么样的?

RAG(检索增强生成)的完整流程可分为5个核心阶段:数据准备:清洗文档、分块处理(如PDF转文本切片);向量化:使用嵌入模型(如BERT、BGE)将文本转为向量&#xff1…

研发文档版本混乱的根本原因是什么,怎么办

研发文档版本混乱的根本原因通常包括缺乏统一的版本控制制度、团队协作不畅、文档管理工具使用不当以及项目需求频繁变化等因素。这些问题使得研发团队在日常工作中容易出现文档版本混乱的情况,导致信息的不一致性、沟通不畅以及开发进度的延误。为了解决这一问题&a…

ChartView的基本使用

Qt ChartView(准确类名 QChartView)是 Qt Charts 模块里最常用的图表显示控件。一句话概括:“它把 QChart 画出来,并自带缩放、平移、抗锯齿等交互能力”。QML ChartView 简介(一句话先记住:ChartView 是 Q…

系统扩展策略

1、核心指导思想:扩展立方体 在讨论具体策略前,先了解著名的扩展立方体(Scale Cube),它定义了三种扩展维度: X轴:水平复制(克隆) 策略:通过负载均衡器&#…

HBuilder X 4.76 开发微信小程序集成 uview-plus

简介 本文记录了在HBuilder中创建并配置uni-app项目的完整流程。 首先创建项目并测试运行,确认无报错后添加uView-Plus组件库。 随后修改了main.js、uni.scss、App.vue等核心文件,配置manifest.json并安装dayjs、clipboard等依赖库。 通过调整vite.c…