转自http://www.51testing.com/html/86/427686-247344.html

多按几次[ESC],系统会发出滴滴声以确定进入命令模式。就进入了命令模式,所有在键盘上打的字母都有可能是命令,此时并不存在编辑的命令。

命令模式的插入命令:

<a>

在光标后输入文本

<A>

在当前行末尾输入文本

<i>

在光标前输入文本

<I>

在当前行开始输入文本

<o>

在当前行后输入新一行

<O>

在当前行前输入新一行

文件定位命令:

<h>

向前移动一个字符

<j>

向上移动一行

<k>

向下移动一行

<l>

向后移动一个字符

<$>

直接移动到行尾

<0>

直接移到行首

<Enter>

移到下行行首

<H>

移到屏幕上端

<L>

移到屏幕中间

<M>

移动屏幕下端

<G>

移动到文件的最后一行

n<G>

到文件第n行

:n

到文件第n行

命令模式删除命令:

<x>

删除后面的一个字符

<X>

删除前面的一个字符

<dd>

删除光标所在行

<DD>

删除光标所在行到文件末尾内容

<D>

删除光标所在行到行尾内容

:a,b d

删除a到b 行的内容

命令模式复制命令:

yy  Y

复制当前行

nyy nY

复制当前行一下n行

p

将已经选择的复制的,或为被删除的行,放在当前行下,粘贴

命令模式常用的替换和取消命令:

r

取代光标所在处的字符

R

从光标所在字符一直替换,知道按ESC键结束

s

取代光标所在处的字符,并进入文本输入模式

S

取代光标所在处全行,并进入文本输入模式

u

取消上一步操作(直到刚打开的状态),Ctrl+r取消取消的动作

U

取消

命令行搜索和替换命令:

/string

向前搜索

?string

向后搜索

n

向上搜索

N

向下搜索

文件退出的命令:

<:q>

不保存退出

<:q!>

不保存强制性退出

<:w>

保存编辑

<:w filename>

存入文件filename中

<:w! filename>

强制性存入文件filename中

<:wq>

保存退出

<:x>

同<:wq>

<ZZ>

同<:wq>

Vi常用的一些输入命令:

1.在编辑模式下设置行号

:set nu          显示行号

:set no nu      取消行号

配置文件: ~/.vimrc中写入  set nu就会默认以行号形式打开vi

2.用vi替换或删除搜索到的内容:

:%s    /sbin/wwww/g      替换搜索的内容

:%s    /sbin/空/gg        删除搜索的内容

3.把其它文件读取到当前文件中:

:r     FileName

4.在输入模式下执行系统操作命令:

:!ifconfig查看IP地址

:!操作命令直接输入

5.用Vi同时打开多个文件:

用vi同时打开多个文件:

vi   -o     FileName1   FileName2   ..  横着

vi   -O     FileName1   FileName3   ..   竖着

切换时用Ctrl  +  ww

:如果多个用户同时修改一个文件,以最后一个修改保留为主。

 

[转有改动]vi的更多相关文章

  1. 基于阿里云server搭建SVNserver

    基于阿里云server搭建SVNserver 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/8577 ...

  2. linux之文本编辑器

    [目标] 管理员在进行系统操作的时候,不可避免地会对文本进行修改,如进行各种服务程序配置文件的修改,使程序对用户提供不同的服务效果.在本章我们向大家介绍Linux上常见的编辑器ed.vi.emacs, ...

  3. linux下一个oracle11G DG建立(一个):准备环境

    linux下一个oracle11G  DG建立(一个):准备环境 周围环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g ...

  4. linux VIM基本命令

    linux VIM命令: vim 在命令行中输入vim,进入vim编辑器 Esc 退出i(插入)命令进行其他命令使用 :sh 进入shell命令行,运行完命令后ctrl+d退出又一次进入vim编辑继续 ...

  5. ssh配置连接

    SSH构造: 1.改动vi /etc/ssh/sshd_config,依据模板将要改动的參数凝视去掉并改动參数值: Port 22 指定SSH连接的port号,安全方面不建议使用默认22port Pr ...

  6. Rust 1.7.0 处理命令行參数

    std是 Rust 标准函数库: env 模块提供了处理环境函数. 在使用标准函数库的时候,使用 use 导入对应的 module . 一.直接输出 use std::env; fn main(){ ...

  7. hadoop集群加入新节点hhbase调试

    一.改动vi /etc/hosts 添加节点ip.(没个节点都要加入 )  二.设置hostname     vi /etc/sysconfig/network      把hostname改为nod ...

  8. gcc 5.2.0 编译安装笔记-20151110

    **转载请注明出处** by.haunying3 系统版本号 CentOS-6.6-x86_64-minimal 编译器 gcc-4.4.7通过yum安装 rpm -qa | grep gcc gcc ...

  9. centos下yum安装lamp和lnmp轻松搞定

    centos下yum安装lamp和lnmp轻松搞定.究竟多轻松你看就知道了.妈妈再也不操心不会装lamp了. 非常辛苦整理的安装方法,会持续更新下去.凡无法安装的在评论里贴出问题来,会尽快解决.共同维 ...

随机推荐

  1. Spring(二)__bean的装配

    Bean的装配: 在spring容器内拼凑bean叫做装配.装 配bean的时候,需要告诉容器哪些bean 以及容器如何使用依赖注入将它们配合在一起. 上下文定义文件的根元素是<beans> ...

  2. 移动端UC /QQ 浏览器的部分私有Meta 属性

    <meta name="format-detection" content ="telephone=no"/>   格式检测 禁止识别我们页面中的数 ...

  3. #8.31课堂总结#JS基础

    一.Javascript能做些什么? 表单数据合法性验证 网页特效:使用DOM和CSS可以实现网页特效 交互式菜单:创作具有动态效果的交互式菜单,完全能够与flash制作的导航菜单相媲美 动态页面:使 ...

  4. 复选框(checkox)全选、全不选、反选、获得选中项值的用例

    HTML部分: <div class="all"> <ul> <li><input type="checkbox" v ...

  5. Day Tips:alertstemplates.xml

    1.修改Alert邮件模板,首先要注意的时候最好复制一份alertstemplates.xml,然后改一下名字,我改的是 custom_alertstemplates.xml,修改自己需要的代码部分. ...

  6. iOS中,在类的源文件(.m)中,@interface部分的作用?

      此@interface部分为类扩展(extension). 其被设计出来就是为了解决两个问题的 其一,定义类私有方法的地方. 其二,实现public readonly,private readwr ...

  7. iOS 学习 - 23 加载本地 txt 文件, NSMutableParagraphStyle 段落格式,缩放动画,字体间距

    思路: 1.new 一个 Empty 后缀为 .txt 文件,内容随笔拷贝一段 2.用 NSString 接收本地文件,再用一个标题拼接字符串 3.创建一个 NSMutableParagraphSty ...

  8. 敏捷开发与jira之研发管理模式

    以IPD方法论为基础,采用原型+迭代的开发模式,并以质量优先为原则,持续对用户做价值交付. 使用JIRA+WIKI+SVN管理整个的研发过程:JIRA管理任务和进度:SVN管理代码和过程文档:WIKI ...

  9. 准备CLR源码阅读环境

    微软发布了CLR 2.0的源码,这个源码是可以直接在freebsd和windows环境下编译及运行的,请在微软shared source cli(http://www.microsoft.com/en ...

  10. [MySQL Reference Manual] 10 全球化

    10.全球化 本章主要介绍全球化,包含国际化和本地化,的一些问题: ·         MySQL在语句中支持的字符集 ·         如何为服务配置不同的字符集 ·         选择错误信息 ...