首页 > 其他分享 >Vim进阶

Vim进阶

时间:2023-09-28 23:58:11浏览次数:43  
标签:字符 进阶 删除 模式 Vim 当前 移动 光标

https://www.bilibili.com/video/BV1NG4y1p74h

查看帮助文档:normal 模式下输入 :help 字符

插入模式下

ctrl + h删除上一个字符,相当于 backspace 删除键

ctrl + w 如果光标所在位置为空格,则删除本行中当前光标左边最近的一个单词

ctrl + u删除当前光标到行首的内容;如果光标在行首,则删除当前行与上一行之间的换行符

快速切换到 normal 模式和 insert 模式

insert 切换到 normal 模式

ctrl + [ 推荐

ctrl + c 不推荐,可以会切断运行

normal 切换到 insert 模式

gi 快速切换到 insert 模式并将光标移动到最后一次编辑的位置

快速移动光标

向后

  • w/W: 移动到下一个 word/WORD 开头;
  • e/E: 移动到下一个 word/WORD 开头;

向前

  • b/B: 移动到上一个 word/WORD 开头;

WORD 表示是以空白符分割的单词;word 表示是以非空白符分割的单词。

行内搜索移动

  • f + 字符:在当前行从前往后搜索,跳转到指定的字符上,使用 ; 或 , 分别向右或向左移动
  • F + 字符:在当前行从后往前搜索,跳转到指定的字符上,使用 ; 或 , 分别向左或向右移动
  • t + 字符:在当前行从前往后搜索,跳转到指定字符的前一个字符上,使用 ; 或 , 分别向右或向左移动
  • T + 字符:在当前行从后往前搜索,跳转到指定字符的前一个字符上,使用 ; 或 , 分别向左或向右移动

移动到行首或行尾

  • 0: 移动到行首第一个字符
  • ^: 移动到行首第一个非空白字符,可以使用 0w 代替。常用
  • $: 移动到行尾。常用
  • g_: 移动到行尾非空白字符

页面移动

  • gg 移动到文件开头
  • G 移动到文件结尾
  • H/M/L 移动到屏幕的开头、中间和结尾
  • ctrl + u upword,向上翻半页
  • ctrl + f forword,向下翻半页
  • zz 将当前光标所在的行放置在屏幕中间

快速操作

删除

在 normal 模式下进行删除

dd 删除光标所在行;数字 + dd 删除光标所在行及之后的数字 - 1个行

x 删除光标所在字符;数字 + x 删除光标所在字符及之后的数字 - 1个字符

dw 删除当前单词的一部分:当前光标到单词结尾的部分(左闭右闭),以及单词后的空格

daw 删除光标所在的单词以及后面的空格

diw 删除光标所在的单词,不会删除后面的空格

dt + 字符 删除当前光标到指定字符之间(左闭右开)的内容。dt 为 delte to 的意思

d$ 删除当前光标及之后位置上的内容

d0 删除当前光标之前的所有内容

在 visual 模式下进行删除

v 进入行内选择,配合 hl 左右选择后使用 dx 删除

V 进入多行选择模式,配合 jk 上下选择后使用 dx 删除

修改

replace

r + 字符 快速替换光标所在的字符。数字 + r + 字符 将当前光标位置及后边紧挨着的共数字个字符替换为指定的字符

R 进入 replace 模式

substitute

s 删除当前字符并进入 insert 模式;数字 + s 表示删除指定个数个字符后进入插入模式

S 删除当前行,进入 insert 模式,光标移动到行首

change

caw 删除光标所在单词及后边的空格,并进入插入模式

C删除当前行,进入 insert 模式,光标移动到行首。与 S 功能相同

ct + 字符 删除当前字符到指定字符之间的内容(左闭右开),进入 insert 模式

查询

/ + 字符串 向后搜索;? + 字符串 向上搜索

n/N 跳转到下一个或上一个匹配

* 向下搜索当前光标所在单词,并将光标跳转到其上;# 向上搜索当前光标所在单词,并将光标跳转到其上

normal 模式下配置

  • :set hls highlight selected
  • :set incsearch increase search,增量搜索,即动态显示搜索的结果

标签:字符,进阶,删除,模式,Vim,当前,移动,光标
From: https://www.cnblogs.com/engure/p/17736669.html

相关文章

  • 【Python | 进阶】提高你的Python技能,99个让代码更简洁、更快的秘密技巧, 确定不来看看
    ......
  • vim 16进制显示
    你可以在vim中可以把文件转换为16进制来显示::%!xxd解释:把所有的行(%)用本地(!)的xxd程序打开。xxd本是linux下一个显示、编辑、转换二进制的命令。返回正常显示::%!xxd-r注意:vim的-b选项是告诉vim打开的是一个二进制文件,不指定的话,会在后面加上0x0a,即一个换行符。首先以二进制方......
  • 【Python进阶-PyQt5】00搭建PyQt5环境
    1.创建独立开发虚拟环境1.1虚拟环境简介我们编写的程序,有时用到的Python库是不一样的,比如说开发桌面应用程序我们主要用到PyQt5相关的Python库、开发Web应用程序我们主要用到Django相关的Python库等等。假设我们在开发桌面应用程序的时候除了PyQt5相关的Python库外,还附加了其他......
  • 【教程】VIM的使用第九章-成对编辑的插件vim-surround以及收尾一些好用的常用插件
    书接上回,我们继续讲剩下的一些插件内容,以及对剩余的一些内容进行补充,这也就是vim的教程最后一章了~大家可以脱离苦海了~~但是后期想用好vim还是需要大家积极的练习多用。插件vim-surround在日常开发中我们需要成对的修改,比如一次性将单引号改为双引号,就可以用到这个插件了地址......
  • Selenium进阶——解决web 自动化中上传文件的问题
    在做ui自动化测试中,经常会遇到上传文件或者图片的场景,通常的解决方案是自动化工具+autoIT,在这里我介绍一种通过jdk自带api——java.awt.Robot来解决类似问题的方法。java.awt.Robot类主要用于模拟用户点击键盘上的按键,或者模拟用户敲击鼠标等动作。在做web测试时,弹出窗口如下图所......
  • 一张图搞定技术型测试工程师的进阶之路
    话不多说,一张图搞定!!! ......
  • 进阶Python,从编写Python函数开始!
    好多同学都有这样的疑惑,我学习了python的基础语法,那么具体应用该从哪里入手呢?首先大家要确定,代码必须用起来才能越来越熟练!读懂十行代码不如自己亲自上手遍写一行!代码想熟练最好的方法就是能够通过代码解决工作中的实际问题,例如完成UI自动化测试、接口测试、创建测试数据、构建测试......
  • MySQL进阶篇:第二章_二.二_索引结构
    2.2索引结构2.2.1概述MySQL的索引是在存储引擎层实现的,不同的存储引擎有不同的索引结构,主要包含以下几种:索引结构描述B+Tree索引最常见的索引类型,大部分引擎都支持B+树索引Hash索引底层数据结构是用哈希表实现的,只有精确匹配索引列的查询才有效,不支持范......
  • MySQL进阶篇:第二章_二.一_索引概述
    2.1索引概述2.1.1介绍索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。2.1.2演示表结构及其数据如下......
  • MySQL进阶篇:第一章_一.五_MySQL存储引擎选择
    MySQL存储引擎选择在选择存储引擎时,应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统,还可以根据实际情况选择多种存储引擎进行组合。InnoDB:是Mysql的默认存储引擎,支持事务、外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作......