Linux下VI编辑器用法深度解析


Linux下VI编辑器用法深度解析
 
1. vi 编辑器的使用
   vi 是标准的 Linux 文本编辑程序
   不是基于窗口的  www.2cto.com  
   多用途编辑程序,可以再各种终端上编辑各式各样的文件
   多种系统上都可以使用,比如 Solaris、AIX、HP-UNIX、RedHat 等操作系统上都可以使用
1.1 vi finename
   如果 filename 已经存在,vi 会打开现存的文件
   如果 filename 不存在(尚未创建),vi 会创建名为 filename 的文件。
   filename 如果包含路径,则 filename 还有当前路径和相对路径区分,如果不包含路径则
   会在当前路径下创建该文件。
1.2 vi 的三种模式
1.2.1 输入模式:输入文本(编辑模式)
   运行 vi 编辑器时,通常首先进入的是命令模式,可以键入如下命令使编辑器进入输入模式:  www.2cto.com  
      I  在命令模式下输入 I,可在行首插入文本
 i  在命令模式下输入 i,可在光标的左边插入文本
      A  输入 A 可在一行的结尾处添加文本
 a  输入 a 可在光标的右边处插入文本
      O  在当前光标位置上面打开一行并提示输入
 o  在当前光标位置下面打开一行并提示输入
 u  撤销前一个命令:在最后一个命令之后立即输入 u 可以撤销该命令的操作,比如撤销输入
 .  重复执行某个命令
 U  可以使用 U 来撤销你对一行所做的所有更改
    注意:仅当你尚未将光标移动到您所编辑的行以外的地方时,才可以使用 U 命令进行撤销
    使用方法:当你在vi输入模式下输入一行后,如果你想撤销该输入,请在输入后保持光标在
在该行(千万不要移动到该行以外再移回来,那样做也是无用功),然后按 Esc 键将vi编辑
器的输入模式切换到命令模式,然后再按 U 撤销该行的输入。
1.2.2命令模式:执行命令
   当 vi 编辑器处于输入模式下时,按键盘上的 Esc 键可以进入命令模式
   在命令模式下,可以输入命令来执行各种多种功能,大多数 vi 命令都是由一个或两个字母
   加上一个可选数字组成。
   以下是以冒号开头的命令
      :w  +回车 保存不退出
 :wq +回车 保存并退出
 :x  +回车 保存并退出(强制)
 :q! +回车 不保存退出
 :q! +回车 不保存退出(强制)
   在非输入模式(编辑模式)下,如何在文件中移动光标:
   h: 向左移动一个字符  www.2cto.com  
   l: 向右移动一个字符
   j: 向下移动一行
   k: 向上移动一行
   这四个键一般不推荐使用,推荐使用键盘上的上、下、左、右箭头
   ^:(Shift+6)移动到当前行的开头处
   $:(Shift+4)移动到当前行的末尾处
   H: 使光标移动到屏幕的顶部
   M: 使光标移动到屏幕的中部
   L: 使光标移动到屏幕的底部
   G: 使光标移动到文件的尾部
   Page Up: 向上翻页一屏
   Page Down:向下翻页半屏
   x:删除一个字符
   dd:删除一行
   ndd: (n 为行数)删除 n 行
   yy:复制一行
   p:粘贴
   x/dd/ndd+p:移动文本内容:使用 x/dd/ndd 先将要移动的内容删除,然后再按 p 粘贴即可
   :r filename 复制指定文件 filename 的内容
      使用方法:在要插入文本的地方(光标处)输入 :r filename + 回车即可。
   /: 查找字符串
      使用方法:输入/,并在/后面输入要查找的字符串,然后按回车即可查找输入的字符串
                /str_to_find + 回车
                输入 n 可以跳转到该字符串的下一个出现处
                输入 N 可以跳转到该字符串的上一个出现处
     www.2cto.com  
   高级用法:替换字符串
   :s/old/new   将一行内的头一个字符串old替换为新字符串new
   :s/old/new/g 将一行内所有的字符串old替换为新字符串 new
   :#,#s/old/new/g 将两行内的所有字符串old替换为新字符串new
   :%s/old/new/g 将文件内所有的字符串old替换为新字符串new
   :%s/old/new/gc 加入c选项可在执行上面的:%s/old/new/g操作时询问用户确认每个替换操作
 
   设置 vi
   :set nu        设置行标(行号)
   :set nonu      取消行号显示
   :set showmode  设置显示用户模式
   :set readonly  设置文件只读
   末行模式:执行特定命令
 

相关内容

    暂无相关文章