VI替换字符串

合集下载

Linux下的vi编辑器的简单使用操作方法

Linux下的vi编辑器的简单使用操作方法

Linux下的vi编辑器的简单使⽤操作⽅法vi编辑器的使⽤:vi编辑器有三种基本⼯作模式,分别是命令⾏模式、⽂本输⼊模式、末⾏模式。

1.命令⾏模式该模式是进⼊vi编辑器后的默认模式,任何时候,不管⽤户处于何种模式,按下esc键即可进⼊命令⾏模式。

在命令⾏模式下,可以输⼊vi命令来管理⾃⼰的⽂档。

此时在键盘上输⼊任何字符都被当作编辑命令,⽽不是输⼊字符。

输⼊的字符并不会在屏幕上显⽰,若是合法的vi命令,则会完成相应的动作,否则会响铃报警。

2.⽂本输⼊模式命令⾏模式下输⼊以下⼏个命令则会进⼊⽂本输⼊模式。

i: 插⼊命令,会将⽂本插⼊到光标所在位置之前I: 插⼊命令,会将⽂本插⼊到光标所在⾏的⾏⾸a: 追加⽂本命令,会将⽂本追加到光标当前位置之后A: 追加⽂本命令,会将⽂本追加到光标所在⾏的末尾o: 空⾏插⼊命令,将在光标所在⾏的下⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸O: 空⾏插⼊命令,将在光标所在⾏的上⾯插⼊⼀个空⾏,并将光标置于该⾏的⾏⾸c: 修改命令r: 取代命令s: 替换命令在该模式下,⽤户输⼊的任何字符都被当做⽂件内容保存起来,并显⽰在屏幕上。

3.末⾏模式命令⾏模式下,⽤户按下:键即可进⼊末⾏模式,此时vi会在显⽰窗⼝的最后⼀⾏显⽰⼀个:作为末⾏模式的说明符,等待⽤户输⼊命令。

多数⽂件管理命令都是在此模式下执⾏的。

末⾏命令执⾏完后,vi会⾃动回到命令⾏模式4.vi⽂本的删除命令:vi编辑器可以在编辑模式和命令⾏模式下删除⽂本。

命令⾏模式下,vi常⽤删除命令x 删除光标处的字符。

若在x之前加上⼀个数字n,则删除从光标所在位置开始向右的n个字符。

X 删除光标前⾯的字符。

若在X之前加上⼀个数字n,则删除从光标前⾯那个字符开始向左的n个字符。

dd 删除光标所在的整⾏。

前⾯加上数字n,则删除当前⾏以及其后的n-1⾏。

D 或 d$ 删除从光标所在处开始到⾏尾的内容。

d( 删除到上⼀句开始的所有字符d) 删除到下⼀句开始的所有字符d{ 删除到上⼀段开始的所有字符d} 删除到下⼀段开始的所有字符d0 删除从光标前⼀个字符开始到⾏⾸的内容dw 删除⼀个单词。

vi使用方法详细介绍

vi使用方法详细介绍

vi使用方法详细介绍vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。

由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。

Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。

1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到last line mode。

2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式command mode)。

2、vi的基本操作a) 进入vi在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:$ vi myfile不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。

初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!b) 切换至插入模式(Insert mode)编辑文件在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

Vi基本操作

Vi基本操作

Vi基本操作首先看一下vi的三种模式的转换图:编辑模式下想进入命令模式,则需要先按Esc进入普通模式,这按“:”即进入了命令模式.再命令模式下想进入编辑模式,则需要先按Esc键,然后再按“i,a,o,O,s,S”等进入编辑模式.三种模式的简单说明:1、普通模式:使用Vi打开一个文件后,默认是普通模式,即不能进行输入,仅可以执行一些操作命令;2、编辑模式:在此模式下可以进行常规的输入操作,可以在左下角看到插入的标记“-- 插入--”或“-- INSERT --”;3、命令模式:在命令模式下,主要是执行保存、退出、搜索、替换等操作,则左下角可以看到“:”,并有光标闪烁等待输入命令.普通模式:普通模式转为编辑模式0:在光标所在行的上一行新增一行o:在光标所在行的下一行新增一行a:从当前光标所在的位置的下一个字符开始输入i:在光标所在的位置插入新输入的字符s:删除光标后的一个字符,然后进入插入模式;S:删除光标所在的行,然后进入插入模式;移动h:将光标向左移动一格l:将光标向右移动一格j:将光标向下移动一格k:将光标向上移动一格$:将光标移到当前行的最后面数字0:将光标移到当前行的最前面G :将光标移到最后一行的开头gg:将光标移到首行开头w或W:将光标移到下一个字e或E:将光标移到本单字的最后一个字符;如果光标所在位置为本单子的最后一个字符,则跳到下一个单字的最后一个字符.b:将光标移到本单词的第一个字符;如果光标所在位置为本单词的第一个字符,则跳到上一个单字的第一个字符.翻页ctrl+b:将页面向前卷动一页ctrl+f:将页面向后卷动一页ctrl+u:将光标向前移动半页ctrl+d:将光标向右移动半页ctrl+e:屏幕向下卷动一行,也可以说文章和光标向上卷动一行ctrl+y:屏幕向上卷动一行,也可以说文章和光标向下卷动一行复制文字yy:可将光标目前所在位置的正行复制,复制时不会将文字反白显示nyy:其中n为数字键,表示要复制的行数,若按3yy,则连同光标所在的位置的一行,与下面2行一起复制yw:可复制光标所在位置到整个单词结束的字符nyw:n表示要复制的单词数目,若按3yw,则会将目前光标所在位置到单词结束,以及后面的2个字一起复制p:可将复制的文字粘贴到当前光标所在的位置.若复制的是整行文字,则会将整行内容粘贴在光标所在位置的下一行shift+p 在光标之前粘帖删除文字d:先按d键,放开后按←键,可将光标位置前一个字符删除;按→键,则会将光标位置的字符删除;按↑键,可将当前光标所在的行与前一行一并删除.按↓键,可将当前的光标所在的行与下一行删除.D:可删除一行中光标所在位置之后的所有字符.dd:连续按2次d键可删除光标所在的那一行.dw:将光标停在某个字的第一个字符,按dw键时,会将此字整个删除.如将光标置在某个字中间的字符上,则会将此字中光标后面的字符删除.nd:n为数字,如按3d,再按下↑键,则删除光标上方的3行,再包括本身1行,共删除4行.若按下↓键,则删除光标下方3行再包括本身1行,共4行.ndd:若按3dd键,表示删除当前光标位置的1行和下面的2行. x:删除光标所在位置的字符X:删除光标所在位置的前一个字符,与d+←键一样nx:按4x键,表示删除光标位置后的3个字符和光标本身所在的字符nX:按4X键,表示删除光标位置之前的4个字符不包括光标的字符J:清除光标所处的行与上一行之间的空格,把光标行和上一行接在一起;命令行:欲进入命令模式,需要先进入普通模式,然后输入“:”即可w:保存文件q:退出wq:保存并退出q:不保存,强制退出wq ----强制保存退出x ----- 作用和:wq 一样ZZ ---- 作用和:wq一样,注意Z是大写的,并且不是在命令模式查找及替换文字/或:当药搜索文章中的某一个字符串时,可输入“/”或“”,然后在输入要查找的字符串.例如输入“/kuka”,然后按回车键,vim就会把所有的gz字符串标记起来,并自动将光标移到第一个找到的字符串上.n:将光标移到下一个找到的字符串上N:将光标移到上一个找到的字符串上r:替换光标所在的位置的字符.修改内容不一定要进入insert mode,在normal mode中,只要将光标移到要更改的字符上,然后按R键,就可以输入要查找的字符了.R:连续替换光标所在的位置的字符,按Esc键停止替换cc:按cc键可以替换光标所在的那一行替换字符串:当要将文章中的某一个字符串全部替换时例如将所有的temp替换成tmp,使用“:g/temp/s//tmp/g”或“:1,$stemp/tmp /g”命令,可立刻将所有的“temp”替换成“tmp”字符串.如果不是所有的“temp”字符串都要替换时,可用“:g/temp/s//tmp /gc”或“:1/,$stemp/tmp/gc”命令.则找到每一个“temp”字符串时,都会将整行显示在屏幕的下方,可输入“y”或“n”决定是否要替换.显示光标所在的行数、移到指定的行数^g、^G:按次组合键,则会在最下方处显示光标所造位置的行数,以及文章的总行数.nG 或 ngg:n为数字,若按下20G,则可将光标移到第20行.撤销和还原^u:按此键就是在执行undo命令,可取消前一次的操作^r:按此键就是执行redo命令,可以恢复刚才undo的操作注:^ 代表 ctrl 键.。

vi老语法

vi老语法

vi老语法
Vi老语法是指在Vi编辑器中使用的一些历史悠久且较为传统
的语法和操作方法。

Vi是一个文本编辑器,最初是在1976年
由Bill Joy编写的,它是Unix和类Unix系统上的一种标准编
辑器。

一些常见的Vi老语法包括:
1. 模式匹配:Vi支持使用正则表达式进行模式匹配,可以在
文本中查找、替换指定的内容。

2. 动作命令:Vi提供了一系列的动作命令,如光标移动命令(h、j、k、l分别对应左、下、上、右),删除命令(x)、
插入命令(i)等,可以通过按键的方式快速完成编辑操作。

3. 操作符:Vi支持一些操作符,可以在文本上执行一些特定
的操作,如删除(d)、复制(y)、替换(s)等。

4. 文本对象:Vi定义了一些文本对象,可以以字符、单词、
句子、段落等为单位进行操作,例如删除一个单词(dw)、
复制一个句子(ys)等。

5. 缓冲区命令:Vi中可以同时打开多个缓冲区(文件),可
以使用命令在不同的缓冲区之间切换、保存、关闭等。

当然,随着时间的推移,Vi编辑器经过了多次的更新和改进,也加入了一些新的特性和语法。

不过,Vi老语法依然被许多
用户所喜爱和广泛应用,因为它简单、高效,并且在大部分Unix和类Unix系统中都预装有Vi编辑器。

vi命令的功能

vi命令的功能

vi命令的功能vi是一种经典的文本编辑器,广泛应用于Unix和Linux系统中。

它具有强大的功能,为用户提供了许多编辑和操作文本的选项。

本文将详细介绍vi命令的功能。

1. 插入和编辑文本:vi命令可以让用户在文本中插入和编辑内容。

在插入模式下,用户可以自由地输入和修改文本。

在普通模式下,用户可以使用诸如删除、粘贴、复制、剪切等命令来编辑文本。

2. 光标移动:vi命令允许用户通过多种方式移动光标。

用户可以使用方向键、h、j、k、l键(分别代表左、下、上、右方向)来逐个字符地移动光标。

用户还可以使用单词、句子、段落等级别的移动命令,以便在文本中快速导航。

3. 查找和替换:vi命令具有强大的查找和替换功能。

用户可以使用"/"命令来查找指定的字符串。

当找到目标后,用户可以使用"n"和"N"命令在文本中查找下一个或上一个匹配项。

此外,用户还可以使用":s"命令将文本中的指定字符串替换为新的内容。

4. 复制、粘贴和删除文本:vi命令提供了一系列复制、粘贴和删除文本的功能。

用户可以使用"yy"命令复制整行文本,使用"dd"命令删除整行文本。

用户还可以使用"p"命令将复制或删除的文本粘贴到指定位置。

5. 撤销和重做操作:vi命令支持撤销和重做操作。

当用户对文本进行了某些修改后,可以使用"u"命令来撤销上一步操作。

如果需要重新进行已撤销的操作,可以使用"Ctrl+r"命令来重做。

6. 按行缩进和对齐:vi命令可以对文本进行按行缩进和对齐。

用户可以使用">"命令将选定的行向右缩进,使用"<"命令将选定的行向左缩进。

用户还可以使用"="命令来对选定的文本块进行对齐操作。

vi操作

vi操作

Vi各种快捷方式1、可直接输入的命令ctrl+v:进入列模式编辑;shift+g:跳至文档末尾;v:列模式(移动光标,全选);u:撤销;Ctrl+r:恢复刚才撤销的动作;Ctrl+w+w:切换到下一个窗口(多窗口操作);2、以冒号“:”开头的命令:set nu:显示行号:set nonu:取消行号显示:%s/字符串1/字符串2/g:全局替换,字符串2替换字符串1注:#也可以作为分隔符:%!sort -u:删除重复行:set noh:取消高亮显示3、以斜杠“/”开头的命令/输入字符:查找内容。

4、行缩进在命令格式下,按住shift并连续点击两次>,不进入插入模式即可实现行缩进行操作1、删除行刪除沒有內容的空行:g/^$/d刪除包含有空格組成的空行:g/^\s*$/d以空格或tab開頭到結尾的空行:g/^[ |\t]*$/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 删除直到工作缓存区开始的内容vi 列操作1、对列插入:1 定位光标位置2 ctrl+v进入visual-block模式(选定光标所在行对应的列)3 j移动光标选择列编辑行(按shift+g移动到文件底部)4 输入大写I5 输入输入要插入的文本6 esc7 保存完成eg:文件内容如下:123455678967755hghgh......45975现在需在第一列插入#,将光标定在第一行第一列处,ctrl+v选定第一列,输入命令I,之后按shift+g,光标跳至最后一行的第一列,此时选定了整个文件的第一列,输入要插入的字符#,此时,字符#只会显示在第一行第一列的位置上,按ESC退出,则其余行的第一列的#将显示出来。

linux_vi替换命令详解

linux_vi替换命令详解

有用的命令:vi/vim打开文档后,按shift+:此时光标在:后面%s/vivian/sky/g 是将全文中所有的vivian替换成sky我们一般进行的操作是删除操作,就是替换为空%s/,wangcaiwei//g或%s/wangcaiwei,//g下面是详细的介绍,有其他需求去下面找Linux系统攻略关于vi替换命令的使用说明来源:考试大 2008年01月03日10:50vi/vim 中可以使用:s 命令来替换字符串。

以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。

:s/vivian/sky/ 替换当前行第一个vivian 为sky:s/vivian/sky/g 替换当前行所有vivian 为sky:n,$s/vivian/sky/ 替换第n 行开始到最后一行中每一行的第一个vivian 为sky :n,$s/vivian/sky/g 替换第n 行开始到最后一行中每一行所有vivian 为skyn 为数字,若n 为.,表示从当前行开始到最后一行:%s/vivian/sky/(等同于:g/vivian/s//sky/)替换每一行的第一个vivian 为sky:%s/vivian/sky/g(等同于:g/vivian/s//sky/g)替换每一行中所有vivian 为sky可以使用# 作为分隔符,此时中间出现的/ 不会作为分隔符:s#vivian/#sky/# 替换当前行第一个vivian/ 为sky/:%s+/oradata/apras/+/user01/apras1+ (使用+ 来替换/ ):/oradata/apras/替换成/user01/apras1/1.:s/vivian/sky/ 替换当前行第一个vivian 为sky:s/vivian/sky/g 替换当前行所有vivian 为sky2. :n,$s/vivian/sky/ 替换第n 行开始到最后一行中每一行的第一个vivian 为sky:n,$s/vivian/sky/g 替换第n 行开始到最后一行中每一行所有vivian 为sky(n 为数字,若n 为.,表示从当前行开始到最后一行)3. :%s/vivian/sky/(等同于:g/vivian/s//sky/)替换每一行的第一个vivian 为sky:%s/vivian/sky/g(等同于:g/vivian/s//sky/g)替换每一行中所有vivian 为sky 4. 可以使用# 作为分隔符,此时中间出现的/ 不会作为分隔符:s#vivian/#sky/# 替换当前行第一个vivian/ 为sky/5. 删除文本中的^M问题描述:对于换行,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示。

linux vi 替换命令

linux vi 替换命令

linux:vi 替换命令vi/vim 中可以使用 :s 命令来替换字符串。

以前只会使用一种格式来全文替换,今天发现该命令有很多种写法,记录几种在此,方便以后查询。

1.全局替换(1) v + G + $ 选定全部,然后输入 :s/原始字符串/目标字符串/(2) :%s/原始字符串/目标字符串/2.清除页面中所有行尾的空白符::%s/\s\+$//3.清除所有空白:%s/\(\s*\n\)\+/\r/4.去掉所有的//注释:%s!\s*//.*!!5.去掉所有的/* */注释:%s!\s*/\*\_.\{-}\*/\s*! !6.做某些内部数据重复替换有些时候我们需要组织一些批量的数据进行命令行的执行,比如我们需要利用前面的数据生成后面的数据,例如这样的数据:/var/database/aaa.txt/var/database/bbb.txt/var/database/ccc.txt我想变成一个个的指令,比如变成一个个复制命令,复制到但前目录,那么可以执行::%s/\(.*base\/\)\(.*\.txt\)/cp \1\2 \.\/\2/变成了:cp /var/database/aaa.txt ./aaa.txtcp /var/database/bbb.txt ./bbb.txtcp /var/database/ccc.txt ./ccc.txt这里关键是子模式的使用: () 中间的,\1 代表第一个找到的子模式,\2代表第二个,以此类推,vim里面的()必须转义,跟其他语言不一样7.增加注释(一个操作应用在多行)比如需要增加#或者是//这种注释:Ctrl + v 定位到开始行,然后选定需要的行,然后执行 I 命令,然后输入 # 或 //,然后按 Esc键两次,即可把注释操作应用到所有选定的行,记住选定不能使用v指令,而应该使用Ctrl + v (清除注释请参考上面的方法)(v是按行选定,Ctrl + v 是按照列选定) 8.对齐行v 选定需要整齐的行,输入 = 进行归整9.打开多窗口在vim中使用 :sp 文件名打开行窗口(横),使用 :vsp 文件名打开列窗口(竖),使用 :q 关闭当前窗口,使用 :qa 关闭所有窗口,使用 Ctrl + w 在各个窗口中进行切换。

虚拟机编辑器vi使用方法详细介绍

虚拟机编辑器vi使用方法详细介绍

虚拟机编辑器vi使⽤⽅法详细介绍vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强⼤不逊⾊于任何最新的⽂本编辑器,这⾥只是简单地介绍⼀下它的⽤法和⼀⼩部分指令。

由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地⽅进⼀步了解它。

Vi也是Linux中最基本的⽂本编辑器,学会它后,您将在Linux的世界⾥畅⾏⽆阻。

基本上vi可以分为三种状态,分别是命令模式(command mode)、插⼊模式(Insert mode)和底⾏模式(last line mode),各模式的功能区分如下:1) 命令⾏模式command mode) 控制屏幕光标的移动,字符、字或⾏的删除,移动复制某区段及进⼊Insert mode下,或者到 last line mode。

2) 插⼊模式(Insert mode) 只有在Insert mode下,才可以做⽂字输⼊,按「ESC」键可回到命令⾏模式。

3) 底⾏模式(last line mode) 将⽂件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出⾏号……等。

不过⼀般我们在使⽤时把vi简化成两个模式,就是将底⾏模式(last line mode)也算⼊命令⾏模式command mode)。

在系统提⽰符号输⼊vi及⽂件名称后,就进⼊vi全屏幕编辑画⾯: $ vi myfile 不过有⼀点要特别注意,就是您进⼊vi之后,是处于「命令⾏模式(command mode)」,您要切换到「插⼊模式(Insert mode)」才能够输⼊⽂字。

初次使⽤vi的⼈都会想先⽤上下左右键移动光标,结果电脑⼀直哔哔叫,把⾃⼰⽓个半死,所以进⼊vi后,先不要乱动,转换到「插⼊模式(Insert mode)」再说吧!在「命令⾏模式(command mode)」下按⼀下字母「i」就可以进⼊「插⼊模式(Insert mode)」,这时候你就可以开始输⼊⽂字了。

vi指令大全

vi指令大全

n !! cmd 执行shell命令cmd。用cmd的输入内容替换从当前行开始的n行文本。n的缺省值是1。如果cmd接收标准输入,则必须用特定的行
【杂项功能点滴】
1. 设置语法高亮显示
在Redhat Linux下需要先安装vim-enhanced,否则syntax on不能用。然后再指令模式下执行
/pattern 移至下一个包含pattern的行
?pattern 移至上一个包含pattern的行
/ 往下重复查找
? 往上重复查找
n 在同一方向重复查找
N 在相反方向重复查找
/pattern/+n 移至下一个pattern所在行后的第n行
?pattern?-n 移至上一个Pattern所在行前的第n行
六个字开始处等等
dd 删除光标所在的行
r 修改光标所在字符,r 后接着要修改的字符
R 进入取代状态,新增内容会覆盖原先内容,直到按 [ESC] 回到指令模式下止
s 删除光标所在字符,并进入输入模式
S 删除光标所在的列,并进入输入模式
u 撤消最近一次对文本的改动。标准版的vi只能执行一级撤消,而vim则可以多级
/pattern/z- 重绘屏幕,使下一个包含pattern的行位于屏幕的最底行
% 移至与光标所在的括弧匹配成对的圆括弧或大括弧
【标记文本】
也可以将某段文本标记起来,方便以后跳转
mchar 用字母char标记当前光标的位置
`char 移至char所标记处
'char 移至char标记所在行的开头处
【指令组成】
现在可以提一下vi的指令组成。上面也看到了,很多指令都是控制键和数字等结合起来控制的。没错!其中很多大致是由指令与范围所构成。例如 dw 是由删除指 d 与范围 w 所组

vi编辑器的使用方法

vi编辑器的使用方法

给点参考吧还蛮详细的vi文本编辑器的使用一.vi的模式命令模式:vi启动默认进入的模式,可进入输入模"i",或末行模式(:),除了可以完成命令的功能外,也是后两种模式的转换点输入模式:即文本辑辑状态,按“i”键可进入,最后一行显示"-- INSERT --"提示,按ESC返回到命令模式末行模式:可完成一些复杂操作,以":"开始,执行完一个末行命令后自动返回命令模式二.基本使用1.vi 编辑器的启动与退出:(1).使用命令"vi"直接进入编辑环境(2).以文件名作为"vi"命令的参数时,若存在此文件,则vi可对内容进行编辑,若不存在,打开以参数名命名的空文件(3).在命令模式下输入":q!",可以强行退出编辑环境,对文件修改不进行保存(4).在命令模式下输入":wq",可以保存文件,并推出编辑环境。

2.文件操作:(1).打开新文件:在末行模式下":e filename"关闭当前文件并打开新文件,":e! filename 强制关闭当前文件并打开新文件"(2).读取文件内容到当前文件:":r filename",读取的文件内容粘贴到当前文件光标所在行的下面(3)保存文件:命令为":w [filename]",如果文件已经命名,可直接使用":w"命令的参数,如果没有命名,第一次保存时需指定文件名作为参数(4).另存为文件:命令为":w filename",只保存到新文件,而不更新原来文件的内容(5).退出vi编辑器:退出格式为":q",保存并退出为":wq",强行退出为":q!"3.光标的移动操作(命令模式下)(1).光标方向移动:"h"左、"l"右、"k"上、"j"下(2).翻页移动:"ctrl+f"前一页、"ctrl+b"后一页、"ctrl+u"前半页、"ctrl+d"后半页(3).行内快速跳转:"^"本行首字符、"$"本行尾字符、"w"后一单词首字母、"b"前一单词首字母、"e"后一单词尾字母;可添加数字组合使用,例如:"3w"后三个单词首字母、"4b"前4个单词首字母、"5e"后5个单词尾字母(4).文件内行间跳转:显示行号":set nu",取消显示行号":set nonu","1G"跳转到首行,"G"跳转到末尾行,"#G"跳转到第#行4.编辑操作(1).进行输入模式:"i"当前光标处,"a"当前光标后,"A"当前行末,"o"当前行下插入新行,"O"当前行上插入新行,"cw"删除当前光标到所在尾部字符,"c$"删除当前光标到行尾的字符,"c^"删除当前光标(不包括)之前到行首的字符;以上记忆如有困难,可只记"i"从命令模式进入输入模式,完成编辑后"Esc"退回到命令模式(2).输入模式的操作:上下左右方向进行光标移动,"Home/End"定位光标到行首行尾,"Page Up /Down"上下翻页,"Backspace"左侧字符的删除,"Delete"删除光标位置的字符(3).删除操作:在命令模式下,可用以下命令完成删除操作,"x"光标处单个字符,"dd"光标所在行,"dw"当前字符到单词尾(含空格),"de"当前字符到单词尾(不含空格),"d$"当前字符到行尾,"d^"当前字符到行首,"J"合并当前行与下一行的内容,可添加数字配合使用,例如"3x"当前光标向右3个字符,"2dd"从当前行开始向下两行文本,"3dw"当前光标向右3个单词,"2de"当前光标向右两个单词(保留一个空格),"5J"合并5行文本(4).撤销操作:在命令模式下,"u"取消最近一次操作,可重复使用,"U"取消对当前行进行的所有操作,"Ctrl+R"对"u"产生的撤消进行恢复(5).复制操作:"yy"整行,"yw"光标到单词尾,"y$"光标到行尾,"y^"光标到行首;与数字组合使用,"5yy"当前及后续共5行,"3yw"当前光标开始的3个单词;末行命令":m,ny"m行到n行之间的文本,例如:":100,200y"100行到200的内容(6).粘贴操作:在命令模式下,使用"p"将缓冲区中的内容粘贴到当前文档5.查找与替换操作(末行模式)(1).自上而下:":/word"查找指定的字符串,"n"查找下一个(自上而下)"N"反向查找下一个(自下而上)(2).自下而上:":?word"自下而上查找指定字符串,"n"查找下一个(自下而上)"N"反向查找下一个(自上而下)(3).普通替换:":s/old/new"由s开始,"old"指被替换的字符串,"new"替换成哪个字符串,此命令只替换当前行中第一个匹配的字符串(4).行内全部替换:":s/old/new/g",当前行内所有匹配的字符串(5).在行区域内进行替换:":#,#s/old/new/g","#,#"表示两个行号之间的行区域,例如"3,5"表示第3行到第5行(6).整个文件内的替换操作:":%s/old/new/g",加%表示整篇文档,危险,慎用(7).使用替换确认功能:在原替换命令后加"c"可提供确认功能,例如:":s/old/new/c",":s/old/new/gc",":#,#s/old/new/gc",":%s/old/new/gc";替换命令确认后的提示为"replace with word (y/n/a/q/l/^E/^Y) ?",其中"y"替换,"n"放弃,"a"所有,"q"退出三、编辑器的多文件操作1.多文件操作的vi启动:"vi [file1] [file2] .."后跟多个文件名作为参数即可,第一个参数显示在屏幕上,其它文件处于编辑后台状态2.多文件切换命令:(1).显示多文件信息:":args"结果中显示打开的文件,"[]"内为当前显示文件(2).前后切换文件:":next"显示后一文件,":prev"显示前一文件,加"!"为强制切换,不保存当前文件(3).定位首文件和尾文件:":first"定位首文件,":last"定位尾文件(4).快速文件切换:已经用某个切换命令进行文件切换后,"Ctrl+^"可快速切换到前状态。

vi命令大全

vi命令大全

xp
交换两个字符位置
ddp
上下两行调换
J
上下两行合并
dG
删除所有行
d$
从当前位置删除到行尾
y$
从当前位置复制到行尾, 如果要粘贴到其他地方 p 就可以了
,
逗号,配合 f 和 t 使用,反方向重复一次
[此贴子已经被作者于2005-6-17 12:08:19编辑过]
--------------------------------------------------------------------------------
本文由 justice61 发表,justice61 与斗斗体闲论坛享有相关权利;
d } 删除到某个段落的结尾位置
d { 删除到某个段落的开始位置
d 7 { 删除到当前段落起始位置之前的第7个段落位置
d d 删除当前行
d /t e x t 删除从文本中出现“ t e x t”中所指定字样的位置,一直向前直到下一个该字样所出现的
位置(但不包括该字样)之间的内容
替换命令操作
s 将当前字符替换为一个或多个字符
S 将当前行替换为一个或多个字符
5 s 将从当前字符开始的5个字符替换为一个或多个字符
下载
vi替换使用规则:
:g/s1/s/s2/s3/g
第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换
折行
:set wrapmargin=4
vi加密不同的unix可能不同.
俺在HP-UX下,用X加密的文件只输key(密钥).
vi -C 文件名,便会要求输入密钥,如正确,便打开了.

Vi常用基本命令

Vi常用基本命令

进入vi的命令 (1)移动光标类命令 (1)屏幕翻滚类命令 (2)编辑插入文本类命令 (3)删除命令 (5)搜索及替换命令 (6)选项设置 (8)组合命令 (10)最后行方式命令 (14)寄存器操作 (15)进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi 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:(注意是数字零)光标移至当前行首$:光标移至当前行尾^ 光标移到行首f 光标移到当前光标位置后面的第一个指定的字符下F 光标移到当前光标位置前面的第一个指定的字符下t 光标移到当前光标位置后面的第一个指定的字符前T 光标移到当前光标位置前面的第一个指定的字符前% 光标移动到与当前括号匹配的括号处:n 光标移动到指定行按数字:0:移到文章的开头。

按G:移动到文章的最后。

按w:光标跳到下个字的开头按e:光标跳到下个字的字尾按b:光标回到上个字的开头按:#l:光标移到该行的第#个位置,如:5l,56l。

VI常用命令和快捷键

VI常用命令和快捷键

语法]:vi [-wn] [-R] 文件…[说明]: vi 是一个基于行编辑器ex 上的全屏幕编辑器,可以在vi 中使用ex,ed的全部命令,vi选项中-wn 指将编辑窗口大小置为n行,-R 为将编辑的文件置为只读模式,vi 工作模式分为命令模式和输入模式,一般情况下在命令模式下,可敲入vi命令,进入输入模式下时可以编辑要编辑的文本,命令a A i I o O c C s S R 可进入输入模式,在输入模式下按ESC 键可推出输入模式,回到命令模式,在命令模式中敲入:命令,则可进入ex方式,在屏幕底部出现提示符:,此时可使用任意ex命令,屏幕底行也用来作/ ? ! 命令的提示行,大多数命令可以在其前面加数字,表示命令执行的重复次数,下面简单介绍一下vi 的命令集:^ 表示(CTRL)键^B 退回前一页,前面加数字表示重复次数,每次换页时保留上一页的两行^D 在命令模式下,表示下滚屏幕的一半,在输入模式下,表示回退至左边的自动缩进处^E 显示屏幕底线之下的一行^F 前进一页,前面加数字表示重复次数,每次换页时保留上一页的两行^G 显示当前文件名,当前行号和文件总行数,并用百分号当前行在整个文件中的位置^H(退格) 在命令模式下,光标左移一格;在输入模式下,删去前面的字符^I(TAB) 在输入模式下,产生一串空格^J(LF) 光标下移一行^L 刷新屏幕,即将屏幕重新显示^M(回车) 在命令模式下,光标移动至下行开头;在输入模式下,开辟一新行^N 光标下移一行^P 光标上移一行^Q 在输入模式下,将其后的非打印字符作为正文插入^R 刷新屏幕^U 屏幕上滚一半,前面加数字时表示上滚的行数,此数字对以后的^D ^U 命令有效^V 在输入模式下,将其后的非打印字符作为正文插入^W 在输入模式下,使光标回退一个字^Y 显示屏幕底线之上的一行^Z 暂停编辑,退回上层Shell^[(ESC) 退出输入模式,回到命令模式! 暂时退出编辑,执行Shell命令(双引号) 用于标志有名缓冲区,编号缓冲区1-9用于保存被删去的正文,字母名缓冲区a-z供用户存放自定义的正文$ 将光标移动到当前行尾,前加数字则表示前移行数,如2$表示移动到下一行行尾% 将光标移动到配对的小括号()或大括号{}上去( 退回句子开头) 前移到句子开头- 退到上一行第一个非空格字符. 重复上一次改变缓冲区内容的命令/ 模式向前搜索模式,将光标移动到模式出现处,模式是一个正规表达式,(参看grep) :在屏幕底部提示:,其后可使用ex命令? 功能同/ ,但方向是向前查找[[ 光标回退至前一节分界处\ 转意符]] 光标前移至节分界处^(不是CTRL) 光标移至当前行第一个非空字符上‘ 连续两个'’表示将光标移至其移动前的位置,’后跟字母表示光标字母标记的行首(参看m 命令)A 在行尾插入正文,进入输入模式B 光标回退一个字C 替换光标后的内容D 删除光标后的内容E 光标前移到字尾F 字符在当前行向左查找指定字符G 光标移动到其前面数字指定的行,若未指定则移动到最后一行H 光标移动到屏幕顶行,若前面有数字,则移动到屏幕上该数字指定的行I 在行开头插入正文J 连接两行,若前面有数字则连接数字指定的行L 光标移动到屏幕底行,若前面有数字,则移动到屏幕底线往上数该数字指定的行M 光标移动到屏幕中线N 使用模式查找/或?时,重复找下一个匹配的模式,但方向与上次相反,其功能同n ,但方向相反O 在当前行上开辟一新行P 将上次被删除的正文插入光标前面,可在其前面加缓冲区编号,编号1-9用于保存被删去的正文,字母名缓冲区a-z供用户存放自定义的正文Q 从vi 推出进入ex命令状态R 替换字符串S 替换整行T 字符向左查找字符U 将当前行恢复至第一次修改前的状态W 光标移至下一个字首X 删除光标前的字符Y 将当前行存入无名缓冲区,前面加数字表示存入的行数,也可用有名缓冲区来保存,以后可用命令p或P将其取出ZZ 存盘退出via 光标后插入正文b 光标回退至上一个字首cw 替换当前字c) 替换当前句子dw 删除一个字dd 删除一行e 光标移到下一个字末f 字符在当前行向前查找字符h 光标左移一格i 在光标前插入正文j 光标下移一行k 光标上移一行l 光标右移一格m 字母用字母标记当前行,以后可用‘字母使光标移动到当前行,(参看’命令) n 重复上次/ 或? 命令o 在当前行下开辟一新行p 将用户缓冲区内容放到光标位置(参看P命令)r 替换当前字符s 用一串字符替换当前字符t 字符光标移动至字符前u 取消上次操作w 光标移至下一字首x 删除当前字符yw 将当前字存入无名缓冲区,前面可加x,表示存入名字为x的有名缓冲区(x为a-z),也可加数字表示存入的字数,以后可用P或p 命令取出yy 将当前行存入无名缓冲区,用法参看yw{ 光标移动至前一段开头| 光标移至行首,若前面加数字,则移到数字指定行的行首} 光标移至下一段开头在:提示符下,常用命令如下::w 当前文件存盘:w! 强制存盘:w 文件将内容写入指定文件:w! 文件强制写入指定文件:x,y w 文件将x至y 行写入指定文件中:r 文件将文件读到光标位置:r ! 命令将系统命令的输出读到光标位置:q 退出编辑:q! 强制退出:x 与命令ZZ相同:e 文件名编辑另一文件:e ! 重新编辑文件,放弃任何改变:sh 执行sh,结束后回到编辑:! 命令执行命令后回到编辑:n 编辑下一文件:n 文件表重新定义待编辑文件表:set 设置vi 的选项,例如set nu 表示每行前显示行号,在选项前加no则表示清除该选项,例如set nonu 表示每行前不显示行号,下面是一些常用的选项:ai 自动缩进aw 编辑下一文件前自动存盘ic 查找字符串时不区分大小写nu 每行前显示行号sm 输入)及}时显示与之配对的( 或{slow 插入时延迟屏幕刷新ws 使查找能绕过文件尾从头进行wa 写文件之前不作对文件的检查:s/old/new用new替换行中首次出现的old:s/old/new/g 用new替换行中所有出现的old:#,# s/old/new/g用new替换从第#行到第#行中出现的old:% s/old/new/g用new替换整篇中出现的old如果替换的范围较大时,在所有的命令尾加一个c命令,强制每个替换需要用户进行确认,例如:s/old/new/c 或s/old/new/gcu 取消操作i插入命令a附加命令o打开命令c修改命令r取代命令s替换命令Esc退出命令G文件尾行1G文件首行#G 文件的#行:set nu :set nonu 显示行号不显示行号Vi 是一个历史悠久且功能强大的UNIX 文书编辑器。

全屏编辑器vi的使用

全屏编辑器vi的使用

全屏编辑器vi的基本操作vi是“Visual interface”的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作。

4.1.2进入和退出编辑器vi(1)要进入vi可以直接在系统提示符下键入:vi 文件名称例如:打开当前目录中的diff1.txt文件。

命令如下:[globus@wang globus]$ vi diff1.txt屏幕如下:He is agood sense of humor.He tells good stories.King is virtually inescapable.~~“diff1.txt”[已转换] 4L,110C //该行为状态行,表示文件共4行,110个字符。

进入vi之后,首先进入的是命令模式,也就是说等待命令输入而不是方便输入。

这时输入的字符都将作为命令来解释。

(2)要离开vi可以在指令模式下键入:q,:wq指令则是存盘后再退出。

Vi存在两种模式:命令模式和输入模式。

在命令模式下输入的按键符将作为指令来处理,如输入a,vi就认为是在当前位置插入字符。

而在输入模式下,vi则把输入的按键当作插入的字符来处理。

指令模式切换到输入模式只需键入相应的命令即可,而要从输入模式切换到指令模式,中需要输入模式下按ESC键。

4.1.3进入输入模式、删除和修改(1)切换到输入模式●新增(append)按a键。

从光标所在位置后面开始输入新文本按A键。

从光标所在位置前面开始输入新文本●插入(insert)按i键。

从光标所在位置前面开始插入文本按I键。

从光标所行的第一个字符前开始插入文本●新添一行(open)按o键。

从光标所在行下方新增一行并进入输入模式按O键。

从光标所在行上方新增一行并进入输入模式(2)删除与修改在命令模式下,删除和修改命令如下:●按x键。

删除光标处的一个字符●按dd键。

删除光标所在的行●按r键。

替换光标处的一个字符●按R键。

逐字符替换光标后的文本,直到按ESC键为止。

vi编辑器替换字符串

vi编辑器替换字符串
பைடு நூலகம்
4. 其它用法
利用 :s 命令可以实现字符串的替换。具体的用法包括:
:s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1
:s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
1. 基本的替换
:s/vivian/sky/ 替换当前行第一个 vivian 为 sky
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky
:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky
(n 为数字,若 n 为 .,表示从当前行开始到最后一行)
:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky
:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上
从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

Linux:vi查找yu替换命令详解

Linux:vi查找yu替换命令详解

三、简单的vim正则表达式规则
在vim中有四种表达式规则:
magic(\m):除了$.*^之外其他元字符都要加反斜杠
nomagic(\M):除了$^之外其他元字符都要加反斜杠
\v(即 very magic 之意):任何元字符都不用加反斜杠
\V(即 very nomagic 之意):任何元字符都必须加反斜杠
推荐使用默认的magic设置,在这种情况下,常用的匹配有:
1: /\<abc #查找以test开始的字符串 2: /abc\> #查找以test结束的字符串 3: 4: $ 匹配一行的结束 5: ^ 匹配一行的开始 6: \< 匹配一个单词的开始,例如/\<abc<Enter>:查找以abc开始的字符串 7: \> 匹配一个单词的结束,例如/abc\><Enter>:查找以abc结束的字符串 8: 9: * 匹配0或多次10: \+ 匹配1或多次11: \= 匹配0或1次12: 13: . 匹配除换行符以外任意字符 14: \a 匹配一个字符15: \d 匹配任一数字 16: \u 匹配任一大写字母17: 18: [] 匹配范围,如t[abcd]s 匹配tas tbs tcs tds19: \{} 重复次数,如a\{3,5} 匹配3~5个a20: \( \) 定义重复组,如a\(xy\)b 匹配ab axyb axyxyb axyxyxyb ...21: \| 或,如:for\|bar 表示匹配for或者bar22: 23: \%20c 匹配第20列24: \%20l 匹配第20行
如果上述方法无用,则正确的解决办法是:
1: tr -d “\r” < src >dest2: tr -d “\015″ dest3: 4: strings A>B
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

vi/vim 中可以使用:s 命令来替换字符串。

以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。

:s/vivian/sky/ 替换当前行第一个vivian 为sky
:s/vivian/sky/g 替换当前行所有vivian 为sky
:n,$s/vivian/sky/ 替换第n 行开始到最后一行中每一行的第一个vivian 为sky
:n,$s/vivian/sky/g 替换第n 行开始到最后一行中每一行所有vivian 为sky
n 为数字,若n 为.,表示从当前行开始到最后一行
:%s/vivian/sky/(等同于:g/vivian/s//sky/) 替换每一行的第一个vivian 为sky
:%s/vivian/sky/g(等同于:g/vivian/s//sky/g) 替换每一行中所有vivian 为sky
可以使用# 作为分隔符,此时中间出现的/ 不会作为分隔符
:s#vivian/#sky/# 替换当前行第一个vivian/ 为sky/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 来替换/ ):/oradata/apras/替换成/user01/apras1/
* ************************************
1.:s/vivian/sky/ 替换当前行第一个vivian 为sky
:s/vivian/sky/g 替换当前行所有vivian 为sky
2. :n,$s/vivian/sky/ 替换第n 行开始到最后一行中每一行的第一个vivian 为sky
:n,$s/vivian/sky/g 替换第n 行开始到最后一行中每一行所有vivian 为sky
(n 为数字,若n 为.,表示从当前行开始到最后一行)
3. :%s/vivian/sky/(等同于:g/vivian/s//sky/) 替换每一行的第一个vivian 为sky
:%s/vivian/sky/g(等同于:g/vivian/s//sky/g) 替换每一行中所有vivian 为sky
4. 可以使用# 作为分隔符,此时中间出现的/ 不会作为分隔符
:s#vivian/#sky/# 替换当前行第一个vivian/ 为sky/
5. 删除文本中的^M
问题描述:对于换行,window下用回车换行(0A0D)来表示,linux下是回车(0A)来表示。

这样,将window上的文件拷到unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。

·使用命令:cat filename1 | tr -d “^V^M”> newfile;
·使用命令:sed -e “s/^V^M//”filename > outputfilename。

需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。

你必须要手工进行输入,而不是粘贴。

·在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^V^M//。

·:%s/^M$//g
如果上述方法无用,则正确的解决办法是:
·tr -d "\r" < src >dest
·tr -d "\015" dest
·strings A>B
6. 其它
利用:s 命令可以实现字符串的替换。

具体的用法包括:
:s/str1/str2/ 用字符串str2 替换行中首次出现的字符串str1
:s/str1/str2/g 用字符串str2 替换行中所有出现的字符串str1
:.,$ s/str1/str2/g 用字符串str2 替换正文当前行到末尾所有出现的字符串str1
:1,$ s/str1/str2/g 用字符串str2 替换正文中所有出现的字符串str1
:g/str1/s//str2/g 功能同上
从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加g,表示只对搜索
字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

相关文档
最新文档