进入 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. 【小白的java成长系列】——javakeyword

    准备出一个系列的内容啦,今天就从keyword開始说起吧~ 类型 keyword 说明 keyword 说明 訪问控制权限 public 公共的.公开的. protected 受保护的.用来修饰属性或 ...

  2. frame.bounds和center

    CGPoint point=CGPoint(x,y);  //表示位置 CGSize size=CGSzieMake(width,height);  //表示大小 CGRect rect=CGRect ...

  3. v$lock 视图访问慢解决方法

    V$ 视图访问慢 --解决方法 分析:可能是有数据字典统计信息过久,造成. exec dbms_stats.gather_fixed_objects_stats; ------收集所有数据字典的fix ...

  4. OpenStack使用Bosh部署CloudFoundry(一)—准备OpenStack环境

    版本说明: CloudFoundry:V2版本 OpenStack:Folsom或者Grizzly版本 本篇文章采用OpenStack Folsom+nova-network的OpenStack环境, ...

  5. 引导加载程序:GRUB

    计算机在启动的时候,首先由BIOS中的程序执行自检,自检通过后,就根据CMOS的配置找到第一个可启动磁盘的MBR中的Boot Loader程序(一般在启动盘的第一个物理扇区,占446字节),并把控制权 ...

  6. Open Source RTOS

    http://www.osrtos.com/     Name License Platforms Description Last updated FreeRTOS Modified GPL MSP ...

  7. 用代码定位硬盘上的文件(使用ShellExecute执行explorer /select命令,其它参数也很全)

    问题:如何用代码控制资源浏览器,并定位到指定的文件? 答:使用ShellExecute,配合explorer即可 ShellExecute(Application.Handle, 'open', PC ...

  8. 《转》div 中间固定 左右自适应实现

    <转自>:http://www.w3cplus.com/css/layout-column-three 对于我来说,这是一种很少碰到的布局方法,不知道大家有何体会,那么下面我们一起来看这种 ...

  9. [Android学习笔记]ScrollView的使用

    竖直滚动使用ScrollView 水平滚动使用HorizontalScrollView 如果需要禁止ScrollView的滚动,则需要扩展ScrollView类,重写onTouchEvent方法.

  10. Oracle的dbms_output包的put()和put_line()的区别只是有没有回车换行吗?(转)

    答案是否 除了自动添加回车换行外,还有就是缓冲区最大容量的问题!! 无论如何设置serveroutput size,10g里 put() 最多只能输出 32767 个byte 而 put_line() ...