`

VIM中替换数字

    博客分类:
  • VIM
阅读更多
工作中从数据库中导出了一些insert语句:
values (2163, 1, 'ID', '主键', 1, 'S', 4, 0, 0, 1, 1, 0, null, null, null, null, 1, null);
values (2163, 1, 'ID', '主键', 1, 'S', 4, 0, 0, 1, 1, 0, null, null, null, null, 1, null);
values (2163, 1, 'ID', '主键', 1, 'S', 4, 0, 0, 1, 1, 0, null, null, null, null, 1, null);
values (2163, 1, 'ID', '主键', 1, 'S', 4, 0, 0, 1, 1, 0, null, null, null, null, 1, null);
values (2163, 1, 'ID', '主键', 1, 'S', 4, 0, 0, 1, 1, 0, null, null, null, null, 1, null);
values (2163, 1, 'ID', '主键', 1, 'S', 4, 0, 0, 1, 1, 0, null, null, null, null, 1, null);
values (2163, 1, 'ID', '主键', 1, 'S', 4, 0, 0, 1, 1, 0, null, null, null, null, 1, null);
现在想改变第一列的值, 在vim中如下实现:
:let n=0 | g/valuse (\zs\d\+/s//\=n/|let n+=1
解释如下:
let           为变量赋值 (:help let )
|             用来分隔不同的命令 (:help :bar )
g             在匹配后面模式的行中执行指定的ex命令 (:help :g )
\zs           指明匹配由此开始 (:help /\zs )
\d\+          查找1个或多个数字 (:help /\d )
s            对匹配模式进行替换 (:help :s )
\=            指明后面是一个表达式 (:help :s\= )
也可以用另外一种方式,要先选中,通过行号进行替换 , 不如上面的方式灵活:
:'<,'>s/values (\zs\d*\ze/\=line(".") - line("'<") + 1

'<,'>         我们所选中的区域 (:help '<,:help '> )
s             在选中的区域中进行替换 (:help :s )
\zs           指明匹配由此开始 (:help /\zs )
\d*           查找任意位数的数字 (:help /\d )
\ze           指明匹配到此为止 (:help /\ze )
\=            指明后面是一个表达式 (:help :s\= )
line(".")     当前光标所在行的行号 (:help line() )
line("'<")    我们所选区域中第一行的行号 (:help line() )

0
0
分享到:
评论

相关推荐

    vim插件-配合数字电路systemverilog编程时使用

    总之,通过合理利用Vim及其相关的SystemVerilog插件,如`systemverilog.vim`,开发者可以在数字电路设计中享受到高效的编程体验。理解并掌握这些工具的用法,能极大地提高工作效率,降低出错概率,让SystemVerilog...

    VIM 中文帮助文档

    ### VIM 中文帮助文档知识点概览 #### 一、VIM简介与基本操作 - **VIM(Vi Improved)**: 是一款高级的文本...以上内容总结了VIM中文帮助文档中的关键知识点,希望能帮助初学者快速掌握VIM的基本使用方法和高级技巧。

    VIM代码编辑常用操作技术

    - **增加数字**: 可以使用Vim的替换命令对文本中的数字进行递增。 - **复制并修改**: 复制当前行并递增数字,可使用Vim脚本实现自动化操作。 #### 4. 高级替换命令 - **使用寄存器**: 例如使用Ctrl+r后跟寄存器名...

    vim 6.03 中文手册

    ':s/old/new/g'命令可以将当前行中所有'old'替换为'new','g'代表全局替换。 五、撤销与重做 'u'键撤销上一步操作,'U'恢复整行的修改。'.'键重复上一次命令,'Ctrl+R'是重做。 六、可视化模式 可视模式下,可以...

    学习vi和vim编辑器.pdf_vim实用_vi_vim_

    5. **查找与替换**:`:/{搜索内容}`查找,`:s/{查找}/{替换}/g`替换当前行中的内容,`:%s/{查找}/{替换}/g`全局替换。 **五、进阶技巧** 1. **可视模式**:按`v`进入可视行模式,按`V`进入可视列模式,可选择多行或...

    Vim实用技巧.pdf_vim实用_vim_

    本篇将详细探讨"Vim实用技巧",帮助你提升在Vim中的工作效率。 1. **启动与退出**:在命令行输入`vim`后接文件名即可打开文件,`:q`退出编辑,`:wq`保存并退出,`:q!`不保存强制退出。 2. **模式切换**:Vim有三种...

    vim 常用快捷键笔记

    - **启动 Vim**:在终端中输入 `vim` 后按 Enter 键即可启动 Vim。 - **打开文件**:使用 `vim filename` 可以打开一个文件,其中 `filename` 是要打开的文件名。 - 使用 `vim +n filename` 将光标定位到文件的第...

    vim教程 vim tutor

    - 在命令行中输入 `vimtutor` 或 `vimtutor &lt;filename&gt;` 来启动 Vim 的内置教程。 - 通过这种方式学习 Vim 的基础命令。 - **修改文件示例:** - 打开一个文件进行编辑,使用 `vim &lt;filename&gt;` 命令。 - 修改...

    Vim7使用手册

    6. **寄存器**:Vim中的寄存器用于存储剪切、复制的数据,可以用 `"` 加数字访问,如 `"0p` 粘贴默认寄存器的内容。 7. **宏**:录制和回放宏可以实现重复性任务自动化,用 `qq` 开始录制,`q` 结束,`@q` 回放。 ...

    vim入门及代码浏览 vim学习

    在Vim中,很多操作可以使用前缀数字来重复执行,比如要输入三个x,可以执行3ax(在当前光标之后插入)或3ix(在当前光标之前插入),然后按ESC键退出插入模式。 移动光标:在普通模式下,可以使用h、j、k、l键来...

    Vim learning notes

    在Vim中,学习和理解Normal模式的命令序列可能会比较困难,但这是Vim的自然状态,通过不断实践会变得更加熟练。Vim脚本(Vimscript)是一种让Vim用户能够添加新功能或改变现有功能的脚本语言。 Vim传统上是在终端中...

    linux下vim命令详解

    Vim提供强大的文本搜索功能,帮助用户快速定位和替换文本。 - `/pattern`:向后搜索`pattern`。 - `?pattern`:向前搜索`pattern`。 - `n`:找到下一个匹配项。 - `N`:找到上一个匹配项。 - `:%s/old/new/g`:全局...

    vim正则表达式的使用

    通过理解并熟练运用这些正则表达式元素,用户可以在vim中高效地进行文本搜索、替换和操作,从而显著提高文本处理效率和编程能力。无论是日常的代码编辑还是大规模的数据处理任务,vim的正则表达式都能提供强大的支持...

    vim使用指南

    Vim是一种高级的文本编辑器,广泛用于Linux系统和Unix系统中。它的主要特色是模式化的编辑,使得编辑工作可以非常快速高效。Vim的使用指南就是一份让初学者能够快速上手,并且让老用户能够更深入挖掘编辑器潜能的...

    CodeBlocks 的 Vim 插件

    在 CodeBlocks 中使用 Vim 插件,可以让习惯于 Vim 编辑器的用户在 IDE 中享受到类似 Vim 的编辑体验。"cbVike" 是专为 CodeBlocks 设计的一个 Vim 模拟插件,旨在提供 Vim 的快捷键和功能,以增强开发者的效率。 ...

Global site tag (gtag.js) - Google Analytics