`

vi 替换 删除 修改 操作

 
阅读更多

:n1,n2 m n3    移动n1-n2行(包括n1,n2)到n3行之下;

:n1,n2 co n3    复制n1-n2行(包括n1,n2)到n3行之下;

:n1,n2 d           删除n1-n2行(包括n1,n2)行;

vi替换使用规则:
:g/s1/s/s2/s3/g
第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换
s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用//代替),s3是替换字符串
在vi界面下使用命令 :%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin。其中“#”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。


s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:s/str1/str2/gi 用字符串 str2 替换行中所有出现的字符串 str1,在查找时不区分大小写


: .,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上
:%s/str1/str2/g 功能同上
:g/foobar/s/bar/baz/g 首先搜寻foobar,然后把它变成foobaz. 它没有改变 jailbars, 而其他的一些命令可能会改变jailbars.
:%s/str1/str2/gc 替换全文所有符合的单词并让用户确认
:g/str1/s//str2/gi 用字符串 str2 替换正文中所有出现的字符串 str1,在查找时不区分大小写,此命令没有下面的严格,经测试显示,不能完全做到在查找时忽略大小写
:%s/str1/str2/gi 用字符串 str2 替换正文中所有出现的字符串 str1,在查找时不区分大小写,在查找时可以完全做到忽略大小写
:10,20s/^/ / 将第10行至第20行资料的最前面插入5个空白
:%s/$/str/g 在整个文件每一行的行尾添加“str”
:3,7s/str1/str2/g仅替换文件中的第3行到第7行中的“str1”成“str2”
:%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分(前提是已经打开了/etc/passwd文件)从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串在光标所在行的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。上面的命令中的/只是起分隔作用,也可以用其他的字符代替。另外,可以在正规式里用\ (和\)来剥离一个序列。例如:

有些字符域使用得很频繁. Vim 为这些字符域提供了预定义域:
项 匹配 相当于
\d 数字 [0-9]
\D 非数字 [^0-9]
\x 十六进制数字 [0-9a-fA-F]
\X 非十六进制数字 [^0-9a-fA-F]
\s 空白字符 [ ] ( 和 )
\S 非空白字符 [^ ] (非 和 )
\l 小写字母 [a-z]
\L 非小写字母 [^a-z]
\u 大写字母 [A-Z]
\U 非大写字母 [^A-Z]
& 所有查找时匹配到的东西
\[Ee] 更改大小写的选择区域的终点

:%s/\s\+$// 删除行尾多余的空格
命令前面指明范围是“%”,所以这会作用于整个文件。“substitute”命令的样式是“\s\+$”。这表示行末($)一个或者多个(\+)空格(\s)。:g/\(foo\)\(bar\)/s/\2/\1baz/g 将foobar替换成foobaz

www.qdtianquan.com

:0,$d   删除所有内容
:%s/r//g 删除DOS方式的回车^M
:%s= *$== 删除行尾空白
:%s/^(.*)n1/1$/ 删除重复行
:%s/^.{-}pdf/new.pdf/ 只是删除第一个pdf
:%s/// 又是删除多行注释(咦?为什么要说「又」呢?)
:g/s*^$/d 删除所有空行 :这个好用有没有人用过还有其他的方法吗?
:g!/^dd/d 删除不含字符串'dd'的行
:v/^dd/d 同上 (译释:v == g!,就是不匹配!)
:g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行
:v/./.,/./-1join 压缩空行
:g/^$/,/./-j 压缩空行
ndw 或 ndW 删除光标处开始及其后的 n-1 个字符。
d0 删至行首。
d$ 删至行尾。
ndd 删除当前行及其后 n-1 行。
x 或 X 删除一个字符。
Ctrl+u 删除输入方式下所输入的文本。
^R 恢复u的操作
J 把下一行合并到当前行尾
V 选择一行
^V 按下^V后即可进行矩形的选择了
aw 选择单词
iw 内部单词(无空格)
as 选择句子
is 选择句子(无空格)
ap 选择段落
ip 选择段落(无空格)
D 删除到行尾
x,y 删除与复制包含高亮区
dl 删除当前字符(与x命令功能相同)
d0 删除到某一行的开始位置
d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符)
dw 删除到某个单词的结尾位置
d3w 删除到第三个单词的结尾位置
db 删除到某个单词的开始位置
dW 删除到某个以空格作为分隔符的单词的结尾位置
dB 删除到某个以空格作为分隔符的单词的开始位置
d7B 删除到前面7个以空格作为分隔符的单词的开始位置
d) 删除到某个语句的结尾位置
d4) 删除到第四个语句的结尾位置
d( 删除到某个语句的开始位置
d) 删除到某个段落的结尾位置
d{ 删除到某个段落的开始位置
d7{ 删除到当前段落起始位置之前的第7个段落位置
dd 删除当前行
d/text 删除从文本中出现“text”中所指定字样的位置,
一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容
dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容
dtc 删除当前行直到下一个字符“c”所出现位置之间的内容
D 删除到某一行的结尾
d$ 删除到某一行的结尾
5dd 删除从当前行所开始的5行内容
dL 删除直到屏幕上最后一行的内容
dH 删除直到屏幕上第一行的内容
dG 删除直到工作缓存区结尾的内容
d1G 删除直到工作缓存区开始的内容

分享到:
评论

相关推荐

    linux Vi操作测试内容

    Vi操作测试内容 1. 在当前目录下建立一个mytest的目录; 2. 进入mytest 3. 将/etc/manpath.config复制到当前目录下; 4. 使用vi 打开manpath.config 5. 设定行号; 6. 移动到第61行,右移40个字元; 7. 向下搜索...

    vi技巧大全命令大全

    :q 离开vi,若文件被修改过,则会被要求确认是否放弃修改的内容,此指令可与: w 配合使用。 Vi 的操作模式 Vi 提供两种操作模式: 输入模式(insert mode) 指令模式(command mode) 当使用者进入vi后,既处于...

    vi命令入门详解.txt

    出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的。 Vi不是一个排版程序,它不象Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它...

    简单的vi命令列表 可以简单参考

    文本文件的vi指令列表,可以简单... R: 进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。    s: 删除光标所在字元,并进入输入模式。    S: 删除光标所在的列,并进入输入模式。

    linux vi 常用命令

    p 粘贴 u 取消操作 cw 更改光标所在位置的一个字 #cw 更改光标所在位置的#个字 下表列出行命令模式下的一些指令 w filename 储存正在编辑的文件为filename wq filename 储存正在编辑的文件为filename,并退出vi q!...

    实验三 vi编辑器

    1、进入和退出vi. 2、利用文本插入方式建立一个文件。 3、在新建的文本文件上移动光标位置。 4、在该文件执行删除、复原、修改、替换等操作。

    Word常用查找与替换实例及方法

    使用“通配符”功能时需要注意的要点 VI 实例1:对未设大纲级别的文档自动设置 1 实例2:多级人工序号怎样变自动多级符号 1 实例3:一步替换法对齐人工目录人名 2 实例4:对开头为第N章和第N节的段落进行设置 3 实例...

    vi编辑器快速入门

    本文以问答的形式对vi编辑器进行认识和剖析,针对使用过程中常见的问题进行解答。适合vi初学者、入门者阅读。...强大的删除操作| 怎么撤销修改删除| 复制和粘贴| 怎么显示行号| 查找功能| 替换功能| vim中的正则表达式|

    LINUX操作系统(电子教案,参考答案)

    本章主要介绍了Linux下增加用户、删除用户、设置用户组的各种操作,这些操作是进入Linux系统的第一步。 第7章:Shell和Shell编程。本章主要介绍了Shell的基本概念、Shell脚本以及awk的相关知识。 第8章:进程管理。...

    文本编辑器——VI/VIM

    文章目录vi/vim命令模式—>输入模式输入模式—>命令模式命令模式—>末行模式末行模式—>命令模式末行模式命令模式在命令模式下以单词为单位移动逐字符移动行内跳转行间跳转句子间跳转段落间跳转翻屏可视化模式字符...

    EDA/PLD中的LabVIEW的文件管理操作

    文件操作包括移动、复制、删除文件以及修改文件特性;文件目录的操作包括创建目录、列出目录内容。表1详细列出了文件管理操作节点的图标和功能。  文件管理操作节点中还包含一个Express VI——文件对话框,其图标...

    Wim编辑器精通之路

    R 从光标处向后替换,按Esc结束 u 取消上步的操作 U 取消目前的所有操作 yy 复制光标所在行 p 将复制的内容放在光标所在行的下行 编辑模式命令 命令 说明 a 在光标后插入文本 A 在光标所在行后插入文本 i...

    C++编写的小型编译器

    基于C++的小型文本编译器 参考vi编译器 可实现字符的修改 添加 替换 删除等功能 还可生成.txt文件

    一张图记住 Vim 常用命令

    文章目录一、图片二、详解1、Vim 的基本概念2、Vim 的基本操作a、进入 vimb、切换至插入模式c、Insert 的切换d、退出 vi 及保存文件3、命令行模式功能键1). 插入模式2). 从插入模式切换为命令行模式3). 移动光标4...

    linux的文本编辑器vim

    vim的常用操作,vim没有菜单,只有命令 插入模式 定位命令 4. 删除命令 5. 复制和剪切 6. 替代和取消 7.搜索与替换 6. 保存与退出 7. 导入命令执行结果. ‘:r ! 命令’ 导入文件。 ‘:r 文件’ 导入该文件到...

    linux实验报告.doc

    对该文件执行删除、复原、修改、替换等操作。 三、主要实验步骤 1.进入vi编辑器。 建立一个文件,如file.c。进入插入方式,输入一个C语言程序的各行内容,故意制造几 处错误。最后,将该文件存盘。回到shell状态下...

    redhat linux教材20课程学习文档

    4.5 在文件中替换和删除文本 4.5.1 命令模式中的替换命令 4.5.2 在底线模式中的替换命令 4.5.3 底线模式中的删除方式 4.6 撤销和重复编辑命令 4.7 移动和复制文本 4.7.1 文本行的移动 4.7.2 在底线模式中的整行移动 ...

    vim安装包,用于linux十分便捷

    编辑模式:包含插入模式和替换模式,新增文字和修改文字 命令行模式/末行模式:保存文字,离开vim,以及其它设置 vim newfile 新建一vim空白文件进行编辑 普通模式 编辑模式下按ESC切换为普通模式 命令 说明...

    Linux常见命令与shell脚本

    1.21 chown更改某个文件/目录的所有者和属组 11 1.22 find文件查找 11 1.23 locate快速文件查找 13 1.24 whereis和which查找命令所在目录 13 1.25 grep搜索文件内容 13 1.26 tar文档管理 14 1.27 gzip/gunzip 和 ...

Global site tag (gtag.js) - Google Analytics