vim批量操作技巧

2023-05-16

vim批量操作技巧

目录

  • vim批量操作技巧
    • 一、列操作
    • 二、批量复制与删除
    • 三、批量替换
    • 四、批量注释

一、列操作

删除列

在正常模式下(一般按Esc键就是)——光标定位——CTRL+v 进入“VISUAL BLOCK”可视块模式,选取这一列操作多少行——按键盘d 删除。

插入列

例如我们在每一行前都插入注释"// ":

在正常模式下(一般按Esc键就是)——光标定位到要操作的地方——CTRL+v 进入“VISUAL BLOCK”模式,选取这一列操作多少行——SHIFT+i(I) 输入要插入的内容如"//"——ESC 按两次,会在每行的选定的区域出现插入的内容。

二、批量复制与删除

在正常模式下(一般按Esc键就是),CTRL+v,进入列块模式,选中需要复制的内容
键盘“y” 复制内容,4line yanked 说明复制了四行
然后移动光标到行首,“p”在光标的后面一列输入内容,按“P”在光标前面一列输入内容;大小p的区别是黏贴内容的区域是所选择光标的前面还是后面一列;

dd 删除游标所在的那一整行
ndd n 为数字。删除光标所在的行向下n行,例如 10dd 则是删除 10行

gg 移动到行首

12G 跳转到文件的第12行

h, j, k, l 左下上右

CTRL-B,CTRL-F 翻页,等同于PageUp和PageDown。加上数字,表示向上或向下翻多少页

yy 复制游标所在那一行
y1G 复制光标所在列到第一列所有数据
yG 复制光标所在列到最后一列癿所有数据
y0 复制光标所在那个字符到该行行首所有数据
y$ 复制光标所在那个字符到该行行尾所有数据
u 复原前一个动作

三、批量替换

命令模式下:%s/old/new/g,用old替换new,替换文件的整个匹配

              :10,20s/^/ /g,10行到20行前面加空格,用于缩进

              :/text,查找text,n查找下一个,N查找前一个

              :?text,反向查找text,n查找下一个,N查找前一个

              :split file或者new file用新窗口打开文件,

               :vsplit纵向打开窗口,Ctrl+ww移动到下一个  窗口

四、批量注释

makefile,perl等中注释用#,.v等注释用//类似。

:3,5s/^/#/g 注释3~5行

:3,5s/^#//g 解除注释3~5行

:%s/^/#/g 注释整个文档

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vim批量操作技巧 的相关文章

  • 在 Archlinux 上使用 Vim 作为 Haskell 的 IDE 目前情况如何?

    如果可行的话 我的目标是通过 YouCompleteMe 在 Vim 中完成 Haskell 的命令 在这方面 正如您在下面看到的 我还没有找到关于如何让它发挥作用的共识 相关评论的最新评论YouCompleteMe 上的问题 https
  • 如何使用 vim 更改文件的编码?

    我习惯使用 vim 修改文件的行结尾 file file file ASCII text with CRLF line terminators vim file set ff mac wq file file file ASCII text
  • 在 COC vim 中自动从自动完成预览中选择第一项?

    有没有办法让 coc vim 自动选择第一个预览建议而不是使用箭头键 我使用的是 vim 8 1 Add suggest noselect false到你的 coc settings json 您可以在 coc 文档中找到该设置
  • 设置 vim 命令的键盘快捷键

    说我想要
  • gvim中的鼠标输入

    标准鼠标输入可以在 vim 中自定义吗 在我的例子中是 vim 插件也是可以接受的选择 我特别感兴趣的是 覆盖 双击某个单词 这样 gvim 就不仅仅是突出显示该单词 而是进行搜索 从而突出显示文件中该单词的所有实例 我在其他编辑器中看到过
  • 如何在 VIm 和终端中始终拥有相同的当前目录?

    我希望我的终端当前目录跟随我的 VIM 目录 Example 在终端中 gt pwd gt Users rege gt vim 然后在VIM中 cd Users rege project
  • Vi/vim - 从末尾行删除,包括最后一个字符

    我想做类似这个问题的事情VI VIM 删除 更改从右到左 https stackoverflow com q 9154212 301527即从行尾删除到该行中 的最后一个实例 这可以使用dT 将光标放置在该行的末尾 然而 这个命令和其他这样
  • 强制 vim 覆盖外部更改

    我使用 Vim 7 4 Mac OS 编辑和运行 Lua 脚本 我已经在 vimrc 中映射了一个键来保存当前缓冲区并运行外部脚本 vimrc 中的按键映射 map V w
  • Vim 与 tmux 相得益彰

    NERDTree 在 tmux 会话中出现问题 如图所示 当窗口被分割时也存在同样的问题 但现在我正在使用电源线 https github com Lokaltog powerline这次 Vim 状态在 tmux 中变得混乱 在图中看到状
  • 如何使用 VIM 进行 .Net 开发 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Vim ":source %" 命令导致错误 (E499)

    Stack Overflow vim 用户大家好 我最近发现自己花了相当多的时间在学校的计算机科学实验室编写代码 我在无数的linux系统上配置过vim 从来没有遇到过这个错误 E499 Empty file name for or onl
  • VIM语法折叠:禁用折叠多行注释

    我在 vim 7 3 中使用 语法 折叠方法 在 vimrc中 set foldmethod syntax 当我打开 Test cpp 时 包含 A function with a multi line comment This takes
  • 如何在 Vim 中创建带有控件和功能键的映射?

    我想要一个映射来快速退出所有缓冲区 以便在我对大量文件进行 vimdiff 时使用 事实证明 Control 和功能键在一起具有很好的安全性 这样我就不会不小心按下这个组合 无意中离开 Vim 我尝试了以下映射 map
  • Windows 上 gnu make 的 libintl3 和 libiconv2 在哪里,需要在 MinGW 上用 ruby​​ 编译 vim

    我正在尝试为 Windows 运行 gnu make 但它无法运行 因为libint3 dll没找到 果然 http gnuwin32 sourceforge net packages make htm http gnuwin32 sour
  • 按文件类型设置 Vim 空白首选项

    在我的工作中 我需要遵循房屋风格进行缩进 如下所示 编码 html 和 ruby 时有 2 个空格 编码 javascript 时使用制表符 建议使用 tabwidth 4 为每个文件类型指定不同的空白首选项的最佳方法是什么 方法有很多 但
  • Vim 插入模式下光标线颜色变化

    有一个很好的片段可以改变光标颜色 if term xterm rxvt use an orange cursor in insert mode let t SI
  • vim 脚本“input()”函数不需要用户按 Enter 键

    我想让用户调用我的函数 然后让该函数请求用户输入 但我不希望用户在输入 input 函数所需的字母后必须输入 enter 例如 用户应该能够键入 h j k l 等单字母命令 并且键入的每个字母都会在我的函数中循环 直到用户键入 x 退出
  • Vim:使用制表符缩进,使用空格对齐

    我已经阅读了几个问题和答案 Vim 使用制表符缩进 使用空格与 C 源文件对齐 https stackoverflow com questions 8493705 vim use tabs for indentation spaces fo
  • Vim + tmux + WSL 在导航文档时显示方块和奇怪的字符

    我可以在 Windows Ubuntu 子系统中使用 vim 没有任何问题 然后 当在 tmux 中运行 Vim 并输入文本时 大多数字符都会显示为奇怪的方块 里面有引号而不是实际的字母 这是 vim 文本的屏幕截图 1 在 tmux 中突
  • Vim 自动缩进换行

    我如何让vim将光标放在大括号内以新行开始 即用 表示光标位置 class 现在我的设置只能做到这一点 class 我在 vimrc 文件中得到了这个 设置自动缩进 shiftwidth 2 tabstop 2 noexpandtab 基本

随机推荐

  • Docker部署Gitlab和gitlab-runner,搭建一站式DevOps平台

    一 首次安装Gitlab并配置Gitlab runner CI CD Gitlab Docker 官方安装文档 xff1a https docs gitlab cn jh install docker html 设置Gitlab数据和配置挂
  • 打开 word 显示内存或磁盘空间不足 ,Word 无法显示所请求的字体

    打开word显示内存或磁盘空间不足 xff0c Word无法显示所请求的字体 使用360加速球优化一下 xff0c 恢复正常
  • 使用win10工具远程连接树莓派

    win10远程连接树莓派 1 使用ssh远程连接1 1系统烧录1 2 SSH登录 2 使用win10的mstsc工具远程连接2 1进入远程ssh后 xff0c 修改软件源 xff0c 否则太慢 xff08 清华软件源地址 https mir
  • 网络 - 笔记本无线转为有线

    工具 路由器一个 计算机两台C1和C2 场景说明 xff1a 将C1计算机的无线网络通过路由器转为有线网络 xff0c 并提供给C2计算机使用 第一步 xff1a 硬件搭建 连接C1和路由器 xff1a 将网线的A端插入路由器的WAN口 x
  • 医学案例统计分析与SAS应用--自学笔记

    目录 第二章医学研究设计与SAS实现科研设计思路样本含量估计实验设计 科研设计的sas实现完全随机设计随机区组设计析因设计关系型研究 第三章 统计描述与SAS分析统计描述及sas命令简介定量资料的统计描述分类资料的统计描述 第四章 定量资料
  • 计算机基础 - 左移、右移和计算逻辑

    左移 指的是位移动 xff0c 左移就是将数据位向左移动 xff0c 例如十进制10 二进制为0000 1010 左移4位后得到1010 0000 xff0c 转为十进制后为160 如果是左移5位 xff0c 那么超出部分被丢弃得到的就是0
  • C++ 二叉树实现词频分析

    通过二叉树存单词 xff0c 并且对总共的单词数量进行计数 xff0c 二叉树自适应的将出现频率高的单词往上移动以减少二叉树的搜索时间 代码如下 span class hljs comment genSplay h span span cl
  • C++ cout输出字符

    cout输出字符时 xff0c 可以使用单引号 xff1a cout lt lt span class hljs string 39 39 span lt lt endl span class hljs regexp span 输出分号 s
  • Linux 多进程多线程编程

    一 创建进程 1 进程号 进程号的类型是pid t xff08 typedef unsigned int pid t xff09 获得进程和父进程ID的API如下 xff1a include lt sys types h gt includ
  • dpdk探究1-理解dpdk的运行逻辑

    DPDK介绍 DPDK主要功能 xff1a 利用IA xff08 intel architecture xff09 多核处理器进行高性能数据包处理 Linux下传统的网络设备驱动包处理的动作可以概括如下 xff1a 数据包到达网卡设备网卡设
  • C++11多线程实现的一道面试题

    题目 xff1a 子线程循环 10 次 xff0c 接着主线程循环 100 次 xff0c 接着又回到子线程循环 10 次 xff0c 接着再回到主线程又循环 100 次 xff0c 如此循环50次 xff0c 试写出代码 这里涉及到的问题
  • 第四章 智能指针

    裸指针问题如下 xff1a 裸指针在声明中并未指出 xff0c 裸指针指涉到的是单个对象还是一个数组 裸指针在声明中也没有提示是不是要对其进行虚构 换言之 xff0c 无法得知指针是否拥有其指涉的对象 或者是否空悬指针的析构是不是拥有重载的
  • dpdk无锁队列

    这篇博客是从网上博客整理摘抄而来 xff0c 具体参考的博客内容在文末给出 Linux无锁队列 kfifo概述 Linux内核中有一个先进先出的数据结构 xff0c 采用环形队列的数据结构来实现 xff0c 提供一个无边界的字节流服务 最重
  • C++虚函数和虚函数表原理

    虚函数的地址存放于虚函数表之中 运行期多态就是通过虚函数和虚函数表实现的 类的对象内部会有指向类内部的虚表地址的指针 通过这个指针调用虚函数 虚函数的调用会被编译器转换为对虚函数表的访问 xff1a ptr gt span class hl
  • 非递归快排

    非递归快排 通过使用栈来模拟函数栈的调用 xff0c 每次将首尾指针存入到栈中 xff0c 并对首尾之间区域进行快排 span class hljs preprocessor include lt iostream gt span span
  • ppt基础篇--自学笔记

    字体 给文字加边框 加背景 底纹logo 方框 加透明框 拆分 字体镂空 不规则图形 xff08 结合背景 xff09 图片 删除背景 xff08 两张叠加 xff09 点击设置透明色 xff08 背景为纯色 xff09 背景虚化 添加矩形
  • Golang Assertion

    Go中所有的类型都可以被转化成interface xff0c 通常在传入可变参数中的API中 xff0c 可变参数的类型就是interface func typeConversion strs interface ret string fo
  • 解决Idea Maven生成的jar运行出现“没有主清单属性”问题

    1 问题描述 通过maven构建了jar文件 xff0c 如图所示 2 命令窗口运行jar 提示 没有主清单属性 2 1 分析问题 在打包构建的jar目录内 xff0c 可以看到有一个MANIFEST MF文件 xff0c 如图所示 xff
  • VMWare虚拟机扩展磁盘空间(扩充root根目录空间)

    1 扩展虚拟机磁盘空间 Vm虚拟机下Linux扩展原有磁盘空间 xff0c 10G 10G的基础上不能满足需求 xff0c 只好进行磁盘扩展 调整到合适的磁盘空间 需注意以下几点 xff1a linux只能扩展磁盘容量而不能减小 xff0c
  • vim批量操作技巧

    vim批量操作技巧 目录 vim批量操作技巧一 列操作二 批量复制与删除三 批量替换四 批量注释 一 列操作 删除列 在正常模式下 xff08 一般按Esc键就是 xff09 光标定位 CTRL 43 v 进入 VISUAL BLOCK 可