Vim使用技巧(持续更新)

好记性不如烂笔头,在这里记录一些Vim使用技巧

vim配置

"拷贝同步到系统剪切板"
set clipboard=unnamed
"显示行号"
set nu
"语法高亮"
syntax on
"显示TAB"
:setlocal list
"搜索结果高亮"
set hlsearch
"默认进行大小写不敏感查找"
set ignorecase
"如果有一个大写字母,大小写敏感查找"
set smartcase

1. 批量替换字符串

[addr] 表示检索范围,省略时表示当前行。

“1,20” :表示从第1行到20行;

“%” :表示整个文件,同”1,$”;

“. ,$” :从当前行到文件尾;

s : 表示替换操作

[option] : 表示操作类型

g 表示全局替换;

c 表示进行确认

p 表示替代结果逐行显示(Ctrl + L恢复屏幕);

省略option时仅对每行第一个匹配串进行替换;

如果在源字符串和目的字符串中出现特殊字符,需要用”\”转义 如 \t

:%s/源字符串/目的字符串 /g

将空格替换为换行符

将6和7行的空格替换为换行符

2. 在多行首部/尾部添加字符串

:[addr]s/标识/目的字符串

标识部分 ^标识行首 $标识行尾

3. 查找文本

4. 光标移动

由标点符号来区分的单词

向后移动到第n个单词的词首,不填默认下一个

由标点符号来区分的单词

向后移动到第n个单词的词尾,不填默认下一个

由标点符号来区分的单词

向前移动到第n个单词的词首,不填默认下一个

组合操作举例

全选复制: ESC->gg->v->shift+g->$->y

解释:gg移动到第一行,v进入视图模式,shift+g移动到最后一行,$移动到最后一行行尾,y复制所选内容

5. 文本插入

组合操作举例

在文件末尾新增一行插入: ESC->shift+g->o

6. 翻页跳转

7. 分屏操作

"水平分割窗口"
vim -o file1 file2
"垂直分割窗口"
vim -O file1 file2

Original: https://www.cnblogs.com/amos01/p/16634576.html
Author: Amos01
Title: Vim使用技巧(持续更新)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/612395/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Shell第四章《正则表达式》

    1.1、名词解释 正则表达式(regular expression, RE)是一种字符模式,用于在查找过程中匹配指定的字符。在大多数程序里,正则表达式都被置于两个正斜杠之间;例如/…

    数据库 2023年6月14日
    096
  • Consul 入门-运行

    HashiCorp Consul 是由 HashiCorp 公司开发的,它是一家专注于 DevOps 工具链的公司,旗下的明星级产品包括 Vagrant、Terraform、Vau…

    数据库 2023年6月6日
    080
  • 线程池系列一:线程池原来是个外包公司,打工人我悟了

    我们在工作中经常用到线程池,线程池(Thread Pool)是一种基于池化思想管理线程的工具。 线程的作用是处理任务,而池则是帮助我们实现资源的重复利用和管理。线程池就是帮助我们异…

    数据库 2023年6月6日
    0100
  • 编程相关书单

    软工概论软件工程软件工程:实践者的研究方法 职业素养软技能码农翻身技术之瞳程序员修炼之道程序员的职业素养程序员的自我修养 程序设计计算机程序的构造和解释 (SICP) UML软件建…

    数据库 2023年6月11日
    083
  • 关于缓存一致性协议、MESI、StoreBuffer、InvalidateQueue、内存屏障、Lock指令和JMM的那点事

    前言 事情是这样的,一位读者看了我的一篇文章,不认同我文章里面的观点,于是有了下面的交流。 可能是我发的那个狗头的表情,让这位读者认为我不尊重他。于是,这位读者一气之下把我删掉了,…

    数据库 2023年6月16日
    096
  • django中出现 错误 Errno 10053

    django中出现 错误 Errno 10053 pycharm里出现下面错误File “C:\Python27\lib\socket.py”, line …

    数据库 2023年6月9日
    088
  • MySQL索引

    一、索引介绍 索引(index)是帮助MySQL 高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,…

    数据库 2023年5月24日
    081
  • 第十四章 静态代理设计模式

    1.为什么需要代理设计模式 1.1 问题 在javaEE分层开发中,那个层对我们最重要? DAO–>Service–>Controller 在javaEE分层开发中…

    数据库 2023年6月14日
    081
  • 高可用 | Xenon 实现 MySQL 高可用架构 常用操作篇

    原创:知数堂 上一篇文章,我们详细介绍了 Xenon 实现 MySQL 高可用架构的部署过程。接下来本篇将介绍 Xenon 的常用操作,帮助大家在完成环境搭建之后,能把 Xenon…

    数据库 2023年5月24日
    0100
  • 使用Ant从零开始搭建tomcat源码环境

    使用Ant从零开始搭建tomcat源码环境 视频教程 准备工作 编辑 Idea,且装上Checkstyle插件(或者其他开发工具) 编译依赖的Jar包. 开始搭建 搭建编译环境 安…

    数据库 2023年6月11日
    0103
  • 同时运行两个版本相同的tomcat

    由于项目需要,代理集群和一个节点都部署在本地,那么就需要有两个tomcat,一个部署集群,一个部署项目,我都用了7.0.34版本的tomcat 当启动代理的tomcat成功时,再启…

    数据库 2023年6月11日
    0104
  • 17-二分查找

    * import java.util.Arrays; import java.util.Random; import java.util.Scanner; public class…

    数据库 2023年6月16日
    084
  • Java学习-第一部分-第三阶段-项目实战:多用户即时通讯系统

    service ClientConnectServerThread package com.hspedu.qqclient.service; import com.hspedu.q…

    数据库 2023年6月11日
    082
  • MySQL45讲-2-一条SQL更新语句是如何执行的?

    前面我们了解了SQL查询语句是如何执行的,一条SQL查询语句的过程需要经过连接器、分析器、优化器、执行器等功能模块,最终到达存储引擎。 在MySQL中,可以恢复到半个月内的任何一个…

    数据库 2023年5月24日
    095
  • MyRocks DDL原理

    最近一个日常实例在做DDL过程中,直接把数据库给干趴下了,问题还是比较严重的,于是赶紧排查问题,撸了下crash堆栈和alert日志,发现是在去除唯一约束的场景下,MyRocks存…

    数据库 2023年6月9日
    0102
  • MySQL数据库 DDL 阻塞问题定位 【转载】

    陈臣,甲骨文MySQL首席解决方案工程师,公众号《MySQL实战》作者,有大规模的MySQL,Redis,MongoDB,ES的管理和维护经验,擅长MySQL数据库的性能优化及日常…

    数据库 2023年5月24日
    0108
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球