当前行进行替换:s/XXX/YYY/gXXX是需要替换的字符串,YYY是替换后的字符串。

全局替换:% s/XXX/YYY/g.

对指定部分进行替换用V进入visual模式,再进行:s/XXX/YYY/g.

或指定行范围 替换::100, 102s/XXX/YYY/g.

替换字符串中的"/" 用"\"转义,即用"\/"表示。

查找在:中输入? 或/ ,然后按n或N向后或向前查找

Vi指令大全

Wikipedia,自由的百科全书

 

进入vi的命令

vi filename: 打开或新建文件,并将光标置于第一行首

vi +n filename: 打开文件,并将光标置于第n行首

vi + filename: 打开文件,并将光标置于最后一行首

vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处

vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filename

vi filename....filename: 打开多个文件,依次进行编辑

移动光标类命令

h: 光标左移一个字符

l: 光标右移一个字符

space: 光标右移一个字符

Backspace: 光标左移一个字符

k或Ctrl+p: 光标上移一行

j或Ctrl+n: 光标下移一行

Enter: 光标下移一行

w或W : 光标右移一个字至字首

b或B : 光标左移一个字至字首

e或E : 光标右移一个字至字尾

): 光标移至句尾

(: 光标移至句首

}: 光标移至段落开头

{: 光标移至段落结尾

nG: 光标移至第n行首

n+: 光标下移n行

n-: 光标上移n行

n$: 光标移至第n行尾

H: 光标移至屏幕顶行

M: 光标移至屏幕中间行

L: 光标移至屏幕最后行

0: 光标移至当前行首

$: 光标移至当前行尾

屏幕翻滚类命令

Ctrl+u: 向文件首翻半屏

Ctrl+d: 向文件尾翻半屏

Ctrl+f: 向文件尾翻一屏

Ctrl+b: 向文件首翻一屏

nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令

i: 在光标前

I: 在当前行首

a: 光标后

A: 在当前行尾

o: 在当前行之下新开一行

O: 在当前行之上新开一行

r: 替换当前字符

R: 替换当前字符及其后的字符,直至按ESC键

s: 从当前光标位置处开始,以输入的文本替代指定数目的字符

S: 删除指定数目的行,并以所输入文本代替之

ncw或nCW: 修改指定数目的字

nCC: 修改指定数目的行

删除命令

ndw或ndW: 删除光标处开始及其后的n-1个字

do: 删至行首

d$: 删至行尾

ndd: 删除当前行及其后n-1行

x或X: 删除一个字符,x删除光标后的,而X删除光标前的

Ctrl+u: 删除输入方式下所输入的文本

搜索及替换命令

/pattern: 从光标开始处向文件尾搜索pattern
?pattern: 从光标开始处向文件首搜索pattern
n: 在同一方向重复上一次搜索命令
N: 在反方向上重复上一次搜索命令
:s/p1/p2/g: 将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g: 将文件中所有p1均用p2替换

选项设置

all: 列出所有选项设置情况

term: 设置终端类型

ignorance: 在搜索中忽略大小写

list: 显示制表位(Ctrl+I)和行尾标志($)

number: 显示行号

report: 显示由面向行的命令修改过的数目

terse: 显示简短的警告信息

warn: 在转到别的文件时若没保存当前文件则显示NO write信息

nomagic: 允许在搜索模式中,使用前面不带“\”的特殊字符

nowrapscan: 禁止vi在搜索到达文件两端时,又从另一端开始

mesg: 允许vi显示其他用户用write写到自己终端上的信息

最后行方式命令

:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d: 将 n1行到n2行之间的内容删除
:w: 保存当前文件
:e filename: 打开文件filename进行编辑
:x: 保存当前文件并退出
:q: 退出vi
:q!: 不保存文件并退出vi
:!command: 执行shell命令command
:n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之,
若不指定n1,n2,则表示将整个文件内容作为command的输入
:r!command: 将命令command的输出结果放到当前行

寄存器操作

"?nyy: 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyw: 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyl: 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字

"?p: 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字

ndd: 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中

vim 批量查找替换相关推荐

  1. WordSR 在多个Word文件中批量查找替换

    这阵子在看一些技术文档,都是 word 格式的,需要在多个Word文件中批量查找指定的内容,找不到免费的合适的软件,顺手开发了这个工具软件,下载地址 WordSR v0.2,下面是一些版权信息和软件介 ...

  2. Vim 文本查找/替换

    Vim 文本查找/替换 Vim 查找 Vim 替换 单行替换首个old 单行替换全部的old 多行替换首个old 多行替换全部old 全局替换 确认替换 Vim 查找 在Vim编辑器下进入底行模式(命 ...

  3. vba word 查找_Word批量查找替换VBA代码

    编写该代码的目的: 初衷 该代码最初用于我自己弄得一个用于批量化写word报告的东西,因为我原来需要写一堆格式化的报告,不同报告间除了数据发生了变化,其他几乎一模一样,我想偷懒(主要是我容易写错),就 ...

  4. 批量查找替换excel单元格中的软回车(alt + enter)

    一.查找excel单元格中的换行符(alt + enter) 在excel中要批量查找软回车(alt + enter)可以通过在查找框内(通过按ctrl + f调出)输入:按住alt键不放,然后依次通 ...

  5. Linux——批量查找替换方法(VIM和sed)

    1.VIM命令 当前行进行替换:s/XXX/YYY/gXXX是需要替换的字符串,YYY是替换后的字符串. 全局替换:% s/XXX/YYY/g. 对指定部分进行替换用V进入visual模式,再进行:s ...

  6. 利用DEDE正则批量查找替换数据库的自定义内容

    正则的表达式在MY SQL中也有应用,但是在具体将查找的东西直接进行Replace的时候目前还不能解决,幸好后台中有个dede利用 正则,利用dede正则批量替换数据库中内容,这样我们完全减小了自己的 ...

  7. 使用Office内置的VBA编辑器实现WORD文档的批量查找替换

    最近同事因为工作原因需要批量修改几百个WORD文档中的内容,并且是批量的重复性工作.如果按一个个文件打开,是一个繁琐.乏味且又容易遗漏出错的事儿,所以他想找一个能提供批量替换操作的工具,百度上有很多类 ...

  8. Wordpress 修改 mysql 插件_WordPress批量查找替换修改文章内容的插件和代码

    修改过站内一些文章的永久链接,有没有办法修改站内所有相关的链接呀? 答案是有的. 批量替换WordPress数据库我们可以采取下面这两种方法:使用插件批量替换 使用数据库命令批量替换 替换方法一:使用 ...

  9. .net trim 替换指定字符_CAD二次开发实例:批量文本查找替换

    # 0. 引言 在CAD中进行文本替换已经存在一个find命令了,但是只能进行一对一的文本替换,如果遇到一个图形文件中有很多个文本需要替换时,你不可能一个一个的去find替换吧,当然你也可以尝试一个一 ...

最新文章

  1. 回溯法实现正则匹配判断
  2. onKeyPress与。 onKeyUp和onKeyDown
  3. Redis进阶实践之五Redis的高级特性
  4. all resources based on handshake
  5. VMWare虚拟机转换成KVM
  6. linux环境变量设置错误后,如何恢复
  7. Multidex(二)之Dex预加载优化
  8. 指纹图谱相似度评价软件_基于指纹图谱和网络药理学对当归四逆汤中桂枝的Qmarker预测分析...
  9. mysql数据库存储过程及调用方法
  10. junit跳过datasource_maven – spring集成测试无法加载上下文“另一个资源已存在,名称为dataSource”...
  11. 计算机基本运行方式,我今天才知道的电脑运行方式,你知道吗?
  12. html调用一个php文件路径_HTML中利用js调用php的内容
  13. c语言中联机停止运行,Win7开机提示Microsoft(C)注册服务器已停止工作怎么办?
  14. markdown_Latex各种符号
  15. python模拟鼠标键盘操作_Python-模拟鼠标键盘动作
  16. 【MySQL】——数据库基础入门知识
  17. c语言仿宋gb2312字体,仿宋gb2312字体
  18. 微信小程序解析php,微信小程序解析H5文件方法
  19. sentaurus学习日记(二)--器件特性提取
  20. html自学网页制作,HTML入门学习教程:简单网页制作

热门文章

  1. wordpress主题开发核心知识
  2. JAVA游戏资讯网站计算机毕业设计Mybatis+系统+数据库+调试部署
  3. 天书奇谈手游怎么用电脑玩 天书奇谈手游安卓模拟器教程
  4. Windows10系统更新卡住不动怎么办?
  5. 发现大家对销售感兴趣,再来两则(二)
  6. linux cifsutils 内核,Veeam Agent for Linux 4.0 安装部署
  7. 输出格式%d、%6d、%06d、%-6d、%.6f的区分
  8. Python标准库之urllib,urllib2自定义Opener
  9. google dns 的好处
  10. 计网MAC层和网络层通信流程梳理