linux vi查找命令
 
div id="article_content" class="article_content">
 
使用vi编辑器编辑长文件时,常常是头昏眼花,也找不到需要更改的内容。
 
这时,使用查找功能尤为重要。
 
方法如下:  www.2cto.com  
 
1、命令模式下输入“/字符串”,例如“/Section 3”。
 
2、如果查找下一个,按“n”即可。
 
要自当前光标位置向上搜索,请使用以下命令:
 
/pattern Enter
 
其中,pattern表示要搜索的特定字符序列。
 
要自当前光标位置向下搜索,请使用以下命令:
 
?pattern Enter
 
按下 Enter键后,vi 将搜索指定的pattern,并将光标定位在 pattern的第一个字符处。
例如,要向上搜索 place一词,请键入:
  www.2cto.com  
vi 查找替换大全
 
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/  www.2cto.com  
 
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程序。  www.2cto.com  
 
· 使用命令: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
  www.2cto.com  
:.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1
 
:1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1
 
:g/str1/s//str2/g 功能同上
 
从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索
 
字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。
 
 
作者 kisshua

linux vi查找命令的更多相关文章

  1. linux中查找命令find、locate、whereis、which、type区别

    linux中查找命令find.locate.whereis.which.type区别 1. find Java代码 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/ ...

  2. Linux文件查找命令find,xargs详述【转】

    转自:http://blog.csdn.net/cxylaf/article/details/4069595 转自http://www.linuxsir.org/main/?q=node/137 Li ...

  3. linux:vi替换命令

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

  4. Linux下查找命令(收集整理)

    原文:http://blog.csdn.net/sunstars2009918/article/details/8510878 一.Linux查找文件的相关命令 常 用 命 令 简要中文说明 程序所在 ...

  5. Linux的查找命令

    1. 文件搜索find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find [搜索路径] [搜索条件][搜索文件名] 如果什么参数也不加,fi ...

  6. Linux搜索查找命令

    Linux搜索查找指令 find,用于在文件树中查找文件并作相应的处理 -name:按照文件名查找文件 -perm:按照文件权限查找文件 -user:按照文件属主来查找文件 -size:按照指定的文件 ...

  7. linux下查找命令总结

    查找命令总结,which,whereis,find,locate,type http://blog.csdn.net/jessica1201/article/details/8139249   1.f ...

  8. linux 如何查找命令的路径

    linux 下,我们常使用 cd ,grep,vi 等命令,有时候我们要查到这些命令所在的位置,如何做呢? linux下有2个命令可完成该功能:which ,whereis which 用来查看当 前 ...

  9. -Git Linux vi/vim 命令 按键 MD

    目录 目录 Linux vi/vim 简介 vi/vim 的使用 命令模式 输入模式 底线命令模式 vi/vim 使用实例 使用 vi/vim 进入一般模式 按下 i 进入输入模式,开始编辑文字 按下 ...

随机推荐

  1. 栈的链式存储 - API实现

    基本概念 其它概念详情參看前一篇博文:栈的顺序存储 - 设计与实现 - API实现 这里也是运用了链表的链式存储API高速实现了栈的API. 代码: // linkstack.h // 链式存储栈的A ...

  2. location.href的用户总结

    *.location.href 使用方法: top.location.href="url"          在顶层页面打开url(跳出框架) self.location.href ...

  3. android 55

    智能家居:可以联网可以用指令操作可以返回状态.智能微波炉智能眼镜智能手表. Android作者Andy Rubin,2007年正式由谷歌推广,开源的. 安卓体系结构和开发一个闹钟的调用结构图: 安卓和 ...

  4. android 33 对话框控件

    对话框控件:最多3个按钮. mainActivity.java package com.sxt.day05_09; import android.app.Activity; import androi ...

  5. HTML表单介绍

    表单语法结构如下: <form action="url" method="get|post" name="value" enctype ...

  6. freemarker if..else.. 的使用

    FreeMarker是一款模板引擎,今天在做Pad端的时候正好用到,用法非常简单: 在xml配置页面的文件中,直接使用 <#if 1=1> //条件成立要显示的内容 </#if> ...

  7. JS 拼凑字符串

    和Java一样,JS中直接用"+"号拼凑字符串是很耗费资源的,所以在大量拼凑字符串的情景中,我们也需要一个类似于StringBuffer的工具, 下面利用Array.join()方 ...

  8. (转)if语句优化

    一.使用常见的三元操作符  if (foo) bar(); else baz(); ==> foo?bar():baz(); if (!foo) bar(); else baz(); ==> ...

  9. 解决Chrome谷歌浏览器不支持CSS设置小于12px的文字

    在最新版的谷歌里.已经不在支持这个属性啦 谷歌浏览器Chrome是Webkit的内核,有一个 -webkit-text-size-adjust 的私有 CSS 属性,通过它即 可实现字体大小不随终端设 ...

  10. Python - BeautifulSoup 安装

    BeautifulSoup 3.x 1. 下载 BeautifulSoup. [huey@huey-K42JE python]$ wget http://www.crummy.com/software ...