经常使用vi编辑命令

时间:2021-05-03 22:38:46

进入 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&period;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. 疯狂JAVA16课之对象与内存控制

    java内存管理分为两个方面:内存分配和内存回收.这里的内存分配特指创建java对象时JVM为该对象在对内存中所分配的内存空间.内存回收指的是当该java对象失去引用,变成垃圾时,JVM的垃圾回收机制 ...

  2. AngularJS讲义 - 作用域

    什么是作用域? Angular中作用域(scope)是模板以及工作的上下文环境,作用域中存放了应用模型和视图相关的回调行为.作用域是层次化结构的与相关联的DOM结构相对应.作用域可以观察表达式以及传播 ...

  3. android studio手动加入jar包

    点击启动AndroidStudio,启动后的界面如图所示. 复制你需要添加的jar,并将其黏贴到app— —src— —main— —libs文件夹下,可运行的AndroidStudio项目都有像这样 ...

  4. poj 2551 Ones

    本题的想法很简单,就是模拟手算乘法.不一样的是,需要控制输出的结果:每一位都是由1构成的整数. 代码如下: #include <iostream> using namespace std; ...

  5. hydra爆破用法

    -R 根据上一次进度继续破解 -S 使用SSL协议连接 -s 指定端口 -l 指定用户名 -L 指定用户名字典(文件) -p 指定密码破解 -P 指定密码字典(文件) -e 空密码探测和指定用户密码探 ...

  6. ThinkPHP使用PHPmailer发送Email邮件

    下面介绍thinkphp如何使用phpmailer发送邮件,使用这个邮件发送类,配置好参数后,一句话即可发送邮件.仅适合于thinkphp框架. 第一步,下载类库 将Mail.class.php复制到 ...

  7. 黑马程序员&lowbar;Java基本数据的自动拆装箱及享元设计模式视频学习笔记

    ------- android培训.java培训.期待与您交流! ---------- 装箱:把基本数据类型装成java类(被托管?).         拆箱:把java类拆成基本数据类型(取消托管? ...

  8. CodeForces 10D&period; LCIS 最长公共上升子序列模板题 &plus; 打印路径

    推荐一篇炒鸡赞的blog. 以下代码中有打印路径. #include <algorithm> #include <iostream> #include <cstring& ...

  9. 转载:10 Easy Steps to a Complete Understanding of SQL

    10 Easy Steps to a Complete Understanding of SQL 原文地址:http://tech.pro/tutorial/1555/10-easy-steps-to ...

  10. JavaScript快速入门(四)——JavaScript函数

    函数声明 之前说的三种函数声明中(参见JavaScript快速入门(二)——JavaScript变量),使用Function构造函数的声明方法比较少见,我们暂时不提.function func() { ...