vi编辑器的使用(翻阅和编辑代码)

摘要:
例如,h10yy将10行复制到寄存器h,hp将寄存器h的内容粘贴到光标上。Vifile在窗口中打开一个文件:spfile2:vspfile2以水平或垂直分割的方式在同一窗口中显示file2。效果如图所示。您可以使用CWW命令在文件之间切换,或使用CW+k、CW+j、CW+h、CW+l在当前文件的上下左右方向切换到文件窗口。接下来,命令I进入插入模式,然后输入注释“//”,最后按esc。

一,文字的粘贴复制与移动删除

  1>,粘贴与复制

    -----------------------------基本操作----------------------------------------------------

    在命令模式下,以光标所在位置为参考

    复制n个字符  --  nyl

    复制n个字     --  nyw

    复制n行        --  nyy

    粘贴出复制的内容  --  p

    -----------------------------寄存器相关---------------------------------------------------

    复制n行到寄存器?    --  ?nyy

    复制n个字到寄存器?   --  ?nyw

    复制n个字符到寄存器?  --  ?nyl

    粘贴出寄存器?中的内容    --  ?p

    (注,?为寄存器名字,用字母表示)

    例,h10yy 复制10行到寄存器h,hp 将寄存器h中的内容粘贴到光标处。

    ----------------------------VISUAL模式下复制选中内容--------------------------------------

    在命令模式下按‘V’进入VISUAL模式,方向键移动光标选中任何内容后

    y 复制

    d 剪切

    例,选中后的效果

    vi编辑器的使用(翻阅和编辑代码)第1张

    注,VISUAL模式中命令y或d后,会退回到vi的命令模式

    然后再命令模式下 p 粘贴到指定位置

    

    ----------------------------复制内容到指定行-----------------------------------------------

    复制n1n2行间的内容到n3行  --  :n1,n2 co n3

    

  2>,移动

    移动n1n2行间的内容到n3行  --  :n1,n2 m n3

  3>,删除

    在命令模式下,以光标所在位置为参考

    删除一个字 --  dw

    删除一字节   --  dl

    删除一字符   --  x

    删除一行  --  dd

    删除 n行  --  ndd

    删除n1到n2之间的内容(包括n1,n2)  --  :n1,n2 d   

    注,ndd删除n行时,删除的内容放到了1号寄存器中,可以使用命令 1p 将删除的内容粘贴出来。 

二,字符查找与替换

  搜索---------------------------------------------------------------------------------------

    向后搜索  --  /pattern

    向前搜索  --  ?pattern

    搜索与光标所在字符串相同的字符串  --   *

    pattern为匹配模式,可以为正则表达式。

    n 查找下一个,N查找上一个。

  替换----------------------------------------------------------------------------------------

    :s/p1/p2/      --当前行的第一个p1替换为p2

    :s/p1/p2/g    --当前行的所有p1替换为p2

    :%s/p1/p2/g   --每一行的所有p1替换为p2

    :n1,n2s/p1/p2/g   --n1,n2行之间的p1替换为p2

    :n:$s/p1/p2/g   --从第n行到最后一行的所有p1替换为p2

  

三,光标转跳与翻页

  在命令模式下,

  转跳到行首  --  gg

  跳转到第n行  --  :n

  转跳到最后一行  --  :$

  转跳到与光标所在括号相匹配的反括号  --  %

  转跳到光标所在行的行末        --  $

  前翻半屏  -- ctrl + u

  后翻半屏  -- ctrl + d

  打开文件并定位到第n行  --  vi path/file +n

四,多文件编辑

   vi file1 file2 在一个视窗中打开两个文件

  :n 显示下一个文件,:N显示上一个文件。

    CWW=ctrl+w+w

  按CWW可以在当前显示文件和ToolBar之间切换,如图:  

  vi编辑器的使用(翻阅和编辑代码)第2张

  当切换到ToolBar时,可以按TAB键在不同文件上切换,并按ENTER可以选择进入。

   vi file 在视窗中打开一个文件

   :sp file2

   :vsp file2

  分别以水平分割或者垂直分割的方式在同一个窗口显示file2,效果如图

vi编辑器的使用(翻阅和编辑代码)第3张

  可以使用CWW命令在文件间切换,或者使用CW+k ,CW+j ,CW+h ,CW+l 切换到当前文件的上、下、左、右方向的文件窗口。

五,常用命令

  FF 查看光标所在的函数

  :set nu    --显示行号

  :set nonu  --不显示行号

  :set nohls  --退出搜索标记

  :set hls    --添加搜索标记

  :ls      --查看当前缓冲区里的文件

  V       --进入行块选择模式

  ctrl+V    --进入列块选择模式

  esc      --进入命令模式

六,高级技巧

  -------------------------------多行的缩进方法-------------------------------------------------------

  光标所在行右移一个TAB  --  >>

  光标所在行左移一个TAB  --  <<

  光标所在的后n行右移一个TAB  --  n>>

  光标所在的后n行左移一个TAB  --  n<<   (注,包括光标所在行)

  -------------------------------编辑模式下的“自动补齐”------------------------------------------------

  说明,CX=ctrl +x  ,  CL=ctrl +l  以此类推......

  补全一个词  CP

  例子,编辑到第4行,写入一个f 后,CP命令,结果如图,自动列出之前出现过的以f开头的字符串,此时可以通过上下键移动选中想要输入的单词并按ENTER键

  完成输入。(此例选择flower)

  vi编辑器的使用(翻阅和编辑代码)第4张

  补全一行   CX+CL = ctrl +x+l

  例,编辑到第12行,输入if,CX+CL,如图,其余操作同上。

  vi编辑器的使用(翻阅和编辑代码)第5张

  抄写上一行对应的字符  --  CY

  抄写下一行对应的字符  --  CE

  

  -------------------------------------添加和移除多行注释-----------------------------------------------

  添加注释 ctrl+v +I+//(注释符)+esc

  ctrl+v  --开始选定注释内容,如图选中227行到250行。

  vi编辑器的使用(翻阅和编辑代码)第6张

  接着,命令 I  (注,大写I)进入insert模式,然后输入 注释符 “//”,最后按 esc。 结果如图

  vi编辑器的使用(翻阅和编辑代码)第7张

  删除注释  ctrl+v    +   d

  ctrl+v 选中多行注释符,d完成删除。

  -------------------------------------十六进制编辑模式-----------------------------------------------------------

  :%!xxd      切换到十六进制显示

  :%!xxd -r  切换回文本状态

  在十六进制显示下编辑时,只有同时改动右侧文本列和左侧对应的十六进制列后,再切换回文本状态,此时的改动才会生效,并通过:wq命令保存。

  这是通过调用外部程序xxd完成的。

免责声明:文章转载自《vi编辑器的使用(翻阅和编辑代码)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Spring Boot中@OneToMany与@ManyToOne几个需要注意的问题在Eclipse中使用JUnit4进行单元测试(图文教程一)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

第二章:Android Studio概述(一)[学习Android Studio汉化教程]

Android Studio是一个视窗化的开发环境。为了充分利用有限的屏幕空间,不让你束手束脚,Android Studio 在特定的时间仅仅显示一小部分可用窗口。  除了一些上下文敏感的窗口和上下文相关的窗口显示出来外,其他的仍旧隐藏,除非你主动打开它们。  或者相反,一些可见的窗口直到你主动隐藏它们。  为了充分利用Android Studio,你就需...

ubuntu 配置vim编辑器

 憋了很久,终于用上了unix下的vim 开发环境: 安装pydiction   pydiction用来实现代码补全和语法提示功能。pydiction不能通过apt安装,需要自行下载安装。 git clone https://github.com/rkulla/pydiction #https://github.com/ma6174/vim 看个人吧...

程序员为什么要学习vim?

vim是优秀程序员必须掌握的工具,如果你真正开始使用它,你会发现它并不会耗费你太多的时间成本。 文本编辑器是开发工具中最重要的工具 如同任何工具一样,如果你能随意拆解,随意组装,那你就能随意掌控它,按照你的需求随意打造它。别的编辑器太庞大,很难拆解,vim就是一个可以随意拆解和组装的编辑器。你能对它进行编程,深度控制它。 生产效率的提高,使用vim的生产...

事件编辑器ScriptCase中的PHP代码编辑器

工作之余抽点时光出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下事件编辑器     虽然ScriptCase已经将编程的工作量降到了非常低的地步,但仍然是答应开发人员在设计的时候停止代码编写的,毕竟有较为庞杂的业务是须要代码来实现的。所幸的是,ScriptCase在PHP的代码编写方面提供了一些非常便利的工具,即使是不太懂PHP的用户,...

使用小书匠编辑器将文章快速发布到各大主要博客平台

使用小书匠编辑器将文章快速发布到各大主要博客平台 小书匠 markdown 博客 wordpress metaweblogapi 目录: markdown 小(xiǎo)书(shū)匠(jiàng)编辑器 要求 如何通过小书匠编辑器将文章发布到自己博客系统上 如何个性化定制发布内容 使用小书匠编辑器将文章发布到博客的好处 markdown M...

关于arm板上ifup eth0出现问题的解决方法

最近在荔枝派zero板上做一个小项目,需要配置以太网。 驱动部分配置完成后,在终端命令下输入"ifup eth0",出现 Ignoring unknown interface eth0 搜索网上的一些解决方法: 1.在荔枝派终端下打开/etc/network/下的interfaces vi /etc/network/interfaces 2.添加这两行到i...