??xml version="1.0" encoding="utf-8" standalone="yes"?>午夜精品久久久久久不卡8050,精品电影一区二区三区,欧美黄色网页http://www.aygfsteel.com/jlin/category/53795.htmlzh-cnTue, 06 Jun 2017 07:12:01 GMTTue, 06 Jun 2017 07:12:01 GMT60linux grep命o详解-?/title><link>http://www.aygfsteel.com/jlin/archive/2017/06/04/432581.html</link><dc:creator>fly</dc:creator><author>fly</author><pubDate>Sun, 04 Jun 2017 06:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/jlin/archive/2017/06/04/432581.html</guid><wfw:comment>http://www.aygfsteel.com/jlin/comments/432581.html</wfw:comment><comments>http://www.aygfsteel.com/jlin/archive/2017/06/04/432581.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jlin/comments/commentRss/432581.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jlin/services/trackbacks/432581.html</trackback:ping><description><![CDATA[     摘要: ?grep (global search regular expression(RE) and print out the line,全面搜烦正则表达式ƈ把行打印出来)是一U强大的文本搜烦工具Q它能用正则表辑ּ搜烦文本Qƈ把匹配的行打印出来?Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很不同。egrep是grep的扩展,支持?..  <a href='http://www.aygfsteel.com/jlin/archive/2017/06/04/432581.html'>阅读全文</a><img src ="http://www.aygfsteel.com/jlin/aggbug/432581.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jlin/" target="_blank">fly</a> 2017-06-04 14:53 <a href="http://www.aygfsteel.com/jlin/archive/2017/06/04/432581.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux~程介——VI(?http://www.aygfsteel.com/jlin/archive/2015/01/27/422459.htmlflyflyTue, 27 Jan 2015 02:07:00 GMThttp://www.aygfsteel.com/jlin/archive/2015/01/27/422459.htmlhttp://www.aygfsteel.com/jlin/comments/422459.htmlhttp://www.aygfsteel.com/jlin/archive/2015/01/27/422459.html#Feedback0http://www.aygfsteel.com/jlin/comments/commentRss/422459.htmlhttp://www.aygfsteel.com/jlin/services/trackbacks/422459.html

VI是Linux/Unix下标配的一个纯字符界面的文本编辑器。由于不支持鼠标功能Q也没有囑Ş界面Q相关的操作都要通过键盘指o来完成,需要记忆大量命令。因此很多h不大喜欢它,但同时由于键盘的方式往往比鼠标来得快Q一旦熟l后用v来是有种非常畅的感觉的Q也有h因此而非常喜Ƣ它?/p>

不管你喜Ƣ也好,不喜Ƣ也好,VI是Linux的标配编辑器Q很多时候你也只有这一个编辑器可用Q如果要做一个Linux CoderQ熟悉VIq是非常有必要的?/p>

PSQ由于VI的命令非常多Q本文主要只介绍一些基命o。ƈ且就是q些基础命o中,也有许多是不大常用的Q我把q些命o以灰色文字显CZQ初学者可以不用太xq些灰色命o?/p>

 

两种工作模式

前面已经说过Q由于VI没有囑Ş界面Q如页、移动光标、保存、退出等操作都必d助键盘来完成。另外,VIq提供了大量快捷键来加速操作,因此QVIl的~辑模式下,q引入了一U新的工作模?#8212;—命o模式?/p>

  • ~辑模式Q?/strong> 在此模式下,输入可见字符时和传统Windows环境下输入字W的功能相同。按Esc键可切换值命令模式?/span>
  • 命o模式Q?/strong> 在此模式下,输入的可见字W对应的是命令。当插入命o执行后进入编辑模式?/span>

PSQ有的文章中q列举了一ULast Line模式Q这个可以算作一U特D的命o模式Q只不过命o会显C在最后一行,q且需要敲回R才能执行。这些命令通常?:/?$ {特D字W开头?/p>

模式查询Q?/span>要判断当前处于U模式,可以通过最后一行(状态栏Q来判断Q如果处于编辑模式,则显CZؓ如下两种状态?/p>

            

模式间的切换Q?/span>在编辑模式下Q通过Esc键可以进入命令模式;命o模式下,执行某些插入命o后进入编辑模式。如果你不知道当前处于U模式下Q?span style="box-sizing: border-box; color: #70ad47;">按ESCq入命o模式Q?span style="box-sizing: border-box; color: #ed7d31;">按Insertq入~辑模式?/p>

 

启动VI

VI的启动参数有不少Q但通常的用方式如下:vi filename

如果参数中的文g存在Q则打开该文Ӟ如果参数中的文g不存在,则会新徏该文Ӟ不是立即创徏Q而是在保存的时候创建)?/p>

 

插入文本

刚进入VIӞ是出于命令模式的Q这是是无法输入文本的,因此需要进入插入模式。进入插入模式的命o有如下几个:

  • i    从目前光标所在之处插入文?/span>
  • a    从目前光标所在下一个字W插入文?/span>
  • o    往下插入一个空?/span>
  • O    往上插入一个空?/span>

输入q几个命令后Q就q入了编辑模式,可以通过屏幕下方最后一行看到当前ؓ插入状态:

    

可以通过Insert键切换插入状态和改写状态(和图像界面中一P?/p>

    

另外Q在命o模式下,也可以通过Insert键进入编辑模式(插入状态)Q不q通常q是前面介绍的四个命令来q入~辑模式?/p>

 

d和保存文?/strong>

在VI中,d和保存文件对应的命o有这几个Q用前记得q入命o模式Q?

  • :w            保存
  • :w filename     另存?/span>
  • :wq            保存q?span style="box-sizing: border-box; color: #ed7d31;"> [常用]
  • :q!            强制退?/span>
  • SHIFT+zz        保存q出,功能?wq [常用]

 

Ud光标

在VI中,Ud光标q不是我们游戏中常用的WASDQ而是h?/span>j?/span>k?/span>lQ分别控制光标左、下、上、右UM?/span>Q分别分布在x四个指头Q新手需要一D|间来适应。用非帔RJ,需要熟l掌握?/span>

其它一些光标控制命令如下:

  • Ctrl+BQ屏q往后移动一c?/span>
  • Ctrl+FQ屏q往前移动一c?/span>
  • Ctrl+UQ屏q往后移动半c?/span>
  • Ctrl+DQ屏q往前移动半c?/span>
  • ggQ移动文章的开头?/span>
  • GQ移动到文章的最后?/span>
  • wQ光标蟩C个word的开头?/span>
  • eQ光标蟩C个word的字?/span>
  • bQ光标回C个word的开头?/span>
  • $Q移到光标所在行的行?/span>
  • ^Q移到该行第一个非I白的字W?/span>
  • 0Q移到该行的开头位|?/span>
  • #Q移到该行的W?个位|,例:51?21?/span>

另外Q还有几个行操作相关命o集中介绍一?/p>

  • :set nu        昄行号
  • :set nonu        隐藏行号
  • :#            Ud到第#行,?15
  • Ctrl+GQ?    在状态栏昄当前q度
  • #GQ?nbsp;       Ud到第#行,例:15G

 

删除文字

  • xQ删除光标所在位|的后面一个字W?/span>
  • #xQ例如,6x 表删除光标所在位|的后面6个字W?/span>
  • XQ大字的XQ每按一ơ删除光标所在位|的前面一个字W?/span>
  • #XQ例如,20X 表删除光标所在位|的前面20个字W?/span>
  • ddQ删除光标所在行?/span>
  • #ddQ例如,6dd表删除从光标所在的该行往下数6行之文字?/span>

 

复制_脓

我个人ƈ不是很习惯VI提供的复制粘_׃没有高亮选中Q用h感觉不是很方ѝ^时大都是用的l端工具的复制粘贴功能,因此q里的命令我都加CQ感兴趣的可以看看?/p>

  • ywQ将光标所在处到字字符复制到缓冲区中?/span>
  • pQ将~冲区内的字W粘贴到光标所在位|?指o'yw'?p必须搭配使用)?/span>
  • yyQ复制光标所在行。[常用]
  • pQ复制单行到您想_脓之处?指o'yy'?p'必须搭配使用)
  • #yyQ如Q?yy表示拯从光标所在的该行往下数6行之文字。[常用]
  • p: 复制多行到您想粘贴之处?指o'#yy'?p'必须搭配使用)
  • ayyQ将复制行放入buffer a, vi提供buffer功能Q可常用的数据存在buffer
  • apQ将攑֜buffer a的数据粘贴?/span>
  • b3yyQ将三行数据存入buffer b?/span>
  • b3pQ将存在buffer b的资料粘?/span>

 

撤销和重?/strong>

撤销和重做在M~辑器里都是非常有用的命令:

  • uQ假如您误操作一个指令,可以马上按uQ回复到上一个操作?/span>
  • .Q?重复执行上一ơ的指o

 

查找和替?/strong>

查找和替换的语法W记复杂Q先单的介绍一下查扄语法Q?/p>

  • /pattern<Enter> Q向下查找pattern匚w字符?/span>
  • ?pattern<Enter> Q向上查找pattern匚w字符?/span>

使用了查扑֑令之后,使用如下两个键快速查找:

  • nQ按照同一方向l箋查找
  • NQ按照反方向查找

至于替换的语法,限于幅所限,q里׃介绍了,l一个链接供大家参考一下:http://blog.csdn.net/lanxinju/article/details/5731843?/p>

 

VI对编E的支持

VI对编E还是提供了一定的支持的。例如,它是支持括号配对、语法高亮显C的?/p>

不过Q由于ƈ不支持语法解析功能,作ؓ~码工具和专业的代码~辑器如SourceInsight、VisualStudio{比hq是有很大差距的。个人感觉做型目和时修改代码用q行Q但做大型项目是有点力不从心的?/p>

fly 2015-01-27 10:07 发表评论
]]>
վ֩ģ壺 ̨| | | ͷ| ¡| ɳ| | ٰ| | | | ɳ| | | ӽ| Ͻ| ƽ| | ͷ| ī| | | | | | | ӽ| | | | ʯ| | Ϫ| ƽ| | ƽ| | | | | |