Vim使用技巧(持续更新)
好记性不如烂笔头,在这里记录一些Vim使用技巧
vim配置
"拷贝同步到系统剪切板"
set clipboard=unnamed
"显示行号"
set nu
"语法高亮"
syntax on
"显示TAB"
:setlocal list
"搜索结果高亮"
set hlsearch
"默认进行大小写不敏感查找"
set ignorecase
"如果有一个大写字母,大小写敏感查找"
set smartcase
1. 批量替换字符串
基本语法
:[addr]s/源字符串/目的字符串/[option]
[addr] 表示检索范围,省略时表示当前行。
“1,20” :表示从第1行到20行;
“%” :表示整个文件,同“1,$”;
“. ,$” :从当前行到文件尾;
s : 表示替换操作
[option] : 表示操作类型
g 表示全局替换;
c 表示进行确认
p 表示替代结果逐行显示(Ctrl + L恢复屏幕);
省略option时仅对每行第一个匹配串进行替换;
如果在源字符串和目的字符串中出现特殊字符,需要用”\”转义 如 \t
全局替换语法
:%s/源字符串/目的字符串 /g
全局替换例子
将空格替换为换行符

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

2. 在多行首部/尾部添加字符串
基本语法
:[addr]s/标识/目的字符串
标识部分 ^标识行首 $标识行尾
行首增加字符例子

3. 查找文本
| 快捷键 | 功能描述 |
| :/abc | 从光标所在位置向前查找字符串 abc |
| :/^abc | 查找以 abc 为行首的行 |
| :/abc$ | 查找以 abc 为行尾的行 |
| n | 向同一方向重复上次的查找指令 |
| N | 向相反方向重复上次的查找指定 等同shift+n |
| \c | 大小写不敏感 |
| \C | 大小写敏感 |
| :noh | 取消高亮 |
4. 光标移动
| 快捷键 | 功能描述 |
| gg | 移动到第一行 |
| G | 移动到最后一行 等同shift+g |
| ^ | 移动到当前行第一个非空字符 |
| | | 移动到当前行行首 |
| $ | 移动到当前行行尾 |
| k | 向上移动 |
| j | 向下移动 |
| h | 向左移动 |
| l | 向右移动 |
| nw |
由标点符号来区分的单词 向后移动到第n个单词的词首,不填默认下一个 |
| ne |
由标点符号来区分的单词 向后移动到第n个单词的词尾,不填默认下一个 |
| nb |
由标点符号来区分的单词 向前移动到第n个单词的词首,不填默认下一个 |
| nW nE nB | 用空格来分隔单词,适合代码的移动 |
组合操作举例
全选复制: ESC->gg->v->shift+g->$->y
解释:gg移动到第一行,v进入视图模式,shift+g移动到最后一行,$移动到最后一行行尾,y复制所选内容
5. 文本插入
| 快捷键 | 功能描述 |
| i | 在光标之前插入 |
| I | 在当前行第一个非空白字符后插入 |
| a | 在光标之后插入 |
| A | 在当前行行尾巴插入 |
| o | 当前行后新增一行并进入编辑模式 |
| O | 当前行前新增一行并进入编辑模式 等同shift+o |
组合操作举例
在文件末尾新增一行插入: ESC->shift+g->o
6. 翻页跳转
| 快捷键 | 功能描述 |
| ctrl+d | 向后翻半页 |
| ctrl+u | 向前翻半页 |
| ctrl+f | 向后翻一页 |
| ctrl+b | 向前翻一页 |
7. 分屏操作
"水平分割窗口"
vim -o file1 file2
"垂直分割窗口"
vim -O file1 file2
| 快捷键 | 功能描述 |
| ctrl+w+w | 切换到下一个窗口 |
| ctrl+w+p | 切换到上一个窗口 |
| ctrl+w+h(l,k,j) | 切换到左(右,下,上)的窗口 |
| :set scrollbind 简写 :set scb | 设置当前窗口和其它窗口同步滚动 |
| :set noscrollbind 简写 :set noscb | 取消当前窗口和其它窗口的同步滚动 |
| :windo set scrollbind 简写 :windo set scb | 所有窗口同步滚动 |
| :windo set noscrollbind 简写 :windo set noscb | 取消所有窗口的同步滚动 |
| :close 或者 ctrl+w+q | 关闭当前窗口 |
| :sp 文件名 | 水平分屏 |
| :vs 文件名 | 垂直分屏 |
| ctrl + w + = | 所有窗口大小恢复均等 |
| ctrl + w + shift +/- | 上下分屏的窗口大小调整 水平分屏 |
| ctrl + w + shift </> | 左右分屏的窗口大小调整 垂直分屏 |
Vim使用技巧(持续更新)的更多相关文章
- fastadmin 后台管理框架使用技巧(持续更新中)
fastadmin 后台管理框架使用技巧(持续更新中) FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架,具体介绍,请查看文档,文档地址为:https://doc. ...
- PLSQL Developer 11 使用技巧(持续更新)
PLSQL Developer 11 使用技巧 (持续更新) 目录(?)[-] 首先是我的颜色配置 常用快捷键 提升PLSQL编程效率 按空格自动替换 关闭Window窗口 PLSQL 实用技巧 TI ...
- Vim练级笔记(持续更新)
漫漫练级路...作为一个VS重度依赖患者,又加上visual assist X 这种懒人必备的神级插件,转投vim门下,真是各种疼... vim用着用着就有拿鼠标去点的冲动,有木有啊! 不过经过一段时 ...
- 个人在 laravel 开发中使用到的一些技巧(持续更新)
1.更高效率地查询:使用批量查询代替 foreach 查询(多次 io 操作转换为一次 io操作) 如果想要查看更详尽的介绍,可以看看这篇文章 什么是 N+1 问题,以及如何解决 Laravel 的 ...
- [Tools] Eclipse使用小技巧-持续更新
[背景] 使用之中发现一些eclipse使用的小技巧,记录下来供以后查阅 Eclipse保存preferences,并导入到其他workspaces The Export wizard can b ...
- linux技巧-持续更新
终端下锁屏ctrl + s,解锁 ctrl + q 长时间运行命令,防中断 screen 注意,screen命令里面是不可以滚动屏幕,查看以前记录的 : ctrl+A + [ 终端切割屏幕,类似vi ...
- linux常用小技巧(持续更新中)
一.设置固定ip地址1.config查看用的是哪一个网卡这是假设用的是eth12.修改dns地址vim /etc/resolv.confsearch 域名地址nameserver 192.168.3. ...
- markdown常用语法使用笔记+使用技巧(持续更新......)
参考引用内容: 简书教程 一 基本语法 1. 标题 语法: 在想要设置为标题的文字前面加#来表示,一个#是一级标题,二个#是二级标题,以此类推.支持六级标题. 注:标准语法一般在#后跟个空格再写文字 ...
- vim 常用指令-持续更新
1. 查询文件夹file1内文件数量:ls file1 | wc -l 2. 生成文件夹file1内的文件列表:find file1 -type f > list.txt 3. git管理文件, ...
随机推荐
- lvm逻辑卷创建及使用
创建逻辑卷 pvcreate /dev/md0 pvs 查看创建的pv组 pvdisplay /dev/md0 查看磁盘详细信息 添加vg组: 创建vg组: vgcreate vg1 /dev/md0 ...
- 详解SQL中Groupings Sets 语句的功能和底层实现逻辑
摘要:本文首先简单介绍 Grouping Sets 的用法,然后以 Spark SQL 作为切入点,深入解析 Grouping Sets 的实现机制. 本文分享自华为云社区<深入理解 SQL 中 ...
- mesi--cpu内存一致性协议
目录 cpu缓存一致性问题 mesi协议 mesi协议4种状态,及状态转换 模拟工具演示 cpu缓存一致性问题 一个服务器中有多个核,每个核中有多个cpu,每个cpu有多个线程.缓存最少分为3级,1级 ...
- private关键字的作用及使用和this关键字的作用
封装的操作--private关键字 private的含义 1. private是一个权限修饰符,代表最小权限. 2. 可以修饰成员变量和成员方法. 3. 被private修饰后的成员变量和成员方法,只 ...
- 记录一下第一次在CodeForces供题的事(未完待续)
3月11日 因为想出题而开始打比赛上分 (Rating 1727) (期间最低掉到 1669) 6月4日凌晨 上分,有了权限 (Rating 2141) 6月4-6日 出了七道题 6月8-12日 又出 ...
- APISpace 成语大全API接口 免费好用
成语有一个很大一部分是从古代相承沿用下来的,在用词方面往往不同于现代汉语,它代表一个故事或者典故.成语又是一种现成的话,跟习用语.谚语相近,但是也略有区别.成语是中华文化中的一颗璀璨的明珠. 成语 ...
- 5-4 Sentinel 限流_流控与降级
Sentinel 介绍 什么是Sentinel Sentinel也是Spring Cloud Alibaba的组件 Sentinel英文翻译"哨兵\门卫" 随着微服务的流行,服务和 ...
- 手把手教你在netty中使用TCP协议请求DNS服务器
目录 简介 DNS传输协议简介 DNS的IP地址 Do53/TCP在netty中的使用 搭建DNS netty client 发送DNS查询消息 DNS查询的消息处理 总结 简介 DNS的全称doma ...
- 苹果手机和Windows之间互传文件
参考链接:https://jingyan.baidu.com/article/a378c960c46804f229283064.html 实现原理:就是使用Samba服务,windows共享一个文件夹 ...
- vivo官网APP全机型UI适配方案
vivo 互联网客户端团队- Xu Jie 日益新增的机型,给开发人员带来了很多的适配工作.代码能不能统一.apk能不能统一.物料如何选取.样式怎么展示等等都是困扰开发人员的问题,本方案就是介绍不同机 ...