转自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. Visual Studio for Mac 简介

    2016-12-13 Hutchinson 微软中国MSDN 在 11 月举行的 Connect(); 上,Microsoft 将推出 Visual Studio for Mac 预览版.这是一个激动 ...

  2. java必备基础知识点

    Java基础 1. 简述Java的基本历史 java起源于SUN公司的一个GREEN的项目,其原先目的是:为家用消费电子产品发送一个信息的分布式代码系统,通过发送信息控制电视机.冰箱等 2. 简单写出 ...

  3. js快捷输入日期

    点击这里查看效果http://keleyi.com/keleyi/phtml/jstexiao/10.htm 以下式代码: <!DOCTYPE html> <html> < ...

  4. CSS项目学习总结

    1.我过去在HTML和CSS阶段是如何学习的? 我一开始学HTML和CSS,更多的是通过看视频.书籍,一个知识点一个知识点地去学习,很少把他们串联起来,看代码多于敲代码. 然而,通过现在这几个项目的实 ...

  5. MyEclipse使用心得:SVN插件安装方法

    1.在线安装,打开myeclipse,help--->MyEclipse Configuration Center 2.点击Add Site 打开对话框,在对话框Name输入Svn,URL中输入 ...

  6. ListDefinition Tips

    1)ListTemplate.Type位数不能太长(最长7位),否则启用内容类型后,列表设置中会抛异常. <ListTemplate Name="List1" Type=&q ...

  7. Android Couldn't load BaiduMapSDK

    什么都不用多说,看代码 Couldn't load BaiduMapSDK_v3_2_0_15 from loader dalvik.system.PathClassLoader[DexPathLis ...

  8. [Android]从Launcher开始启动App流程源码分析

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5017056.html 从Launcher开始启动App流程源码 ...

  9. TeamCity实战(1):准备工作

    环境: Windows Server 2008 R2 SP1(不会再有SP2,参考这里:http://www.techspot.com/news/50599-microsoft-wont-releas ...

  10. SQL Server Integration Services(SSIS) 包配置与部署

    SSIS配置此处的配置方式,主要针对到正式服务器上要修改服务器名,和连接服务器等配置注意:1. 包配置在windows2008上生成后,在windows2003上mysql的配置无法使用,总是报错连接 ...