vi使用说明

来源:互联网 发布:java点赞功能实现 编辑:程序博客网 时间:2024/06/04 18:12

Vi简介

 

vi 做为Linux 系统中一种编辑器,它的使用方法和界面与 Unix 平台十分相似。在 Linux 中有很多功能强大,界面友好的编辑器,但是vi 还是值得你学习它的使用方法。初步接触 VI,你觉得它的界面不太友好,不容易掌握,可是一旦你掌握了vi 的命令,你可以感觉到它强大的功能与高效。而且vi 相对来说较小,无论你使用任何 Linux系统,你总是可以使用vi的。在很多系统中,可能只有 vi 供你选择。--

---- 进 入 与 离 开

---- 要 进 入 vi 可 以 直 接 在 系 统 提 示 字 符 下 键 入 vi < 文 件 名 称 >,vi 可 以 自 动 帮 你 载 入 所 要 编 辑 的 文 件 或 是 开 启 一 个 新 文 件。 进 入 vi 後 屏 幕 左 方 会 出 现 波 浪 符 号, 凡 是 列 首 有 该 符 号 就 代 表 此 列 目 前 是 空 的。 要 离 开 vi 可 以 在 指 令 模 式 下 键 入 :q, :wq 指 令 则 是 存 档 後 再 离 开( 注 意 冒 号)。 要 切 换 到 指 令 模 式 下 则 是 用 [ESC] 键, 如 果 不 晓 得 现 在 是 处 於 什 麽 模 式, 可 以 多 按 几 次 [ESC], 系 统 会 发 出 哔 哔 声 以 确 定 进 入 指 令 模 式。

---- ----
这里列出 vi 中较常用的操作命令。

  1. 输入模式命令
  2. 输入模式命令光标移动
  3. 输入模式命令删除操作
  4. 改变与替换
  5. 查询命令
  6. 拷贝与粘贴
  7. 文件保存及退出vi

 

输入模式命令

进入输入输出的方法

命令作用<a>在光标后输入文本<A>在当前行末尾输入文本<i>在光标前输入文本<I>在当前行开始输入文本<o>在当前行后输入新一行<O>在当前行前输入新一行

光标移动命令

光标移动

命令作用<b>移动到当前单词的开始<e>移动到当前单词的结尾<w>向前移动一个单词<h>向前移动一个字符<j>向上移动一行<k>向下移动一行<l>向后移动一个字符<ctrl+f>向前移动一个屏幕<ctrl+b>向后移动一个屏幕<g>移动到文档的开始位置<G>移动到文档的结束位置<n+Enter>光标向下移动n行<0>移动到行首<$>移动到行尾:n移动到第n

删除操作命令

删除操作

命令作用<x>删除光标所在的字符<dw>删除光标所在的单词<d$>删除光标至行尾的所有字符<D>同<d$><dd>删除当前行


  可在删除命令前加上数字,如<5x>表示删除5个字符,<5dd>表示删除5行。

改变与替换操作命令

改变与替换操作

命令作用<r>替换光标所在的字符<R>替换字符序列<cw>替换一个单词<ce>同<cw><cb>替换光标所在的前一字符<c$>替换自光标位置至行尾的所有字符<C>同<c$><cc>替换当前行:n,m s/sour/dest/g将第n行至第m行间所有的sour替换为dest:1,$ s/sour/dest/g从第1行至最后一行,将所有的sour替换为dest:1,$ s/sour/dest/gc从第1行至最后一行,将所有的sour替换为dest,并在替换前进行确认.

u

按u键可以撤销之前做的修改。连续按u可以撤销更前面的修改。Ctrl+R

如果决定不再撤销前面的命令,可使用Ctrl+R进行恢复。本质上,这个命令取消所做的撤销操作

U取消一行内的所有更动:e!放弃所有更动,重新编辑

查询命令

查询

命令作用</abc>向前查询abc<?abc>向后查询abc<n>向前继续查询<N>向后继续查询

拷贝与粘贴命令

拷贝与粘贴

命令作用</yw>将光标所在单词拷入剪贴板<y$>将光标至行尾的字符拷入剪贴板<Y>同<y$><yy>将当前行拷入剪贴板<nyy>将当前行开始的n行拷入剪贴板<p>将剪贴板中的内容粘贴在光标后<P>将剪贴板中的内容粘贴在光标前

文件保存及退出vi命令

文件保存及退出vi

命令作用<:q>不包存退出<:q!>不保存强制性退出<:w>保存编辑<:w filename>存入文件 filename 中<:w! filename>强制性存入文件 filename 中<:wq>保存退出<:x>同 <:wq><ZZ>同 <:wq>

读取文件相关命令

文件读取及命令执行

:r 文件名  所文件插入到光标处:r!命令    所命令的输出插入到当前文本中:nr 文件   把文件插入到第n行:!命令    运行命令:sh  转到shell:so 文件 读取文件,再执行文件里面的命令

 

最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下
:n1,n2 d :将n1行到n2行之间的内容删除
:w :保存当前文件
:e filename:打开文件filename进行编辑
:x:保存当前文件并退出
:q:退出vi
:q!:不保存文件并退出vi
:!command:执行shell命令command
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指
定n1,n2,则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行 。