0


Linux编辑器-vim使用

1.vim的基本概念

  • vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 macos、windows。
  • vim具有三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)

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

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

底行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。

2.vim基本操作

进入/退出vim

进入vim

**vim+文件名 **进入该文件的编辑界面。

退出vim

esc + :切换值命令模式,输入想要的指令退出。

选项说明w保存q退出!强制wq保存并退出q!不保存,强制退出wq!保存并强制退出(最高权限者强制写入只读文件)

**shift + zz **保存退出

插入模式

在文件的编辑页面,按** i **进入插入模式

光标表示当前插入位置

这些是常见的按键进入插入模式
i在光标所在字符的前面开始插入I在光标所在行的头部开始插入,若头部有空格则在空格后插入a在光标所在字符的后面开始插入A在光标所在行的末尾开始插入o在光标所在行的下一行开始插入O在光标所在行的上一行开始插入s删除光标所在后面的一个字符,并在此插入 S删除光标所在行并开始插入

3.命令模式

以下操作都是基于vim命令集:

1.光标的移动

移动光标指令
h将光标向左移动(前面可带数字)j将光标向下移动(前面可带数字)k将光标向上移动(前面可带数字)l将光标向右移动(前面可带数字)w以单词为单位进行光标后移e光标跳到下个字的字尾b以单词为单位进行光标前移^将光标移动到光标所在行的开头$将光标移动到光标所在行的结尾gg将光标移动到当前文件的首行shitf+g将光标移动到当前文件的尾行数字 + shift+g将光标移动到指定行ctrl+b屏幕往“后”移动一页ctrl+f屏幕往“前”移动一页ctrl+u屏幕往“后”移动半页ctrl+d屏幕往“前”移动半页

2.复制和粘贴

复制

  • 复制单行:yy,复制当前光标所在行
  • 复制多行:数字 + yy,从光标指定行开始向下复制指定行数。

**粘贴 **

  • 粘贴单次:p,从光标当前所处位置的下一行开始粘贴。
  • 粘贴多次:数字 + p,将复制的内容粘贴指定次。

3.剪切加删除

  • 数字 + dd:剪切/删除指定行、连续的多行

剪切:

  • 10dd+p(剪切10行然后复制)

删除:

剪切完不复制(p)就是删除了。

行内往后局部删除

  • ** x**:删除光标后面的一个字符。
  • ** 数字 + x**:在一行内,删除从光标处开始往后的 n 个字符。

** 行内往前局部删除**

  • X:删除光标前面的一个字符。
  • 数字 + X:在一行内,删除光标前的 n 个字符

4.撤销与恢复

撤销

  • u:撤销上一步执行的操作,类似于 Windows 的 ctrl + z

恢复

  • ctrl + r:取消之前执行的撤销操作,类似于 Windows 的 ctrl + y

5.替换字符

**数字 + r + 想替换字符 **对光标指定的位置,进行一个字符的低缓,可以一次替换多个。

**shift + r + 想替换字符 **进入替换模式,直接进行文本替换

6.批量化注释和批量化去注释

批量化注释

1.进入视图模式

  • 按住ctrl + v

2.区域选择

  • h、j、k、l、进行区域选择
  • **数字 + shift + g **选中连续的指定行数
  • **shift + g **从光标开始到末尾全部选中

3. 进入插入模式打上注释

  • ** shift +i **进入插入模式并打上注释

4.批量注释

  • 按住Esc

**批量注释演示 **

*ctrl + v 进入视图模式,然后***数字 + shift + g **选中连续的指定行数。

** shift +i 进入插入模式并打上注释。**

​​​​​

再按Esc就能批量化注释了

** 批量化去注释**

1.进入视图模式

  • ctrl + v

2.选择注释范围

  • h、j、k、l、进行区域选择
  • **数字 + shift + g **选中连续的指定行数
  • **shift + g **从光标开始到末尾全部选中

3.批量化去注释

  • 按**d **

注意事项:注释是两个字符单位,要确保选择去注释的范围 **/ / **选择到。

5.底行模式

之前的退出就是底行模式
选项说明w保存q退出!强制退出wq保存并退出q!不保存,强制退出wq!保存并强制退出(最高权限者强制写入只读文件)

1. 列出行号

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

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

2.查找字符

  • **/**关键字:往后查找第一个匹配的关键字。
  • **?**关键字:往前查找第一个匹配的关键字。

3.外部命令

  • 可以不退出 vim 在命令行执行基本操作指令。
  • 在 vim 界面的底行模式可以使用 ! 指令 的方式调用外部命令,enter回车键返回vim编辑界面。

4.多文件操作

  • 在当前文件工作时,vim 不能像 vs 那样直接切换到其他文件进行操作 。
  • 此时可以使用 vs 文件名,分屏打开其他文件进行操作。

  • 光标在哪个分屏就是在哪个分屏操作。
  • ** ctrl + ww** 可以切换分屏光标,进行另一个分屏的操作。

6.替换内容

  1. s/搜索的内容/指定内容:用指定内容替换 光标所在行第一个 被搜索到的内容。
  2. s/搜索的内容/指定内容/g:用指定内容替换光标所在行全部 被搜多到的内容。
  3. %s/搜索的内容/指定内容:用指定内容替换 整个文件每一行第一个 被搜索到的内容。
  4. %s/搜索的内容/指定内容/g:用指定内容替换 整个文件 被搜索到的内容。

** 替换多段相同内容**

6.异常退出

  • 编辑中的文件未保存直接退出就是异常退出。
  • 见的最多的异常退出就是在命令模式下不小心 ctrl + z 之后,之后再打开文件就会出现以下情况。

  • (O)pen Read-Only: 打开此档案成为只读档, 可以用在你只是想要查阅该档案内容并不想要进行编辑行为时。
  • **(E)dit anyway:****还是用正常的方式打开你要编辑的那个档案, 并不会载入暂存盘的内容。不过很容易出现两个使用者互相改变对方的档案等问题!
  • ( R )ecover: 就是加载暂存盘的内容,用在你要救回之前未储存的工作。 不过当你救回来并且储存离开 vim 后,还是要手动自行删除那个暂存档喔!
  • (D)elete it: 你确定那个暂存档是无用的!那么开启档案前会先将这个暂存盘删除! 这个动作其实是比较常做的!因为你可能不确定这个暂存档是怎么来的,所以就删除掉他吧!
  • (Q)uit: 按下 q 就离开 vim ,不会进行任何动作回到命令提示字符。
  • (A)bort: 忽略这个编辑行为。

** 临时解决**

  • 按下 q 之后出现以下信息,输入 E 或者 R 就能进入文件,但是之后还是会出现该提示。

永久解决

rm删除缓存文件

之前异常退出系统给我们缓存了一个隐藏文件,异常提醒时已经告诉我们名字了。

我们将它删除就行了。

标签: linux 编辑器 vim

本文转载自: https://blog.csdn.net/m0_73936730/article/details/141791004
版权归原作者 ₯㎕星空&繁华 所有, 如有侵权,请联系我们删除。

“Linux编辑器-vim使用”的评论:

还没有评论