好记性不如烂笔头,在这里记录一些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使用技巧(持续更新)的更多相关文章

  1. fastadmin 后台管理框架使用技巧(持续更新中)

    fastadmin 后台管理框架使用技巧(持续更新中) FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架,具体介绍,请查看文档,文档地址为:https://doc. ...

  2. PLSQL Developer 11 使用技巧(持续更新)

    PLSQL Developer 11 使用技巧 (持续更新) 目录(?)[-] 首先是我的颜色配置 常用快捷键 提升PLSQL编程效率 按空格自动替换 关闭Window窗口 PLSQL 实用技巧 TI ...

  3. Vim练级笔记(持续更新)

    漫漫练级路...作为一个VS重度依赖患者,又加上visual assist X 这种懒人必备的神级插件,转投vim门下,真是各种疼... vim用着用着就有拿鼠标去点的冲动,有木有啊! 不过经过一段时 ...

  4. 个人在 laravel 开发中使用到的一些技巧(持续更新)

    1.更高效率地查询:使用批量查询代替 foreach 查询(多次 io 操作转换为一次 io操作) 如果想要查看更详尽的介绍,可以看看这篇文章 什么是 N+1 问题,以及如何解决 Laravel 的 ...

  5. [Tools] Eclipse使用小技巧-持续更新

    [背景] 使用之中发现一些eclipse使用的小技巧,记录下来供以后查阅   Eclipse保存preferences,并导入到其他workspaces The Export wizard can b ...

  6. linux技巧-持续更新

    终端下锁屏ctrl + s,解锁 ctrl + q 长时间运行命令,防中断 screen 注意,screen命令里面是不可以滚动屏幕,查看以前记录的 :  ctrl+A + [ 终端切割屏幕,类似vi ...

  7. linux常用小技巧(持续更新中)

    一.设置固定ip地址1.config查看用的是哪一个网卡这是假设用的是eth12.修改dns地址vim /etc/resolv.confsearch 域名地址nameserver 192.168.3. ...

  8. markdown常用语法使用笔记+使用技巧(持续更新......)

    参考引用内容: 简书教程 一 基本语法 1. 标题 语法: 在想要设置为标题的文字前面加#来表示,一个#是一级标题,二个#是二级标题,以此类推.支持六级标题. 注:标准语法一般在#后跟个空格再写文字 ...

  9. vim 常用指令-持续更新

    1. 查询文件夹file1内文件数量:ls file1 | wc -l 2. 生成文件夹file1内的文件列表:find file1 -type f > list.txt 3. git管理文件, ...

随机推荐

  1. Pyinstaller打包pikepdf失败的问题排查

    问题 最近在项目里用到了pikepdf这个库,用于实现pdf水印插入的一个小功能,源码调试阶段运行一切OK但是在出包时报了如下异常. Traceback (most recent call last) ...

  2. Metasploit(msf)利用ms17_010(永恒之蓝)出现Encoding::UndefinedConversionError问题

    Metasploit利用ms17_010(永恒之蓝) 利用流程 先确保目标靶机和kali处于同一网段,可以互相Ping通 目标靶机防火墙关闭,开启了445端口 输入search ms17_010 搜索 ...

  3. PTA(BasicLevel)-1018 锤子剪刀布

    一.问题定义 大家应该都会玩"锤子剪刀布"的游戏:两人同时给出手势,胜负规则如下:         剪刀 > 布, 锤子 > 剪刀, 布 > 锤子 现给出两人的交 ...

  4. 攻防世界MISC—进阶区32—37

    32.normal_png 得到一张png,扔进kali中binwalk 和 pngcheck一下,发现CRC报错 尝试修改图片高度,我是把height的2改为4,得到flag 33.很普通的数独 得 ...

  5. MySQL--SELECT检索语句

    1.检索单个列 SELECT prod_name FROM products; --上述语句利用 SELECT语句从 products表中检索一个名为prod_name的列. 结束SQL:多条SQL语 ...

  6. 4-4 Spring Test

    Spring Test Ⅰ.主要解决的问题 使用SpringTest前 手动加载Sping配置 手动从Spring容器中获取对象 使用SpringTest后 只需要通过注解指定Spring配置类 在S ...

  7. IDEA快捷键之晨讲篇

    IDEA之html快捷键 快捷键 释义 ! 生成HTML的初始格式 ---- ---- 标签名*n 生成n个相同的标签 ---- ---- 标签>标签 生成父子级标签(包含) ---- ---- ...

  8. Github隐藏使用技巧(超详解)

    目录 github使用说明 查看别人的主页和项目 上传自己的项目 使用git下载github上的文件 使用git实现代码管理 使用git恢复被修改的文件 更多关于git使用小技巧 github使用说明 ...

  9. Git上传仓库

    上传代码到gitee 方法1 1. 将远程仓库克隆到本地 git clone https://gitee.com/abc/aaa.git 2. 添加或修改本地文件 3. 将本地代码push到远程仓库 ...

  10. vue2升级vue3指南(二)—— 语法warning&error篇

    本文总结了vue2升级vue3可能会遇到的语法警告和错误,如果想知道怎样升级,可以查看我的上一篇文章:vue2升级vue3指南(一)-- 环境准备和构建篇 Warning 1.deep /deep/和 ...