[转有改动]vi
转自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的更多相关文章
- 基于阿里云server搭建SVNserver
基于阿里云server搭建SVNserver 本系列文章由ex_net(张建波)编写,转载请注明出处. http://blog.csdn.net/ex_net/article/details/8577 ...
- linux之文本编辑器
[目标] 管理员在进行系统操作的时候,不可避免地会对文本进行修改,如进行各种服务程序配置文件的修改,使程序对用户提供不同的服务效果.在本章我们向大家介绍Linux上常见的编辑器ed.vi.emacs, ...
- linux下一个oracle11G DG建立(一个):准备环境
linux下一个oracle11G DG建立(一个):准备环境 周围环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g ...
- linux VIM基本命令
linux VIM命令: vim 在命令行中输入vim,进入vim编辑器 Esc 退出i(插入)命令进行其他命令使用 :sh 进入shell命令行,运行完命令后ctrl+d退出又一次进入vim编辑继续 ...
- ssh配置连接
SSH构造: 1.改动vi /etc/ssh/sshd_config,依据模板将要改动的參数凝视去掉并改动參数值: Port 22 指定SSH连接的port号,安全方面不建议使用默认22port Pr ...
- Rust 1.7.0 处理命令行參数
std是 Rust 标准函数库: env 模块提供了处理环境函数. 在使用标准函数库的时候,使用 use 导入对应的 module . 一.直接输出 use std::env; fn main(){ ...
- hadoop集群加入新节点hhbase调试
一.改动vi /etc/hosts 添加节点ip.(没个节点都要加入 ) 二.设置hostname vi /etc/sysconfig/network 把hostname改为nod ...
- gcc 5.2.0 编译安装笔记-20151110
**转载请注明出处** by.haunying3 系统版本号 CentOS-6.6-x86_64-minimal 编译器 gcc-4.4.7通过yum安装 rpm -qa | grep gcc gcc ...
- centos下yum安装lamp和lnmp轻松搞定
centos下yum安装lamp和lnmp轻松搞定.究竟多轻松你看就知道了.妈妈再也不操心不会装lamp了. 非常辛苦整理的安装方法,会持续更新下去.凡无法安装的在评论里贴出问题来,会尽快解决.共同维 ...
随机推荐
- Javascript:JSON总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于ECMAScript的一个子集,采用完全独立于语言的文本格式.这些特性使JSON成为理想的数据交换 ...
- 对于SSH框架的选择
选择框架:SSH 对于Web开发来说,SSH框架可以提高开发效率,还可以方便需求的变更以及对后期维护方面更容易操作.SSH也是目前稍微流行的Web开发框架. 选择框架描述: 首先说明一下SSH并不是一 ...
- C#语言和数据库基础
第一章 第一个C#程序 Vs2012密钥 RBCXF-CVBGR-382MK-DFHJ4-C69G8 01..net和C#的区别 大概在2000年,微软推出了一种革命性的产品--.NET(战略) 目标 ...
- iOS-钥匙串中证书全部失效(证书的签发者无效)的解决办法
今天用Xcode打包IPA文件给同事,结果提示import时,提示证书missing,找了半天没发现问题,后来打开钥匙串,发现证书全失效了!!!根证书失效了!吓死宝宝了 解决方法 首选此方法: 1.打 ...
- Oracle解锁,解决“ora00054:资源正忙”错误
Oracle解锁,解决“ora00054:资源正忙”错误 一.处理步骤:--1.获取被锁对象的session_idSELECT session_id FROM v$locked_object; --2 ...
- Linux忘记root密码怎么办?
开篇前言:Linux系统的root账号是非常重要的一个账号,也是权限最大的一个账号,但是有时候忘了root密码怎么办?总不能重装系统吧,这个是下下策,其实Linux系统中,如果忘记了root账号密码, ...
- SQL SERVER 2000 迁移后SQL SERVER代理服务启动错误分析
公司有一个老系统,这个系统所用的数据库是SQL SERVER 2000,它所在的Dell服务器已经运行超过10年了,早已经过了保修服务期,最近几乎每周会出现一次故障,加之5月份另外一台服务器坏了两个硬 ...
- backup, file manipulation operations (such as ALTER DATABASE ADD FILE) and encryption changes on a database must be serialized.
昨天在检查YourSQLDba备份时,发现有台数据库做备份时出现了下面错误信息,如下所示: <Exec> <ctx>yMaint.ShrinkLog</ctx> ...
- java获取注册ip
String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || &q ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理7
做完角色之后接下来做先做页面按钮的增加.删除.修改.这里用到的功能和角色那边是一样的.就不多说了.直接上代码. 后台控制器代码 using AuthorDesign.Web.App_Start.Com ...