进入 vi 该命令 

vi filename :打开或新建文件。在第一行和第一光标 

vi +n filename :打开文件,并将光标置于第 n 行首 

vi + filename :打开文件,并将光标置于最后一行首 

vi +/pattern filename:打开文件,并将光标置于第一个与 pattern 匹配的串处 

vi -r filename :在上次正用 vi 编辑时发生系统崩溃,恢复 filename 

vi filename....filename :打开多个文件,依次进行编辑 

 

移动光标类命令 

h :光标左移一个字符 

l :光标右移一个字符 

space:光标右移一个字符 

Backspace:光标左移一个字符 

k 或 Ctrl+p:光标上移一行 

j 或 Ctrl+n :光标下移一行 

Enter :光标下移一行 

w 或 W :光标右移一个字至字首 

b 或 B :光标左移一个字至字首 

e 或 E :光标右移一个字至字尾 

) :光标移至句尾 

( :光标移至句首 

}:光标移至段落开头 

{:光标移至段落结尾 

nG:光标移至第 n 行首 

n+:光标下移 n 行 

n-:光标上移 n 行 

n$:光标移至第 n 行尾 

H :光标移至屏幕顶行 

M :光标移至屏幕中间行 

L :光标移至屏幕最后行 

0:(注意是数字零)光标移至当前行首 

$:光标移至当前行尾 

 

屏幕翻滚类命令 

Ctrl+u:向文件首翻半屏 

Ctrl+d:向文件尾翻半屏 

Ctrl+f:向文件尾翻一屏 

Ctrl+b;向文件首翻一屏

nz:将第 n 行滚至屏幕顶部,不指定 n 时将当前行滚至屏幕顶部。

插入文本类命令 

i :在光标前 

I :在当前行首 

a:光标后 A:在当前行尾 

o:在当前行之下新开一行 

O:在当前行之上新开一行 

r:替换当前字符 

R:替换当前字符及其后的字符,直至按 ESC 键 

s:从当前光标位置处開始,以输入的文本替代指定数目的字符 

S:删除指定数目的行,并以所输入文本取代之 

ncw 或 nCW:改动指定数目的字 

nCC:改动指定数目的行 

 

删除命令 

ndw 或 ndW:删除光标处開始及其后的 n-1 个字 

do:删至行首 

d$:删至行尾 

ndd:删除当前行及其后 n-1 行 

x 或 X:删除一个字符,x 删除光标后的,而 X 删除光标前的 

Ctrl+u:删除输入方式下所输入的文本 

 

搜索及替换命令 

/pattern:从光标開始处向文件尾搜索 pattern 

?pattern:从光标開始处向文件首搜索 pattern 

n:在同一方向反复上一次搜索命令 

N:在反方向上反复上一次搜索命令 

:s/p1/p2/g:将当前行中全部 p1 均用 p2 替代 

:n1,n2s/p1/p2/g:将第 n1 至 n2 行中全部 p1 均用 p2 替代 

:g/p1/s//p2/g:将文件里全部 p1 均用 p2 替换 

 

选项设置 

all:列出全部选项设置情况 

term:设置终端类型 

ignorance:在搜索中忽略大写和小写 

list:显示制表位(Ctrl+I)和行尾标志($) 

number:显示行号 

report:显示由面向行的命令改动过的数目 

terse:显示简短的警告信息 

warn:在转到别的文件时若没保存当前文件则显示 NO write 信息 

nomagic:同意在搜索模式中。使用前面不带“\”的特殊字符 

nowrapscan:禁止 vi 在搜索到达文件两端时,又从还有一端開始 

mesg:同意 vi 显示其它用户用 write 写到自己终端上的信息 

 

最后行方式命令 

: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 结果的当前行中的输出

版权声明:本文博客原创文章。博客,未经同意,不得转载。

经常使用vi编辑命令的更多相关文章

  1. CentOS7 vi编辑命令【转】

    CentOS 7 vi编辑命令 用vi打开一个yum文件 vi /usr/bin/yum 按 i 键后  进入insert模式,进入insert模式后才能进行修改 修改完成后 按esc键进入comma ...

  2. CentOS 7 vi编辑命令

    用vi打开一个yum文件 vi /usr/bin/yum 按 i 键后  进入insert模式,进入insert模式后才能进行修改 修改完成后 按esc键进入command模式, 然后:wq 保存文件 ...

  3. Linux下的vi编辑命令中查找·替换详解

    一.查找 查找命令 /pattern<Enter> :向下查找pattern匹配字符串 ?pattern<Enter>:向上查找pattern匹配字符串 使用了查找命令之后,使 ...

  4. 常用vi编辑命令

    在自己的博客里存起来,这么多全记住确实有点难,时不时的翻一翻到是可以的. 摘自:http://www.cnblogs.com/junw_china/articles/1708967.html 光标控制 ...

  5. 8.bash编辑命令行

    8.编辑命令行本章介绍 GNU 命令行编辑界面的基本功能.命令行编辑是 Readline 库提供的:这个库被几个不同的程序共用,Bash 是其中一个.使用交互式的 shell 时,默认已经打开了命令行 ...

  6. 【AIX】采用vi语法编辑命令行

    AIX中不能像centos那样移动方向键上.下来查询历史键入的命令行记录 可以通过一条命令采用vim的语法编辑命令行,查询历史记录. # set -o vi 在命令行输入上述命令后就可以: ESC+k ...

  7. linux vi编辑常用命令

      linux vi编辑常用命令 来源:互联网 作者:佚名 时间:07-10 21:31:14 [大 中 小] linux vi编辑常用命令,需要的朋友可以参考下   vi编辑器中有三种状态模式 1. ...

  8. vi编辑光标跳到文件开头和结尾以及清空文件命令

    vi编辑光标跳到文件开头和结尾以及清空文件命令 按esc退出编辑模式 跳到文件开头: :1 跳到文件结尾: :$ 清空文件内容: 小写的 d 加上大写的 G

  9. ubuntu下使用VI编辑文件必知的常用命令

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

随机推荐

  1. 解决cocoapods在64位iOS7系统以下的警告问题

    今天碰到一个非常奇怪的问题.XCODE提示这种警告 Pods was rejected as an implicit dependency for 'libPods.a' because its ar ...

  2. jyphon 环境变量配置

    Jyphon 是基于java平台python 的一种实现 官网: http://www.jython.org/ 可以从官网下载 jyphon 安装 下载 jython Installer ,下载之后是 ...

  3. 51cto大数据培训路线

    Java Java IO/NIO JVM原理与配置.调优 Socket 网络套接字技术 Java Collection java Reflection 多线程与并发编程 设计模式 Collection ...

  4. 与众不同 windows phone (1) - Hello Windows Phone

    原文:与众不同 windows phone (1) - Hello Windows Phone [索引页] [源码下载] 与众不同 windows phone (1) - Hello Windows ...

  5. KL25开发板利用串口蓝牙与PC通信

    KL25开发板芯片本身支持三个串口,uart0,uart1,uart2.其中uart0不太一样,在数据手册里面单独一章介绍:而uart1和uart2则是一样的. 我所使用的串口蓝牙模块是BC04,支持 ...

  6. java.util.zip - Recreating directory structure(转)

    include my own version for your reference. We use this one to zip up photos to download so it works ...

  7. spring开发基础

    Spring是一个开源框架,它由Rod Johnson创建.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途 ...

  8. SQL中如何将一个表中的某一列的数据复制到另一个表中的某一列里

    表一: SPRD PRD_NO      SPC 001                NULL 002               NULL 003               NULL ...   ...

  9. HTML5文件上传还有进度条

    以下是自学it网--中级班上课笔记 网址:www.zixue.it 需要在chrome,ff,IE10下运行 html页面 <!DOCTYPE html> <html lang=&q ...

  10. iOS应用开发详解

    <iOS应用开发详解> 基本信息 作者: 郭宏志    出版社:电子工业出版社 ISBN:9787121207075 上架时间:2013-6-28 出版日期:2013 年7月 开本:16开 ...