`
gogomarine
  • 浏览: 100444 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

vi替换(substitute)命令

阅读更多

vi是个非常好用有用的linux 文本编辑工具,而文本替换也是非常常用的功能。

下面是一些,基本的命令格式:

 

:[range]s/pattern/string/[c,e,g,i]

 

参数详情:

 

range 指的是範圍,1,7 指從第一行至第七行,1,$ 指從第一行至最後一行,也就是整篇文章,也可以 % 代表。 % 是目前編輯的文章,# 是前一次編輯的文章。
pattern 就是要被替換掉的字串,可以用 regexp 來表示。
string 將 pattern 由 string 所取代。
c confirm,每次替換前會詢問。
e 不顯示 error。
g globe,不詢問,整行替換。
i

ignore 不分大小寫。

 

  •  %s/s1/s2/       用字符串s2每行替换s1的第一个字符串s1  
      如:  
      hello ok 
      hello hello ok
      输入命令 :%s/hello/gogo
      会变成:
      gogo ok
      gogo hello ok

  •    %s/s1/s2/gc   用字符串s2每行替换s1的所有字符串s1 
      如:  
      hello ok 
      hello hello ok
      输入命令 :%s/hello/gogo
      会变成:
      gogo ok
      gogo gogo ok

      但是:系统会提示你,replace with gogo (y/n/a/q/l/^E/^Y)?  输入y即可替换
  •   :n,$s/s1/s2/     用字符串s2 替换从n行开始到最后一行,每行的第一个字符串s1
  •   :n,$s/s1/s2/gc 用字符串s2 替换从n行开始到最后一行,所有字符串s1   
  •   :s/s1/s2          用字符串s2 替换当前行开始到最后一行,第一个字符串s1   
  •   :s/s1/s2/gc     用字符串s2 替换当前行开始到最后一行,所有字符串s1    
      但是系统会给提示  replace with gogo (y/n/a/q/l/^E/^Y)?  输入y即可替换
Other:
删除多余的空格
要删除这些每行后面多余的空格,可以执行如下命令:
:%s/\s\+$//
命令前面指明范围是 “%”,所以这会作用于整个文件。”substitute” 命令的匹配模式是
“\s\+$”。这表示行末($)前的一个或者多个(\+)空格(\s)。替换命令的 “to” 部分是空的:”//”。这样就会删除那些匹配的空白字符。

 

 

0
0
分享到:
评论

相关推荐

    Unix VI Manual

    Unix VI 编辑器是一款基于底层行...通过本文介绍的知识点,我们可以了解到 VI 的基本工作原理、各种操作模式、命令输入方法、文件操作命令以及搜索和替换文本的方法,这些都是使用 VI 编辑器进行高效文本编辑的基础。

    Vi-iMproved使用学习全集(pdf)

    `:global`命令可以对文件中的每一行执行特定命令,`:substitute`用于查找并替换文本。 八、可选项 Vim的配置非常灵活,通过`.vimrc`文件可以设置各种选项以定制个人工作环境。例如,`set number`显示行号,`set ...

    批量生成有序列号的命令

    vi中的替换命令(substitute)可以用于批量编辑,例如,通过正则表达式匹配特定模式,然后将其替换成新的字符串。具体命令格式为: ``` :[range]s/[pattern]/[replacement]/[flags] ``` 其中,`[range]`指定要操作...

    VIM用户手册

    进行向前和向后搜索,使用 :substitute 命令进行替换操作。 4. **撤销与重做**:介绍VIM的撤销和重做机制,如何通过 .u 和 .U 命令恢复误操作。 5. **多窗口编辑**:解释如何创建和管理多个编辑窗口,以及在窗口...

    Vim用户手册中文版

    ':substitute'命令实现全局替换,如':s/old/new/g'将所有'old'替换为'new'。 五、文件操作 ':e filename'打开新文件,':w'保存当前文件,':wq'保存并退出,':q!'不保存强制退出。':sp'或':vs'用于水平分割窗口,':...

    Vim 普通人的编辑利器

    3. **命令行**: Vim的命令行模式提供了丰富的文本处理命令,如`:delete`(删除行)、`:append`(在指定行后追加文本)、`:substitute`(替换文本)等。通过这些命令,用户可以高效地操作文件。 4. **插件支持**: ...

    vim高级使用技巧

    - `nmap <leader>p :let @* = substitute(@*,'[^[:print:]]','','g')<cr>"*p`:从剪贴板过滤非可打印字符后再粘贴。 4. **文本格式化** - `gq}`:重新格式化当前段落。 - `gqap`:格式化当前段落。 - `ggVGgq`...

    vim-secret:Vim的私人写模式

    虽然文件是只读的,但我们仍然可以使用`:global`命令进行全局搜索,或者`:substitute`命令进行替换。为了确保这些操作不会实际更改文件,我们需要在执行替换操作后撤销更改: ```vim function! PrivateReplace...

Global site tag (gtag.js) - Google Analytics