你知道吗? 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 保存退出。

查看原文

相关推荐
眠修2 小时前
Kuberrnetes 服务发布
linux·运维·服务器
即将头秃的程序媛4 小时前
centos 7.9安装tomcat,并实现开机自启
linux·运维·centos
fangeqin5 小时前
ubuntu源码安装python3.13遇到Could not build the ssl module!解决方法
linux·python·ubuntu·openssl
爱奥尼欧6 小时前
【Linux 系统】基础IO——Linux中对文件的理解
linux·服务器·microsoft
超喜欢下雨天6 小时前
服务器安装 ros2时遇到底层库依赖冲突的问题
linux·运维·服务器·ros2
清沫7 小时前
键盘效率提升指南(VSCode+Vim+SurfingKeys)
前端·vim·visual studio code
tan77º7 小时前
【Linux网络编程】网络基础
linux·服务器·网络
笑衬人心。8 小时前
Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
linux·mysql·ubuntu
chanalbert9 小时前
CentOS系统新手指导手册
linux·运维·centos
星宸追风10 小时前
Ubuntu更换Home目录所在硬盘的过程
linux·运维·ubuntu