vi/vim
命令模式
插入模式 aio
编辑模式 :

aio就是vi/vim的插入模式
命令    作用
a         在光标后附加文本
A         在本行末附加文本
i         在光标钱插入文本
I         在本行开始插入文本
o        在光标下插入行
O        在光标上插入行

定位命令
set number 设置行号(set nu)
set nonu 取消行号
如果想选择跳转到指定行。直接进入编辑模式,输入行号即可

命令          作用
h、方向左键    移动一个字符
j、方向下键    下移一行
k、方向上键    上移一行
l、方向右键    右移一个字符
$              移至行尾
0              移至行尾
H              移至屏幕上端
M              移至屏幕中央
L              移至屏幕下端

命令模式的删除、复制、粘贴命令

命令      作用
x           删除光标所在处字符
nx         删除光标所在处后n个字符
dd         删除光标所在上,ndd删除n行
dG         删除光标所在行到末尾的内容
D           删除贯标所在处到行尾
:n1,n2d    删除指定范围的行
yy、Y      复制当前行
nyy、nY      复制当前行下n行
dd          剪切当前行
ndd          剪切当前行下的n行
p、P        粘贴在当前光标所在行下或行上

替换、搜索命令

命令    作用
r        取代光标所在处字符
R        从光标所在处开始替换字符,按ESC结束
u        取消上一步操作

命令                作用
/string                向前搜索指定字符串,搜索是忽略大小写:set ic
n                      搜索指定字符串下一个出现的位置
:%s/old/new/g        全文替换指定字符串
:n1,n2s/old/new/g    在指定范围替换指定字符串

在编辑模式下 ZZ也可退出

架构师养成记--26.vi/vim相关操作的更多相关文章

  1. 架构师养成记--25.linux用户管理

    用户管理配置文件用户信息文件:/etc/passwd密码文件:/etc/shadow用户配置文件:/etc/login.defs /etc/default/useradd新用户信息文件:/etc/sk ...

  2. 架构师养成记--18.NIO

    有人叫new IO 我这里就叫Non-block IO 经典概念: Buffer(缓冲区):之前直接通过流,现在提供一个buffer存放数据. Channel:管道,包括ServerSocketCha ...

  3. 架构师养成记--32.Redis高级(安全 主从复制)

    Redis高级命令及特性 keys * 返回满足的所有键值(*表示模糊匹配) exists 是否存在指定的key(返回1表示存在,0表示不存在) expire 设置某个key的过期时间,使用ttl查看 ...

  4. 架构师养成记--9.future模式讲解

    什么是future模式呢?解释这个概念之前我们先来了解一个场景吧,财务系统的结账功能,这个功能可能是每个月用一次,在这一个月中相关的数据量已经积累得非常大,这一个功能需要调用好几个存储过程来完成.假如 ...

  5. 架构师养成记--37.简单shell编程

    一.HelloWord.sh echo 表示打印,可以在sh文件中写诸如pwd.ls 这样的命令,使用命令的时候尽量使用全路径. #!/bin/sh #this is my first sh echo ...

  6. 架构师养成记--35.redis集群搭建

    前记:redis哨兵经验之谈.哨兵做主从切换可能要花费一两秒,这一两秒可能会丢失很多数据.解决方法之一是在java代码中做控制,try catch 到 链接断开的异常就sleep 一两秒钟再conti ...

  7. 架构师养成记--33.Redis哨兵、redis简单事务

    Redis哨兵 有了主从复制,如果我想想对主从服务器进行监控,在redis2.6后提供了哨兵机制,2.6有哨兵1.0版本,并不稳定.2.8以后的哨兵功能才稳定起来. 顾名思义,哨兵就是监控Redis系 ...

  8. 架构师养成记--31.Redis的几种类型

    String类型 Redis一共分为五种基本数据类型:String.Hash.List.Set.ZSet String类型是包含很多张类型的特殊类型,并且是二进制安全的.比如对序列化的对象进行存储,比 ...

  9. 架构师养成记--15.Disruptor并发框架

    一.概述 disruptor对于处理并发任务很擅长,曾有人测过,一个线程里1s内可以处理六百万个订单,性能相当感人. 这个框架的结构大概是:数据生产端 --> 缓存 --> 消费端 缓存中 ...

随机推荐

  1. IPMI设置与使用(远程控制服务器)

    如果服务器crash了或者就hang住了,我们不必要跑到机房去按电源键的,因为我们也想“运筹帷幄之中,决胜千里之外”嘛.我们可以用IPMI,它可以让我们远程用一条命令开启(关闭.重启)一台服务器,也可 ...

  2. Linux automake命令

    1)automake 使用教程 http://loftor.com/archives/automake.html 2)configure.in Makefile.am解析 http://blog.cs ...

  3. Python 关于数组矩阵变换函数numpy.nonzero(),numpy.multiply()用法

    1.numpy.nonzero(condition),返回参数condition(为数组或者矩阵)中非0元素的索引所形成的ndarray数组,同时也可以返回condition中布尔值为True的值索引 ...

  4. Java中的一些代理技术

    使用cglib,asm 对接口进行拦截,这里需要调用Invoke方法 final IUserService userService=new UserService(); Enhancer enhanc ...

  5. [GO]conext的使用

    package main import ( "context" "time" "net/http" "fmt" &quo ...

  6. Computer

    Computer 1. Ctrl+N .根据惯例,“Control”.“Shift” 以及 “Alternate” 按键将以 Ctrl.Shift 以及 Alt 来表示,需要特别指出的是,其中第一个按 ...

  7. java成长之路-开篇

    一,为了生活 从业7年,主要还是运用.net过日子.今儿下决心再次准备学习java并想达到一定高度,也还是想以后能主要用java赚钱过日子.抱歉眼界所到,平均情况下,java平台的收入还是比.net的 ...

  8. linux服务器下配置多tomcat

    车辆交易用的系统模块,正在做.老板要看看,以便车城那边的人提出意见.于是在服务器上再次增加一个tomcat. 以前是配置过的,配置过程其实很简单,这次太大意了,找了半天问题. 首先是拷贝一个tomca ...

  9. Buffer Pool--数据库内存结构

    数据库从操作系统申请到的内存可分为两部分:1.缓存池内存(数据页和空闲页)2.非缓存池内存(线程/DLL/连接服务器等) Note:通过服务器实例属性设置的最大/最小服务器内存是指缓存池内存Note: ...

  10. 修改chrome插件

    背景 例子为:ModHeader插件,顾名思义可以修改request header的插件,官方地址为:https://chrome.google.com/webstore/detail/modhead ...