博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux基础 -- vim编辑器3 -- 查找和替换
阅读量:5980 次
发布时间:2019-06-20

本文共 1475 字,大约阅读时间需要 4 分钟。

hot3.png

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://my.oschina.net/pierrecai/blog/1532462

你可能感兴趣的文章
【初探IONIC】不会Native可不可以开发APP?
查看>>
PyCharm for Mac(Python 开发工具)破解版安装
查看>>
Mavne + Spring整合CXF
查看>>
初接触ContentService遇到的一个问题
查看>>
mysql操作数据库
查看>>
重新注册系统所有dll文件
查看>>
GBin1专题之Web热点秀#14
查看>>
flash 大文件上传
查看>>
ZeroMQ接口函数之 :zmq_ctx_term - 终结一个ZMQ环境上下文
查看>>
AndroidSdk下载地址和环境变量配置
查看>>
使用MyBatis查询int类型字段,返回NULL值时报异常的解决方法
查看>>
Android四大组件与进程启动的关系(转)
查看>>
array_walk与array_map的区别
查看>>
Spring Boot全局支持CORS(跨源请求)的配置方法
查看>>
Linux rsync 同步实践
查看>>
Android Studio运行项目报错:Error:null value in entry: annotationProcessorOutputFolder=null的解决方案...
查看>>
爬虫工程师最牛逼的地方是什么???
查看>>
【JSP】Cookie的使用及保存中文,并用Cookie实现购物车功能
查看>>
【Android】Activity的菜单机制和方法解析
查看>>
web服务器boa的移植
查看>>