vim学习3-查找替换
一、字符的替换及撤销(Undo操作)
1.替换和撤销(Undo)命令
替换和Undo命令都是针对普通模式下的操作
| 命令 | 说明 |
|---|---|
r+<待替换字母> |
将游标所在字母替换为指定字母 |
R |
连续替换,直到按下Esc |
cc |
替换整行,即删除游标所在行,并进入插入模式 |
cw |
替换一个单词,即删除一个单词,并进入插入模式 |
C(大写) |
替换游标以后至行末 |
~ |
反转游标所在字母大小写 |
u{n} |
撤销一次或n次操作 |
U(大写) |
撤销当前行的所有修改 |
Ctrl+r |
redo,即撤销undo的操作 |
打开文件进行编辑:
$ vim practice_2
# 输入以下文本
www.shiyanlou.com
然后依次进行如下操作
- 输入
11G,跳转到11行 - 输入fa跳转到第一个
a字符 - 输入
r,并且输入b,a字符被b字符替换(实用) - 输入
R替换字符,输入新字符串,输入完按ESC回到普通模式(实用) - 输入
cc替换整行字符,输入新字符串,输入完按ESC回到普通模式 - 输入
cw替换一个英文字(word),输入完按ESC回到普通模式(实用) - 输入
~,翻转游标所在字符的大小写 - 输入
C替换至行尾,即游标所在处以后的字都会被替换,输入完按ESC回到普通模式 - 输入
u撤销上一次的操作

二、快速缩进
1.使用命令进行快速调整缩进操作
这一小节学习如何在vim中进行快速缩进,缩进操作均在普通模式下有效
打开文件进行编辑
$ vim protocols
- 普通模式下输入
15G,跳转到15行 - 普通模式下输入
>>整行将向右缩进(使用,用于格式化代码超爽) - 普通模式下输入
<<整行向左回退 - 普通模式下输入
:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数
2.shiftwidth命令
shiftwidth命令是指上一节>>命令产生的缩进(可以简写成sw) 普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数 获取目前的设定值
:set shiftwidth?
设置缩进为10个字符
:set shiftwidth=10
输入ESC回到普通模式,再次尝试>>看缩进量是否变化
3.调整文本位置
命令行模式下输入:ce(center)命令使本行内容居中
:ce
命令行模式下输入:ri(right)命令使本行文本靠右
:ri
命令行模式下输入:le(left)命令使本行内容靠左
:le

三、查找
1.快速查找
普通模式下输入/然后键入需要查找的字符串 按回车后就会进行查找。 ?与/功能相同,只不过?是向上而/是向下查找。 进入查找之后,输入n和N可以继续查找 n表示继续查找,N反向查找
2.快速查找练习
使用vim打开文件进行编辑
$ vim protocols
- 普通模式下输入
/icmp查找字符串icmp - 普通模式下输入
n查找下一个icmp - 普通模式下输入
?tcp向上查找字符串tcp - 普通模式下输入
N查找上一个出现的tcp
3.高级查找
- 普通模式下输入
\*寻找游标所在处的单词 - 普通模式下输入
\#同上,但\*是向前(上)找,\#则是向后(下)找 - 普通模式下输入
g\*同\*,但部分符合该单词即可 - 普通模式下输入
g\#同\#,但部分符合该单词即可
以上查找n,N 的继续查找命令依然可以用
vim学习3-查找替换的更多相关文章
- 如何在Vim中的查找替换
“%s/最/第二/g” 用vim的人都知道,这是把所有“最”替换成“第二”的意思.其实vim的查找替换功能非常强大,用的好可以极大提升效率. vim的查找替换命令如下所示: :{作用范围}s/{ ...
- vi、vim 查找替换
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian ...
- vim查找/替换字符串
1.:s 命令来替换字符串. :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivia ...
- Vi/Vim查找替换使用方法
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian 为 s ...
- [转]Vi/Vim查找替换使用方法
vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian ...
- 【不积跬步,无以致千里】VIM查找替换归纳总结zz
http://spaces.msn.com/dingy/blog/cns!2F24B9E66A542581!327.entry VIM中常用的替换模式总结. 1,简单替换表达式 替换命令可以在全文中用 ...
- vim查找/替换字符串 及一些高级用法
例: 32 ./run 0_39.pkt 0_39.jpg 33 ./run 0_3.pkt 0_3.jpg 34 ./run 0_40.pkt 0_40.jpg 35 ./run 0_41.pkt ...
- 关于在vim中的查找和替换
1,查找 在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车. Vim会跳转到第一个匹配.按下n查找下一个,按下N查找上一个. Vim查找支持正则表达式,例如/vim$匹配行尾的 ...
- 【转】关于在vim中的查找和替换
1,查找 在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车. Vim会跳转到第一个匹配.按下n查找下一个,按下N查找上一个. Vim查找支持正则表达式,例如/vim$匹配行尾的 ...
随机推荐
- css样式之vertical-align垂直居中的应用
css样式之vertical-align垂直居中的应用:将图片垂直左右居中 元素垂直居中 1:必须给容器父元素加上text-align:center 2:必须给当前元素转换成行内块元素,display ...
- PropertyInfo 类
[AttributeUsage(AttributeTargets.Property)] //Models 特性 public class CanWriteAttribute : Attr ...
- 一种高兼容性的JavaBean序列化方案
在对JavaBean做序列化时,我们可能在某些场景希望前后兼容性好一些.比如所有的javaBean都序列化后保存在数据库,用的时候需要反序列化创建.随着业务的发展,数据模型可能会进行变更,那么原来的数 ...
- 记录第一次在egret项目中使用Puremvc
这几天跟着另一个前端在做一个小游戏,使用的是egret引擎和puremvc框架,这对于我来说还是个比较大的突破吧,特此记录下. 因为在此项目中真是的用到了mvc及面向对象编程,值得学习 记录第一次在e ...
- jmeter中对于各类时间格式的设置
最普通的设置为使用 函数助手中的__time, 设置好需要使用的类型,并设置接收参数即可 YMD = yyyyMMdd HMS = HHmmss YMDHMS = yyyyMMdd-HHmmss 第二 ...
- android 二维码 扫描,生成,竖屏
最近公司有用到二维码,生成,扫描,所以学习了一下,和大家分享: demo 见下面链接,已经改成竖屏: http://download.csdn.net/detail/q610098308/868101 ...
- excel另存为csv
# -*- coding: utf-8 -*- """ Created on Tue Jul 11 21:25:57 2017 import pandas as pd i ...
- mysql复制数据
前言:由于工作需要,我要造大量数据,最好的方法是直接copy已有的数据,改其中一些值即可.操作的表有主键,且自增,AUTO_INCREMENT 按照以往的经验无外乎: 类别一. 如果两张张表(导出表和 ...
- Linux-fork()函数详解,附代码注释
// // main.c // Project_C // // Created by LiJinxu on 16/8/13. // Copyright © 2016年 LiJinxu-NEU. All ...
- 313 Super Ugly Number 超级丑数
编写一段程序来寻找第 n 个超级丑数.超级丑数是指其所有质因数都在长度为k的质数列表primes中的正整数.例如,[1, 2, 4, 7, 8, 13, 14, 16, 19, 26, 28, 32] ...