转自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. 【工业串口和网络软件通讯平台(SuperIO)教程】二.架构和组成部分

    1.1    架构结构图 1.1.1    层次示意图 1.1.2    模型对象示意图 1.2    IO管理器 IO管理器是对串口和网络通讯链路的管理.调度.针对串口和网络通讯链路的特点,在IO管 ...

  2. 十一个行为模式之命令模式(Command Pattern)

    定义: 将一个请求封装成对象,使得请求发送者和请求接受者之间相互隔离,消除两者之间的耦合.引入命令类,使得不同请求对客户参数化,并且可以对命令添加附件操作,如:排队.撤销.日志.组合等. 结构图: C ...

  3. jQuery Mapael – 呈现动态的矢量地图

    jQuery Mapael 是基于 Raphael.js 的一个 jQuery 插件,可以显示动态矢量地图.例如,使用 Mapael 可以显示国家能够点击的世界地图.此外,你可以用圈,方形或者图片来标 ...

  4. 单行文字滚动就用myslider

    单行文字滚动就用myslider,myslider是一个小型的内容滚动jquery插件. 首先请看实例:http://keleyi.com/jq/myslider/demo/4.htm 然后来看代码: ...

  5. javascript中的prototype和constructor

    构造函数 我们知道,ECMAScript5中的Object.Array.Date.RegExp.Function等引用类型都是基于构造函数的,他们本身就是ECMAScript5原生的构造函数.比如,我 ...

  6. 解决xcode8模拟器不能删除应用的问题

       问题描述:想删除模拟器上的测试项目,但是长按之后主界面模糊一下,并没有出现小叉叉来删除.    原因:这是因为xcode8中模拟器自带Touch3D,我们控制不好触摸板的力度. 解决方法: 1. ...

  7. Android 手机卫士--确认密码对话框编写

    本文接着实现“确认密码”功能,也即是用户以前设置过密码,现在只需要输入确认密码 本文地址:http://www.cnblogs.com/wuyudong/p/5940718.html,转载请注明出处. ...

  8. android 图片性能优化

    本章讲述在android开发中,图片处理方面的优化.包括知识点为大图加载,图片压缩,图片缓存处理及开源图片处理框架Universal-Image-Loader. 1.图片引发的内存不足 当在andro ...

  9. 基于ntp的多服务器时间同步脚本

    server服务器每1个小时更新一次时间,server服务器旗下同步服务器每5秒钟同步一次时间,同步服务器与外网不做交互,由server服务器进行同步时间.所以保证每一台同步服务器时间一致. #vi ...

  10. php设计模式 装饰器模式

    装饰器模式,可以动态地添加修改类的功能. 一个类提供了一项功能,如果要修改并添加额外的功能,传统的编程模式需要写一个子类继承它,并重新实现类的方法.使用装饰器模式,仅需要在运行时添加一个装饰器对象即可 ...