【linux】vim编辑器

1.vim介绍

vim 是一个功能非常强大的全屏幕文本编辑器,在 Linux 中,vim 编辑器被广泛使用。因为其功能丰富,尤其受程序员喜爱。

vim 也是一个类似于 vi 的著名的功能强大、高度可定制的 文本编辑器 ,在 vi 的基础上改进和增加了很多特性。

vim 和 vi 一样,是多模式编辑器,不同的是 vim 是 vi 的升级版本,它不仅兼容 vi 的所有指令,并且糅合了一些新的特性在 vim 中。例如语法高亮、可视化操作,这些不仅可以在终端运行,也可以也可以运行于 x window、 mac os、windows 。

区分编辑器和 IDE :

可能我们之前就是在 vs2022 写代码,在这类IDE(集成开发环境) 中,一个软件就可以涵盖所有功能,包括编辑,编辑,调试等等;而我们的 vim 是编辑器,单纯是写代码的。如果要编译则需要用到 gccg++,调试需要用到 gdb 。工具之间互相独立,虽然 vim 可以对功能进行整合。但是还是要拎清概念:vim 是一款编辑器。

vim 拥有的模式一共有 12种模式,但我们 真正常用的只有三种 :命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode) 。所以我们今天在将 vim 基本操作时,主要围绕这三种模式进行讲解:

先了解一下这三种模式:

  • 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode 。命令模式的功能很丰富,使操作便捷。

  • 插入模式(Insert mode)

只有在Insert mode下,才可以做 文字输入 ,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

  • 底行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。如果要查看你的所有模式方法为打开vim,底行模式直接输入 :help vim-modes

vim 默认打开为 命令模式 ,命令模式下,是无法进行输入操作的。在命令模式下,可以实现对各种模式的切换,比如:

命令模式 切换至 插入模式 :按 i / a / o 进入插入模式,三种方法都具有不同的效果。
命令模式 切换至 底行模式 : shift : 两个键同时按住进入模式。进入模式后,在 vim 左下角出现了 : q 直接退出 ;w 保存,q 退出, wq :保存退出。
任意模式 切换至 命令模式 :按ESC ,直接切换至命令模式。

2.vim安装

  1. 打开终端(Terminal)。
  2. 运行以下命令以更新软件包列表: sudo apt update
  3. 运行以下命令以安装 Vim: sudo apt install vim
  4. 在安装过程中,你可能需要输入管理员密码来确认安装。
  5. 安装完成后,你可以在终端中运行 vim 命令来启动 Vim 编辑器

3.vim编辑器的进入 

1.新增(append)

按 a :光标往后跳转一个字符,从跳转后位置开始输入

按 A:光标跳转至行最后一个字符,从跳转后位置开始输入

2.插入(inset)

按 i :从光标当前位置前面开始输入

按 I :从光标所在行的第一个非空白字符前开始输入
3.开始(open)
按 o :从光标所在行上另起新的一行,从行首开始输入

按 O :从光标所在行上另起新的一行,从行首开始输入

4.命令模式的命令 

下面,我们对常用命令做出一些整理(下面出现的 n 均代表数字) :

复制粘贴剪切 :

  • yy / nyy :复制光标所在行或者复制包含当前行在内的 n 行
  • p / np :粘贴一行或多行相同内容到当前光标所在行之下
  • dd / ndd :对当前行或者当前行在内的 n 行的内容进行剪切,移动光标到目标行进行 p 粘贴(只剪切,不粘贴相当于就是删除)

撤销 :

  • u :撤销上一步操作
  • ctrl + r :对撤销进行撤销

撤销只能对于本次操作内,退出保存再次操作时,是无法撤销的。

光标定位:

对全局文档:

  • shift g :将光标定位到文档结尾
  • gg :将光标定位到文档开头
  • n shift g : 将光标定位到文档指定行

对局部长文本行(例如若干行100字符长度,行内快速定位):

  • shift $ :将光标定位到当前文档行的结尾
  • shift ^ :将光标定位到当前文档行的开头
  • w / b :按照单词为单位,进行后 / 前移动(单词定义:对于长串字符组成的非单词也认为是单词)
  • nw / nb :默认单词数从 0 开始,进行后 / 前移动 n 个单词间距

文本编辑 :

  • shift ~ :对文本行进行快速大小写切换,小写转大写,大写转小写。按住不动默认一直切换,直到文本行末尾
  • r 字符 / nr 字符 :替换光标所在的字符或者对于 n 个字符文本行进行批量化替换;如果 n 超过文本行长度,则不会进行替换
  • shift r :进入替换模式,该模式输入什么则对光标位置完成对等的替换,按退格键删除就是复原
  • x / nx :对文本行内进行向后删除或者对光标开始 n 个字符进行向后删除,按住不动默认一直删除,简单概括:行内删除,左侧–>右侧
  • shift x / shift nx :行内删除,右侧–>左侧

搜索字符串:

  • /str:移至下一个包含str的行 
  • ?str:移至上一个包含str的行 
  • /:往下继续查找
  • ?:往上继续查找
  • n:同一地方重复查找
  • N:在相反方向重复查找
  • /str/+n:移至下一个包含str的行的第n行 
  • ?str?+n:移至上一个包含str的行 的第n行 

5.底行模式的命令

命令模式按 shift :进入底行模式。

调出 / 隐藏行号:

  • set nu :显示行号
  • set nonu :隐藏行号

文件的保存和退出 :

  • w :保存
  • q :退出
  • wq :保存并退出
  • w! :在写保护文件情况下无法保存,强制保存。 ! 代表强制
  • q! :强制退出
  • wq! :强制保存并退出

强制的前提是 有权限 ,没权限照样不能强制。 ! 适用于强行修改写保护文件或配置文件等操作。

不退出 vim 执行 shell 命令 :

底行模式中,可以通过 !command 来完成不退出 vim ,执行 shell 指令,例如我们执行 ls -l 指令:

执行命令之后,会跳转到终端,这时按下 Enter 键返回vim。

字符串的替换:

%s/str1/str2/g,可以对数据进行批量替换,g 代表全局,例如: %s/hello/HELLO/g ,是对全局中,将 hello 替换为 HELLO

分屏 :

  1. 在底行模式下使用vs file :创建一个 file 文件,这样就可以分屏。
  2. 如果想要知道我们当前处于哪个屏幕,只要明确一点:在 vim 中,光标在哪里,我们就是在编写哪个文件
  3. 通过 ctrl + ww 我们就可以切换到不同界面,分屏可以支持多个。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值