当前位置: 首页 > news >正文

【Linux】vim编辑器使用详解

目录

  • 一、vim编辑器简介
  • 二、 vim编辑器使用指南
    • 1.基本操作
      • 1.进入与退出
      • 2.模式切换
    • 2.命令模式
      • 1.移动光标
      • 2.选择文本(可视模式)
      • 3.删除文字
      • 4.复制粘贴
      • 5.替换
      • 6.撤销
      • 7.注释
      • 8.多文件窗口切换
    • 3.底行模式
      • 1.列出每行的行号
      • 2.跳转到某行
      • 3.查找字符
      • 4.保存文件
      • 5.在vim中打开其他文件(多文件)
      • 6.退出vim
  • 三、vim总结

一、vim编辑器简介

Vim(ViIMproved)是一种高度可配置的文本编辑器,用于有效地创建和更改任何类型的文本。Vim的设计目标是提供一种高效的文本编辑方式,通过键盘快捷键和命令来执行大部分编辑任务,从而减少对鼠标的依赖。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hUdH0kkY-1721482389667)(https://i-blog.csdnimg.cn/direct/e8d558b400e64c15a12dddb3d073fbd9.png#pic_center)]

二、 vim编辑器使用指南

vim的使用操作有打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等。

1.基本操作

1.进入与退出

**进入:输入 vim 文件
退出:在命令模式下按 :wq(保存后退出)、q!(不保存强制退出) **

2.模式切换

vim编辑器有许多模式,我们主要使用三个:

命令模式(普通模式)、插入模式、底行模式

在进入vim时,我们默认是命令模式,要切换到[插入模式]才能够输入文字

命令 >>> 插入:按 i / o / a 其中一个小写单词进入插入模式

命令 >>> 底行:按冒号 : 进入底行模式

插入/底行 >>> 命令:按键盘左上角 ESC

按 i / o / a 其中一个小写单词进入插入模式,但每种进入的效果不同

按「i」:从光标当前位置开始输入文件;
按「a」:从目前光标所在位置的下一个位置开始输入文字;
按「o」:插入新的一行,从行首开始输入文字

命令模式可以随意切换到插入和底行模式,但是插入和底行之间切换需要先切换到命令模式下在进行切换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iWscdr0Y-1721482389670)(https://i-blog.csdnimg.cn/direct/7b95d0edcb334167aa566db3ef58cfae.png)]

2.命令模式

1.移动光标

1.可以直接用键盘上的移动键来上下左右移动 也可以用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移

2.按「G」:移动到文章的最后

3.按「 $ 」:移动到光标所在行的“行尾”
4.按「^」:移动到光标所在行的“行首”

5.按「w」:光标跳到下个字的开头
6.按「e」:光标跳到下个字的字尾
7.按「b」:光标回到上个字的开头

8.按「#l」:光标移到该行的第#个位置,如:5l,56l

9.按[gg]:进入到文本开始
10.按[shift+g]:进入文本末端

11.按「ctrl」+「b」:屏幕往“后”移动一页
12.按「ctrl」+「f」:屏幕往“前”移动一页

13.按「ctrl」+「u」:屏幕往“后”移动半页
14.按「ctrl」+「d」:屏幕往“前”移动半页

15.按「#G」:「8G」,表示移动光标至文章的第8行行首
16.按「ctrl」+「g」列出光标所在行的行号

2.选择文本(可视模式)

Vim 不像某些其他编辑器那样直接支持使用鼠标或 Shift 键来选择文本。但是,你可以使用可视模式(Visual Mode)来选择文本。

进入可视字符模式:按 v。
进入可视行模式:按 V。这会选择整行,并允许你通过移动光标来选择多行。
进入可视块模式:按 Ctrl +v。这允许你选择文本块。 在可视模式下,你可以使用移动命令(如 h、j、k、l)来选择你想要的文本。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AC0u0pfj-1721482389671)(https://i-blog.csdnimg.cn/direct/24cab6bde1834ab79621e002b4c9301e.png)]
下面的复制粘贴,剪切,注释都可以用的到文本的选择,使操作更加方便

3.删除文字

单个字符:

「x」:每按一次,删除光标所在位置的一个字符
「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符

行:

*「dd」:删除光标所在行
「#dd」:从光标所在行开始删除#行

删除单词

dw:删除从光标位置到下一个单词开头的文本。
db:删除从光标位置到上一个单词开头的文本(包括空白字符)。
diw:删除光标所在的单词(不包括前后空白字符)。

自定义文本块删除

进入可视模式(v 进入字符模式,V 进入行模式,Ctrl + v 进入块模式)。
在可视模式下,你可以使用移动命令(如 h、j、k、l)来选择你想要的文本
选择你想要删除的文本块。
按 d 来删除选中的文本块。

4.复制粘贴

字符:

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。 「#yw」:复制#个字到缓冲区

行:

「yy」:复制光标所在行到缓冲区。 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

自定义文本复制:

进入可视字符模式:
按 v:进入可视行模式:
按 V:这会选择整行,并允许你通过移动光标来选择多行。 进入可视块模式:
按 Ctrl +v。这允许你选择文本块。
在可视模式下,你可以使用移动命令(如 h、j、k、l)来选择你想要的文本

粘贴:

「p」:将缓冲区内的字符贴到光标所在位置。

注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

5.替换

「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

6.撤销

撤销

「u」:如果误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。

撤销的撤销

「ctrl + r」: 撤销的恢复

7.注释

注释的操作与赋值粘贴类似
1.单行注释

可以选择在该行的前面加//

2.自定义区域注释

1:按ctrl v进入可视模式
2:用h,j,k,l选择注释区域
3:按 shift i(I)
4:输入 //
5:按ESC键

3.去注释

1:按ctrl v进入可视模式
2:用h,j,k,l选择去注释区域
3:按 d

8.多文件窗口切换

我们的输入光标在哪个文件,表明我们正处于拿个文件
ctrl ww: 在多文件窗口循环切换
ctrl w h/j/k/l 选择该方向的文件进行切换

3.底行模式

1.列出每行的行号

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

2.跳转到某行

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了

3.查找字符

向后:

「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 「n」会往后寻找到您要的关键字为止。

向前:

「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直 按「n」会往前寻找到您要的关键字为止。

4.保存文件

「w」: 在冒号前输入字母「w」就可以将文件保存起来

5.在vim中打开其他文件(多文件)

vs 所要打开的文件名
在这里插入图片描述
在这里插入图片描述

6.退出vim

保存文件后退出

「q」:按「q」就是退出
「wq」:保存文件后退出

强制退出(不保存文件)

「q!」:强制离开vim

三、vim总结

Vim 的设计哲学是键盘优先,所以尽量使用键盘快捷键来完成操作,而不是鼠标。

随着你对 Vim 的熟悉,你会发现使用 Vim 的效率远远超过其他编辑器

愿我们都能玩转Vim

http://www.lryc.cn/news/407183.html

相关文章:

  • 手机怎么设置不同的ip地址
  • SpringBoot读取配置的6种方式
  • 1.1 openCv -- 介绍
  • 探索PostgreSQL的GUI工具:提升数据库管理效率
  • 【从零开始实现stm32无刷电机FOC】【实践】【5/7 stm32 adc外设的高级用法】
  • springcloud接入seata管理分布式事务
  • Android APP 音视频(02)MediaProjection录屏与MediaCodec编码
  • java中log4j.properties配置文件浅析
  • RV1126 Linux 系统,接外设,时好时坏(二)排查问题的常用命令
  • 鸿蒙北向开发 DevEco Studio 4.1 下载安装傻瓜式教程
  • pglogical扩展的基本用法介绍
  • 2024年虚拟主机转移教程
  • Python 函数对象和函数调用
  • sql注入的专项练习 sqlilabs(含代码审计)
  • 淄博网站建设贵不贵
  • 【学习笔记】无人机系统(UAS)的连接、识别和跟踪(十)-无人机A2X服务
  • 基于迁移学习的手势分类模型训练
  • 个性化音频生成GPT-SoVits部署使用和API调用
  • MFC列表框示例
  • Android TabLayout的简单用法
  • 基于vite + pnpm monorepo 实现一个UI组件库
  • FDM3D打印系列——Luck13关节可动模型打印和各种材料的尝试
  • windows10 获取磁盘类型
  • 数据库之运算符
  • 【自动化机器学习AutoML】AutoML工具和平台的使用
  • 【每日一练】python求最后一个单词的长度
  • [红明谷CTF 2021]write_shell 1
  • 【Go - sync.once】
  • Spark RPC框架详解
  • win10安装ElasticSearch7.x和分词插件