转自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. 获取SqlServer存储过程定义的3种方法

    第一种: declare @p_text varchar(max) SELECT @p_text= text FROM syscomments WHERE id = ( SELECT id FROM ...

  2. Day Tips:alertstemplates.xml

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

  3. pygame开发PC端微信打飞机游戏

    pygame开发PC端微信打飞机游戏 一.项目简介 1. 介绍 本项目类似曾经火爆的微信打飞机游戏.游戏将使用Python语言开发,主要用到pygame的API.游戏最终将会以python源文件gam ...

  4. ionic day01教程第一天之多平台运行(ios & android)

    一.创建项目 创建项目 ionic start myApp 运行项目 (1)通过浏览器运行项目 进入项目,后运行ionic serve cd myApp ionic serve 浏览器运行效果 二.多 ...

  5. ASP.NET获取真正的客户端IP地址的6种方法

    Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真 ...

  6. Ignite安装配置——中篇

    Linux Ignite配置——上篇大体介绍了一下Ignite工具的功能.特性等,以及如何在Linux 上安装配置.从上篇可见Ignite安装非常的简单方便.下面介绍一下Ignite Reposito ...

  7. JDBC API Description

    package java.sql description What the JDBCTM 4.2 API Includes Versions What the java.sql Package Con ...

  8. Java 堆

    特性: 虚拟机启动时创建的线程共享的内存区域,所有实例对象和数组对象分配内存的区域 GC垃圾手机管理器管理的主要区域,GC堆 容量可以固定,也可以动态扩展,自动收缩 -Xmx最大堆大小 -Xms最小. ...

  9. css3【语法要点】

    语法要点 display: -webkit-box; /* 老版本语法: Safari, iOS, Android browser, older WebKit browsers. */ display ...

  10. SQL Server自动化运维系列——批量执行SQL脚本(Power Shell)

    需求描述 一般在生产环境中,在投产的情况下,需要批量的来执行SQL脚本文件,来完成整个投产,如果投产文件比较多的情况下,无疑这是一个比较痛苦的过程,所以本篇通过PowerShell脚本来批量完成. 监 ...