`

Vim_查找替换

    博客分类:
  • Vim
 
阅读更多

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_configure

    - Vim拥有众多优秀的插件,如NERDTree(文件树视图)、FZF(模糊查找)、ALE(自动代码检查)等,它们能增强vim的功能和用户体验。 - 安装插件通常使用Vundle或NeoBundle这样的管理工具。首先,我们需要将这些管理...

    vim_for_linux.zip

    关于插件,Vim拥有丰富的插件生态系统,例如NERDTree用于文件浏览器,GitGutter显示代码差异,CtrlP实现快速文件查找,YouCompleteMe提供智能代码补全等。这些插件极大地提升了Vim的生产力。"vim_for_linux.zip"可能...

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

    3. **底行模式**:通过`:`键进入,用于执行保存、查找替换、退出等命令。 **四、基本操作** 1. **打开文件**:`vim 文件名` 命令用于打开一个文件进行编辑。 2. **移动光标**:`h`左移,`j`下移,`k`上移,`l`右移...

    Vim实用技巧.pdf_vim实用_vim_

    5. **查找与替换**:`/`后输入要查找的文本进行查找,`n`和`N`分别用于向后和向前查找下一个匹配项。`:s/old/new/g`替换所有"old"为"new",`:%s/old/new/g`全局替换。 6. **撤销与重做**:`u`撤销上次操作,`Ctrl +...

    vim_oming2 tool of vim tar

    7. **搜索和替换**:增强的查找和替换功能,支持正则表达式,可以进行复杂的文本操作。 8. **插件管理器**:如Vundle或Pathogen,用于便捷地安装、更新和管理Vim插件。 9. **映射和宏**:自定义快捷键和录制宏,实现...

    linux_vim_最新更新

    - 一些流行插件包括:NERDTree(文件系统树视图),TagBar(显示代码标签),YouCompleteMe(智能代码补全),CtrlP(模糊查找文件),vim-airline(状态栏增强)。 5. **Vim的配色方案** - Vim支持多种配色方案...

    vim_cheat_sheet_for_programmers_print

    5. **查找与替换**: - `/关键词`:向前查找关键词。 - `?关键词`:向后查找关键词。 - `:s/旧字符串/新字符串/g`:全局替换旧字符串为新字符串。 6. **撤销与重做**: - `u`:撤销上次操作。 - `Ctrl + r`:...

    vim_test_linux.rar

    6. **查找与替换**:在正常模式下,输入`/`后输入要查找的文本,回车搜索;`:s/old/new/g`替换所有`old`为`new`。 7. **撤销与重做**:`u`撤销上一步操作,`Ctrl + r`重做。 8. **帮助文档**:在正常模式下,`:...

    Vim基本操作思维导图.zip_linux_vim_vim 思维导图_vim思维导图_wagonjag

    6. **查找与替换** - `/关键词`:向前查找关键词。 - `?关键词`:向后查找关键词。 - `:s/原词/新词/g`:全局替换所有原词为新词。 7. **撤销与重做** - `u`:撤销上一次操作。 - `Ctrl + r`:重做被撤销的...

    vi中文手册vim_user_manual

    此外,VIM还支持正则表达式的搜索和替换,如`/pattern`查找模式,`:%s/pattern/replacement/g`全局替换。 在编程方面,VIM提供了代码自动完成、语法高亮和代码折叠等功能,极大地提高了开发效率。例如,通过`:set ...

    byte_of_vim_v051

    5. **搜索与替换**:在文档中查找和替换文本的方法。 6. **多窗口管理**:使用Vim进行多窗口编辑的方式。 7. **实用技巧**:提高工作效率的小技巧。 #### 三、面向进阶用户的第二部分 第二部分面向已经掌握基本...

    vim_命令手册

    Vim提供了强大的查找和替换功能,让用户能够快速定位文本并进行替换。 - **/text**: 用于在文件中向前查找包含`text`的内容。例如,输入`/search_text`会在文件中查找包含“search_text”的位置。 - **?text**: 在...

    VIM中文手册 vim_user_manual.pdf

    - **末行模式**: 通过键入`:`, 用户可以进入末行模式,执行更复杂的命令,如查找替换、保存文件等。 - **命令操作**: - 移动光标: `h`向左移动一格,`j`向下移动一行,`k`向上移动一行,`l`向右移动一格。 - 删除...

    Vim实用技巧_vim_

    5. **查找与替换** - 查找:在底线命令模式输入`/`加关键字,`n`查找下一个,`N`查找上一个。 - 替换:`:s/old/new/g`将所有出现的"old"替换为"new"。 6. **可视模式** - 使用`v`进入可视模式,可以高亮选择文本...

    vim_cheat_sheet_for_programmers_bnw.pdf

    1. 查找:普通模式下使用/键开始查找,然后输入关键字,n键查找下一个匹配,N键查找上一个匹配。 2. 替换:使用:s/要替换的字符串/新字符串/格式进行替换。使用g:s/要替换的字符串/新字符串/g来全局替换。 3. 书签与...

    vimusermanual_vim_

    查找与替换** - 查找:使用/命令查找特定文本,例如 `/text` 来查找"文本"。 - 替换:`:s/old/new` 替换当前行中的第一个匹配项,`:s/old/new/g` 替换所有匹配项。 **4. 文件操作** - 保存与加载:`:w` 保存...

    vim_config.zip

    - **查找与替换**:`:/{pattern}`进行查找,`:s/{pattern}/{replacement}`进行替换,`:g/{pattern}/cmd`在整个文件中执行命令cmd。 - **语法高亮**:Vim内置了许多语言的语法高亮,通过`set syntax=&lt;language&gt;`激活...

    vi_vim_user_manual中文版

    查找与替换** - `/pattern`查找模式。 - `:n1,n2s/pattern/replacement/g`在行n1到n2之间替换所有pattern为replacement。 - `:%s/pattern/replacement/g`全局替换所有pattern。 **6. 编辑配置** Vim的配置文件是`....

    vim_doc.rar_doc

    查找与替换 在正常模式下,输入`/`开始查找,输入要查找的文本,按`Enter`。替换使用`:s/old/new/g`,`g`表示全局替换。 ### 6. 撤销层次 Vim的撤销操作不仅仅是一步一步的,而是按照操作的层次进行。`u`恢复...

    vi_vim_awk_sed_grep_find_超级达人学习包

    `sed命令.pdf`可能包含了`sed`的常用命令和操作,例如替换、删除、打印等,这对于日志分析、文本替换等任务非常实用。 `grep`是Global Regular Expression Print的缩写,用于在文件中搜索特定模式的行。`Grep学习...

Global site tag (gtag.js) - Google Analytics