文档章节

Linux基础 -- vim编辑器3 -- 查找和替换

兴趣使然的程序员
 兴趣使然的程序员
发布于 2017/09/09 23:26
字数 994
阅读 20
收藏 1
点赞 0
评论 0

1、字符的替换及撤销(Undo操作)

1.1、替换和撤销(Undo)命令

替换和Undo命令都是针对普通模式下的操作

命令 说明
r+<待替换字母> 将游标所在字母替换为指定字母
R 连续替换,直到按下Esc
cc 替换整行,即删除游标所在行,并进入插入模式
cw 替换一个单词,即删除一个单词,并进入插入模式
C(大写) 替换游标以后至行末
~ 反转游标所在字母大小写
u{n} 撤销一次或n次操作
U(大写) 撤销当前行的所有修改
Ctrl+r redo,即撤销undo的操作

打开文件进行编辑:

$ vim practice_2
# 输入以下文本
www.shiyanlou.com

然后依次进行如下操作

  • 输入fa 跳转到第一个a字符
  • 输入r,并且输入b,a字符被b字符替换(实用)
  • 输入R替换字符,输入新字符串,输入完按ESC回到普通模式(实用)
  • 输入cc替换整行字符,输入新字符串,输入完按ESC回到普通模式
  • 输入cw 替换一个英文字(word),输入完按ESC回到普通模式(实用)
  • 输入~,翻转游标所在字符的大小写
  • 输入C 替换至行尾,即游标所在处以后的字都会被替换,输入完按ESC回到普通模式
  • 输入u 撤销上一次的操作

最后可以尝试下输入更多行的文本内容,并进行跳转到指定行的操作:

  • 输入2G,跳转到2行

2.2 快速缩进

2.2.1 使用命令进行快速调整缩进操作

这一小节学习如何在vim中进行快速缩进,缩进操作均在普通模式下有效

打开文件进行编辑

$ vim protocols
  • 普通模式下输入15G,跳转到15行
  • 普通模式下输入>> 整行将向右缩进(使用,用于格式化代码超爽)
  • 普通模式下输入<< 整行向左回退
  • 普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数

2.2.2 shiftwidth命令

shiftwidth命令是指上一节>>命令产生的缩进(可以简写成sw

普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数

获取目前的设定值

:set shiftwidth?

设置缩进为10个字符

:set shiftwidth=10

输入ESC回到普通模式,再次尝试>>看缩进量是否变化

2.2.3 调整文本位置

命令行模式下输入:ce(center)命令使本行内容居中

:ce

命令行模式下输入:ri(right)命令使本行文本靠右

:ri

命令行模式下输入:le(left)命令使本行内容靠左

:le

2.3 查找

2.3.1 快速查找

普通模式下输入/然后键入需要查找的字符串 按回车后就会进行查找。

/功能相同,只不过是向上而/是向下查找

进入查找之后,输入nN可以继续查找

n表示继续查找,N反向查找

2.3.2 快速查找练习

使用vim打开文件进行编辑

$ vim protocols
  • 普通模式下输入/icmp查找字符串icmp
  • 普通模式下输入n查找下一个icmp
  • 普通模式下输入?tcp向上查找字符串tcp
  • 普通模式下输入N查找上一个出现的tcp

2.3.3 高级查找

  • 普通模式下输入\*寻找游标所在处的单词
  • 普通模式下输入\#同上,但 \# 是向前(上)找,\*则是向后(下)找
  • 普通模式下输入g\*\* ,但部分符合该单词即可
  • 普通模式下输入g\#\# ,但部分符合该单词即可

以上查找n,N 的继续查找命令依然可以用

本文转载自:https://www.shiyanlou.com/courses/2/labs/18/document

共有 人打赏支持
兴趣使然的程序员
粉丝 21
博文 112
码字总数 87412
作品 0
深圳
程序员
Linux操作系统基础知识vi/vim命令

之前介绍了nano编辑器,vi/vim在功能上更加强大,所以一般都使用vi/vim编辑器编写脚本。vim在vi基础上添加了更加友好的编辑界面,也更容易发现错误。 也可以称为模式化编辑器:编辑模式(命令...

从运维开始
06/26
0
0
51.vim

Vim简介: Vim的前身为vi(visual editor)编辑器,Vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,Vi是效率很高的文本编辑器。尽管在Linux上也有很多图...

闪电王
01/07
0
0
Linux笔记:使用Vim编辑器

Vim基础 Vim编辑器在内存缓冲区处理数据。只要键入vim命令和你要编辑的文件的名字,即可启动Vim编辑器。如在启动Vim时未指定文件名,或者这个文件不存在,Vim会新开一段缓冲区域来编辑;如果...

j_hao104
2016/10/23
36
0
Android拓展系列(4)--vim编辑器的基本使用

从接触Linux到现在,也已经好几年了,对于linux的感觉一直是分分离离,充满了遗憾,最大的遗憾之一就是一直没能精通vim,不能完全适应vim下的代码开发。 最近工作中又广泛接触到vim的使用,我...

枫影Xda
2011/10/23
0
0
Vi/Vim编辑器基础操作

Vi(Visual interface)编辑器,有SUN公司的Bill Joy开发,是Linux和Unix上最基本的文本编辑器,并且它不需要图形界面,所以它的效率很高。虽然说它是最基本的编辑器,但是它在Linux中的地位...

long44
2017/10/18
0
0
2018-1-2Linux基础知识(19)vi编辑器及bash算数

在上一章当中我们讲述了vim的基本操作,例如我们如何打开文件及关闭文件,以及如何进行编辑等,以及讲到了vim的诸多模式中之间的转换和常用的编辑命令,那么我们接下来介绍vim的末行模式及内...

刘祥宇
01/06
0
0
Linux 下 vi/vim 文本编辑器超详细使用指南

Linux下的编辑器最常用的就是vim或者vi文本编辑。vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能。 大多数的linux/unix 发行版本中都使用 vim 代替了...

LEAN_IN
2015/01/26
0
0
Linux的部分基础命令

基本命令(2) 7.touch touch - change file timestamps, 修改文件的时间戳 格式:touch [OPTION]... FILE... 注意:此文件在操作系统中必须存在 例如:[root@localhost ~]# ls -l a.txt -rw-r...

狐狸和鳄鱼
2017/10/20
0
0
Linux初级程序员的vim编辑器

Linux初级程序员的vim编辑器 vi编辑器:全屏的文本编辑器 vi: visual interface,可视化界面; vim:vi improved vim相对于vi有更多的新特性: 1.语法着色显示; 2.更多的命令; 3.历史记录...

刘景宇
2017/10/20
0
0
关于Linux中默认文本编辑工具vi/vim

vi编辑器:全屏的文本编辑器 vi:visual interface,可视化接口; S.U.N:Bill Joy创始人 ,主持研发vi,sparc,SunOS(Solaris) vim:vi IMproved,vi的升级版 vim相对于vi有更多的新特性;...

花花很漂漂
2017/10/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CentoOS6.6安装netcat

CentOS下安装netcat 使用zookeeper过程中,需要监控集群状态。在使用四字命令时(echo conf | nc localhost 2181),报出如下错误:-bash: netcat: command not found。 我的系统是CentOS 6....

ghou-靠墙哭
4分钟前
0
0
es6之解构赋值巧用

ES6 允许按照一定模式,从数组、对象等中提取值,对变量进行赋值,这被称为解构赋值。 如何进行解构赋值我这里就不赘述,本篇文章主要是将解构赋值的巧妙使用之处。 1、交互变量的值 常用交互...

秋季长青
9分钟前
0
0
Elasitcsearch High Level Rest Client学习笔记(三)批量api

Bulk Request BulkRequest可以在一起从请求执行批量添加、更新和删除,至少需要添加一个操作 BulkRequest request = new BulkRequest(); //创建BulkRequestrequest.add(new IndexRequest("...

木子SMZ
12分钟前
0
0
mybatis-dynamic sql

OGNL expressions if 判断是否存在值 <select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <if test="title != null"> AND title like #{tit......

writeademo
20分钟前
0
0
社交系统ThinkSNS+ V1.8.3更新播报

     研发发布版本号:1.8.3   本次版本于2018年7月16日发布   本次发布类型:新增功能、细节调整与优化   社交系统ThinkSNSPlus更新体验:请于官网下载/安装最新版或联系QQ35159...

ThinkSNS账号
23分钟前
0
0
教育思考:选择编程是一场父母和孩子的和解[图]

教育思考:选择编程是一场父母和孩子的和解[图]: 之前有个很热的段子是这样讲的:深夜十点的时候,某小区一女子大声喊叫“什么关系?啊?!到底什么关系?你说!”最后发现原来是一位妈妈陪...

原创小博客
24分钟前
0
0
X64汇编之指令格式解析

最近由于项目组内要做特征码搜索的东西,便于去Hook一些未导出函数,你懂得...于是就闲着学习了一下x86/x64的汇编指令格式。x86的汇编指令格式请参照http://bbs.pediy.com/showthread.php?t...

simpower
27分钟前
0
0
rust 语法概要(只适合不熟悉时快速查阅使用,不适合理解其精髓。未完待续)

注意:本内容只适合快查,不适合理解精髓。精髓请研读 https://kaisery.github.io/trpl-zh-cn/foreword.html 基本数据类型 i8,i16,i32,i64,i128 u8,u16,u32,u64,u128 f32,f64 char bool:true...

捍卫机密
30分钟前
0
0
JS中严格模式和非严格模式

1,使用 严格模式的使用很简单,只有在代码首部加入字符串 "use strict"。必须在首部即首部指其前面没有任何有效js代码除注释,否则无效 2.注意事项 (1)不使用var声明变量严格模式中将不通...

AndyZhouX
30分钟前
0
0
Nginx配置error_page 404 500等自定义的错误页面

Nginx 做web server时, 开发中发现有时候的网站代码有错误,我们需要跳转到一个指定内容的错误页面: 1. 在nginx.conf配置文件上加上一句: fastcgi_intercept_errors on; 2. 服务中加上: er...

MichaelShu
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部