[转帖]   Linux 下 VI 编辑器用法深度解析_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
2
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3566 | 回复: 1   主题: [转帖]   Linux 下 VI 编辑器用法深度解析        下一篇 
guoyongwei
注册用户
等级:少校
经验:910
发帖:52
精华:6
注册:2013-3-11
状态:离线
发送短消息息给guoyongwei 加好友    发送短消息息给guoyongwei 发消息
发表于: IP:您无权察看 2013-3-14 10:05:29 | [全部帖] [楼主帖] 楼主

6. vi 编辑器的使用
   vi 是标准的 Linux 文本编辑程序
   不是基于窗口的
   多用途编辑程序,可以再各种终端上编辑各式各样的文件
   多种系统上都可以使用,比如 Solaris、AIX、HP-UNIX、RedHat 等操作系统上都可以使用

6.1 vi finename

   如果 filename 已经存在,vi 会打开现存的文件
   如果 filename 不存在(尚未创建),vi 会创建名为 filename 的文件。
   filename 如果包含路径,则 filename 还有当前路径和相对路径区分,如果不包含路径则
   会在当前路径下创建该文件。
6.2 vi 的三种模式
6.2.1 输入模式:输入文本(编辑模式)
   运行 vi 编辑器时,通常首先进入的是命令模式,可以键入如下命令使编辑器进入输入模式:
      I  在命令模式下输入 I,可在行首插入文本
 i  在命令模式下输入 i,可在光标的左边插入文本
      A  输入 A 可在一行的结尾处添加文本
 a  输入 a 可在光标的右边处插入文本
      O  在���前光标位置上面打开一行并提示输入
 o  在当前光标位置下面打开一行并提示输入
 u  撤销前一个命令:在最后一个命令之后立即输入 u 可以撤销该命令的操作,比如撤销输入
 .  重复执行某个命令
 U  可以使用 U 来撤销你对一行所做的所有更改
    注意:仅当你尚未将光标移动到您所编辑的行以外的地方时,才可以使用 U 命令进行撤销
    使用方法:当你在vi输入模式下输入一行后,如果你想撤销该输入,请在输入后保持光标在
在该行(千万不要移动到该行以外再移回来,那样做也是无用功),然后按 Esc 键将vi编辑
器的输入模式切换到命令模式,然后再按 U 撤销该行的输入。
6.2.2命令模式:执行命令
   当 vi 编辑器处于输入模式下时,按键盘上的 Esc 键可以进入命令模式
   在命令模式下,可以输入命令来执行各种多种功能,大多数 vi 命令都是由一个或两个字母
   加上一个可选数字组成。
   以下是以冒号开头的命令
      :w  +回车 保存不退出
 :wq +回车 保存并退出
 :x  +回车 保存并退出(强制)
 :q! +回车 不保存退出
 :q! +回车 不保存退出(强制)
   在非输入模式(编辑模式)下,如何在文件中移动光标:
   h: 向左移动一个字符
   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 可以跳转到该字符串的上一个出现处

   

   高级用法:替换字符串
   :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  设置文件只读


 末行模式:执行特定命令
转载请注明出处

http://blog.csdn.net/xiangsir/article/details/8570508




赞(0)    操作        顶端 
lengyuLee
注册用户
等级:少校
经验:1118
发帖:83
精华:5
注册:2013-3-7
状态:离线
发送短消息息给lengyuLee 加好友    发送短消息息给lengyuLee 发消息
发表于: IP:您无权察看 2013-3-14 10:54:44 | [全部帖] [楼主帖] 2  楼

gg命令好像没有提到

另:现在windows下可以使用vi的升级版本——gVim,功能十分强大。



赞(0)    操作        顶端 
总帖数
2
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论