你知道吗? Vim 也是一个 IDE

一个1991年正式发布,如今已经快35岁的「高龄」的代码编辑器Vim

vim是一款强大的编辑器,做过Linux c开发的同学应该非常熟悉,java相关的开发人员在Linux修改部署的配置文件等也是经常会使用到vim,本文将vim中常用操作进行整理,供大家装逼使用

本文将围绕以下常用操作进行整理总结,看完你也可以在Linux修改部署配置文件等操作

  • 复制粘贴
  • 添加删除
  • 搜索替换
  • 注释

vim工作模式

基本上 vi/vim 共分为三种模式,命令模式(Command Mode)、输入模式(Insert Mode)和命令行模式(Command-Line Mode)。

命令模式

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。

命令模式常用的几个操作:

  • 切换到输入模式:在光标当前位置开始输入文本--i;在光标下一个位置开始输入文本--a;在当前行的下方插入一个新行--o(小写);在当前行的上方插入一个新行--O(大写) 。
  • 切换到底线命令模式:切换到底线命令模式--:(冒号) 以在最底一行输入命令
  • 剪切(删除)字符: 剪切(删除)当前光标所在处的字符--x;连续向后剪切(删除) n 个字符--nx;剪切(删除)当前光标所在处的前一个字符--X;连续向前剪切(删除) n 个字符--nX
  • 剪切(删除)行:剪切(删除)光标所在行--dd;剪 切光标所在的向下 n 行--ndd
  • 复制行:复制光标所在行--yy
  • 粘贴: 粘贴剪贴板内容到光标下方-- p(小写);粘贴剪贴板内容到光标上方--P(大写)。
  • 撤销:撤销上一次操作--u
  • 重做:重做上一次撤销的操作--Ctrl + r

输入模式

在命令模式下按下 i 就进入了输入模式,使用 Esc 键可以返回到命令模式。

输入模式中常用的几个操作:

  • 切换光标为输入/替换模式,光标将变成竖线/下划线-- Insert键
  • 退出输入模式,切换到命令模式-- ESC 键

底线命令模式

在命令模式下按下 :(英文冒号)就进入了底线命令模式。

输入模式中常用的几个操作:

  • 保存退出:保存文件--:w;退出 Vim 编辑器--:q;保存文件并退出--:wq:x;强制退出Vim编辑器,不保存修改--:q!
  • 显示隐藏行号:显示行号--:set nu;隐藏行号--:set nonu
  • 另存文档:将编辑的数据储存成另一个档案-- :w [filename]
  • 搜索:向光标之下寻找一个名称为 word 的字符串--/word;前一个搜寻的动作--n;『反向』进行前一个搜寻动作--N
  • 替换::n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 ;:1,$s/word1/word2/g :%s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)

在vim 中批量添加注释

批量注释: Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,按两下 ESC,Vim 会自动将你选中的所有行首都加上注释,保存退出完成注释。

取消注释:

Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出。

查看原文

相关推荐
不知 不知20 分钟前
最新-CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机
linux·运维·服务器·centos
BUG 40428 分钟前
Linux--运维
linux·运维·服务器
千航@abc34 分钟前
vim在末行模式下的删除功能
linux·编辑器·vim
jcrose25802 小时前
Ubuntu二进制部署K8S 1.29.2
linux·ubuntu·kubernetes
爱辉弟啦2 小时前
Windows FileZila Server共享电脑文件夹 映射21端口外网连接
linux·windows·mac·共享电脑文件夹
progrmmmm3 小时前
k8s使用nfs持久卷
linux·服务器·kubernetes·k8s·运维开发
元气满满的热码式3 小时前
K8S中Service详解(二)
linux·网络·kubernetes
无空念3 小时前
Linux - 五种常见I/O模型
linux·运维·服务器
milk_yan3 小时前
MinIO的安装与使用
linux·数据仓库·spring boot
胡耀超3 小时前
CentOS 7.9(linux) 设置 MySQL 8.0.30 开机启动详解
linux·mysql·centos