首页 > 其他分享 >Vim 学习记录

Vim 学习记录

时间:2022-12-16 19:44:57浏览次数:38  
标签:记录 游标 模式 Vim 学习 命令 移动 光标

Vim 学习记录

 

Vim的三种主要模式 :

普通模式

在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是Vim启动后的默认模式。这正好和许多新用户期待的操作方式相反(大多数编辑器默认模式为插入模式)。

在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按a(追加)键或者i(插入)键。

插入模式i

在这个模式中,大多数按键都会向文本缓冲区中插入文本。大多数新用户希望文本编辑器编辑过程中一直保持这个模式。

在插入模式中,可以按ESC键回到普通模式!!!!!!

可视模式v

这个模式与普通模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。Vim的"文本对象"也能和移动命令一样用在这个模式中。

选择模式

这个模式和无模式编辑器的行为比较相似(Windows标准文本控件的方式)。这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。

命令行模式 :)

在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式。

 

快捷操作 //不同版本内操作会有所不同

字符级移动

在普通模式下,可以使用方向键或者h,j,k,l进行移动,如下表:

按键

方向

h,←

l,→

j,↓

k,↑

行内移动

在行内以移动游标时,可以使用下面的命令来实现:

按键

说明

w

右移到下一个单词的开头

e

右移到下一个单词的末尾

b

左移到前一个单词的开头

0

右移到本行的开始

$

右移到本行的末尾

^

左移到本行的第一个非空字符

页级移动

可以在相邻页之间移动:

按键

说明

crtl+f

前移一页

crtl+b

后移一页

页内移动

当我们到达指定页时,可以在页内快速移动:

按键

说明

H

将光标移到该页的起始行

M

将光标移到该页的中间行

L

将光标移到该页的末尾行

 其他移动

Vim提供了很多的移动方式,这里再列举一些大范围移动:

按键

说明

*

将光标移到该单词的下一个位置

#

将光标移到该单词的上一个位置

g

将光标移到文件的第一行

G

将光标移到文件的末尾行

 

 

 搜索

Vim的搜索方法非常简单,只需要输入/+内容就可以进行搜索,其命令具体如下:

指令

说明

\+str

向下搜索字符串str

n

继续搜索

N

反向搜索

?+str

反向搜索字符串str

尝试使用命令搜索ephc,vmi

替换

Vim的常规替换命令主要由s和c完成,但替换命令之后,会进入插入模式,按下ESC即可返回普通模式,替换命令部分如下:

指令

说明

s

用输入的正文替换游标所在的字符

ns

用输入的正文替换游标右侧n个字符

c$

用输入的正文替换从游标开始到行尾的所有字符

c0

用输入的正文替换从本行开始到游标的所有字符

删除

Vim的删除命令主要由d和x完成,如下:

指令

说明

x

删除游标所在的字符

X

删除游标所在前一个字符

dw

删除游标右的单词

dd

删除游标所在行

d0

删除光标到行的开始

d$

删除光标到行的末尾

复制

Vim中删除操作其实与剪切操作类似,会将内容复制到内存缓冲区,当然,也可以通过命令自行复制而不删除内容:

指令

说明

yy

复制游标所在行到缓冲区

nyy

复制n行到缓冲区

粘贴

将内容复制到缓冲区后,可以使用命令将内容粘贴:

指令

说明

p

粘贴到游标后

P

粘贴到游标前

撤销

通过指令,可以撤销上一次的操作:

指令

说明

u

撤销上次操作

重复

通过指令,可以重复上一次的操作:

指令

说明

u

重复上次操作

 

 

********

标签:记录,游标,模式,Vim,学习,命令,移动,光标
From: https://www.cnblogs.com/sunyang13763857269/p/16988174.html

相关文章

  • 【机器学习】李宏毅——线性降维
    降维,可以用下面这张图来很简单的描述,就是将不同的、复杂的多种树都抽象成最简单的树的描述,也就是我们不关心这棵树长什么样子有什么特别的特征,我们只需要降维,知道它是一棵......
  • 记录--三分钟打造自己专属的uni-app工具箱
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助介绍可曾想过我们每次创建新项目,或者换地方写程序,都要把之前写过的工具类找出来又要复制粘贴一遍有些麻......
  • 机器学习之pandas读取csv文件到指定行停止,不再读取后面的值
    1.关于这个读取csv文件到指定行,目前想了两个方法。1.直接withopen文件一行一行读,读到我们所需要的行返回。但是如果这个文件又需要用pandas处理,就会显得很麻烦,造成......
  • 适配器模式--学习
    适配器模式​ 将一个已有的服务器端应用接口转换成一个客户端程序所期望的接口。模式涉及的角色有目标接口(ITarget):所期待的接口,这里是类适配器模式,因此目标不可以是类......
  • SAP ERP学习笔记 -- 物料管理模块
    物料管理模块蓝图​ 模块简介  物料管理模块(MM)覆盖了一个集成供应链(物料需求计划、采购、库存和库房管理)所有有关物料管理的任务。 1. 采购管理系统2. 库存管理系统3......
  • HLS学习笔记——vivado HLS的Design Flow概念
    本博客为​​跟XilinxSAE学HLS系列视频讲座-高亚军​​的学习笔记。软件工程师怎么了解FPGA架构VivadoHLS是将基于C/C++描述的算法转化成相应的RTL代码,最终在FPGA上实现......
  • NoSQL数据库学习手记——初见倾心ETCD与ZooKeeper
    ​​复制状态机​​Time,Clocks,andtheOrderingofEventsinaDistributedSystem/Implementingfault-tolerantservicesusingthestatemachineapproach​可......
  • gRPC 从学习到生产
    gRPCPractice了解gRPC,更知REST视频信息grpc:FromTutorialtoProductionbyAlanShreveatGopherCon2017​​https://www.youtube.com/watch?v=7FZ6ZyzGex0​​博文:http......
  • spring boot 配置记录
    1.spring-retry spring-retry 是Spring中的提供的一个重试框架,提供了注解的方式,在不入侵原有业务逻辑代码的方式下,优雅的实现重处理功能。使用步骤:a)添......
  • 从0到1学习FreeRTOS:FreeRTOS 内核应用开发:(一)移植FreeRTOS到STM32第一部分
    一、 STM32的裸机工程模板:相信学FreeRTOS的同学一定学过stm32,所以可以用自己的工程作为模板即可。或者去火哥论坛下一份模板程序。二、下载FreeRTOSV9.0.0源码:获取 Fr......