当前位置: 首页 > news >正文

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.dtcms.com/a/364011.html

相关文章:

  • 趣说IT职场30:跨团队会议话术合集:优雅反对、不留记录
  • 使用DataLoader加载本地数据
  • Elasticsearch 核心特性与应用指南
  • 【js】Promise.try VS try-catch
  • 研发文档分散在本地和邮件里如何集中管理
  • 面试必避坑:MySQL 自增 ID 用尽问题深度解析与应对策略
  • XML在线格式化 - 加菲工具
  • 双Token实战:从无感刷新到安全防护,完整流程+代码解析
  • 魔域服务器多少钱一个月?魔域服务器配置要求及推荐
  • Vue 3.5 重磅新特性:useTemplateRef 让模板引用更优雅、更高效!
  • 服务器托管需要注意什么事项?
  • 人工智能助力流感疫苗选择:MIT 团队推出 VaxSeer 系统
  • MySQL注意事项与规范
  • 开发AI编程工具的方案分析
  • SPI片选踩坑实录(硬件片选和软件片选)
  • Nacos配置文件攻防思路总结|揭秘Nacos被低估的攻击面|挖洞技巧
  • Python 基础核心概念与实战代码示例(含数据类型、变量、流程控制、数据结构、函数与文件操作)
  • # Shell 文本处理三剑客:awk、sed 与常用小工具详解
  • 如何修改 Docker 默认网段(网络地址池)配置:以使用 10.x.x.x 网段为例
  • 2024 年 AI 产业格局复盘:头部企业竞逐方向与中小玩家生存破局点
  • 跨境电商账号风控核心:IP纯净度与浏览器指纹的防护策略
  • 基于单片机车流车速检测系统设计
  • 90%的C++ 程序员都忽略了这个容器——unordered_multiset,让我们来看看开源项目中怎么使用的
  • 最小二乘法之线性回归篇(普通最小二乘OLS、加权最小二乘WLS、广义最小二乘GLS)-原理讲解
  • 毕业项目推荐:69-基于yolov8/yolov5/yolo11的轴承缺陷检测识别系统(Python+卷积神经网络)
  • Python入门教程之类型转换
  • 【 HarmonyOS 6 】HarmonyOS智能体开发实战:Function组件和智能体创建
  • 博客系统的测试
  • Shell脚本一键监控平台到期时间并钉钉告警推送指定人
  • 黑马头条面试重点业务