via: http://www.cnblogs.com/jianyungsun/archive/2011/03/20/1989276.html
vi/vim 中可以使用 :s 命令来替换字符串。该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询。
: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/
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. 替换确认
我们有很多时候会需要某个字符(串)在文章中某些位置出现时被替换,而其它位置不被替换的有选择的操作,这就需要用户来进行确认,vi的查找替换同样支持
例如
:s/vivian/sky/g 替换当前行所有 vivian 为 sky
在命令后面加上一个字母c就可以实现,即:s/vivian/sky/gc
顾名思意,c是confirm的缩写
7. 其它
利用 :s 命令可以实现字符串的替换。具体的用法包括:
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
:g/str1/s//str2/g 功能同上
从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作
相关推荐
- Vim拥有众多优秀的插件,如NERDTree(文件树视图)、FZF(模糊查找)、ALE(自动代码检查)等,它们能增强vim的功能和用户体验。 - 安装插件通常使用Vundle或NeoBundle这样的管理工具。首先,我们需要将这些管理...
关于插件,Vim拥有丰富的插件生态系统,例如NERDTree用于文件浏览器,GitGutter显示代码差异,CtrlP实现快速文件查找,YouCompleteMe提供智能代码补全等。这些插件极大地提升了Vim的生产力。"vim_for_linux.zip"可能...
3. **底行模式**:通过`:`键进入,用于执行保存、查找替换、退出等命令。 **四、基本操作** 1. **打开文件**:`vim 文件名` 命令用于打开一个文件进行编辑。 2. **移动光标**:`h`左移,`j`下移,`k`上移,`l`右移...
5. **查找与替换**:`/`后输入要查找的文本进行查找,`n`和`N`分别用于向后和向前查找下一个匹配项。`:s/old/new/g`替换所有"old"为"new",`:%s/old/new/g`全局替换。 6. **撤销与重做**:`u`撤销上次操作,`Ctrl +...
7. **搜索和替换**:增强的查找和替换功能,支持正则表达式,可以进行复杂的文本操作。 8. **插件管理器**:如Vundle或Pathogen,用于便捷地安装、更新和管理Vim插件。 9. **映射和宏**:自定义快捷键和录制宏,实现...
- 一些流行插件包括:NERDTree(文件系统树视图),TagBar(显示代码标签),YouCompleteMe(智能代码补全),CtrlP(模糊查找文件),vim-airline(状态栏增强)。 5. **Vim的配色方案** - Vim支持多种配色方案...
5. **查找与替换**: - `/关键词`:向前查找关键词。 - `?关键词`:向后查找关键词。 - `:s/旧字符串/新字符串/g`:全局替换旧字符串为新字符串。 6. **撤销与重做**: - `u`:撤销上次操作。 - `Ctrl + r`:...
6. **查找与替换**:在正常模式下,输入`/`后输入要查找的文本,回车搜索;`:s/old/new/g`替换所有`old`为`new`。 7. **撤销与重做**:`u`撤销上一步操作,`Ctrl + r`重做。 8. **帮助文档**:在正常模式下,`:...
6. **查找与替换** - `/关键词`:向前查找关键词。 - `?关键词`:向后查找关键词。 - `:s/原词/新词/g`:全局替换所有原词为新词。 7. **撤销与重做** - `u`:撤销上一次操作。 - `Ctrl + r`:重做被撤销的...
此外,VIM还支持正则表达式的搜索和替换,如`/pattern`查找模式,`:%s/pattern/replacement/g`全局替换。 在编程方面,VIM提供了代码自动完成、语法高亮和代码折叠等功能,极大地提高了开发效率。例如,通过`:set ...
5. **搜索与替换**:在文档中查找和替换文本的方法。 6. **多窗口管理**:使用Vim进行多窗口编辑的方式。 7. **实用技巧**:提高工作效率的小技巧。 #### 三、面向进阶用户的第二部分 第二部分面向已经掌握基本...
Vim提供了强大的查找和替换功能,让用户能够快速定位文本并进行替换。 - **/text**: 用于在文件中向前查找包含`text`的内容。例如,输入`/search_text`会在文件中查找包含“search_text”的位置。 - **?text**: 在...
- **末行模式**: 通过键入`:`, 用户可以进入末行模式,执行更复杂的命令,如查找替换、保存文件等。 - **命令操作**: - 移动光标: `h`向左移动一格,`j`向下移动一行,`k`向上移动一行,`l`向右移动一格。 - 删除...
5. **查找与替换** - 查找:在底线命令模式输入`/`加关键字,`n`查找下一个,`N`查找上一个。 - 替换:`:s/old/new/g`将所有出现的"old"替换为"new"。 6. **可视模式** - 使用`v`进入可视模式,可以高亮选择文本...
1. 查找:普通模式下使用/键开始查找,然后输入关键字,n键查找下一个匹配,N键查找上一个匹配。 2. 替换:使用:s/要替换的字符串/新字符串/格式进行替换。使用g:s/要替换的字符串/新字符串/g来全局替换。 3. 书签与...
查找与替换** - 查找:使用/命令查找特定文本,例如 `/text` 来查找"文本"。 - 替换:`:s/old/new` 替换当前行中的第一个匹配项,`:s/old/new/g` 替换所有匹配项。 **4. 文件操作** - 保存与加载:`:w` 保存...
- **查找与替换**:`:/{pattern}`进行查找,`:s/{pattern}/{replacement}`进行替换,`:g/{pattern}/cmd`在整个文件中执行命令cmd。 - **语法高亮**:Vim内置了许多语言的语法高亮,通过`set syntax=<language>`激活...
查找与替换** - `/pattern`查找模式。 - `:n1,n2s/pattern/replacement/g`在行n1到n2之间替换所有pattern为replacement。 - `:%s/pattern/replacement/g`全局替换所有pattern。 **6. 编辑配置** Vim的配置文件是`....
查找与替换 在正常模式下,输入`/`开始查找,输入要查找的文本,按`Enter`。替换使用`:s/old/new/g`,`g`表示全局替换。 ### 6. 撤销层次 Vim的撤销操作不仅仅是一步一步的,而是按照操作的层次进行。`u`恢复...
`sed命令.pdf`可能包含了`sed`的常用命令和操作,例如替换、删除、打印等,这对于日志分析、文本替换等任务非常实用。 `grep`是Global Regular Expression Print的缩写,用于在文件中搜索特定模式的行。`Grep学习...