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

查看原文

相关推荐
枫叶红花16 分钟前
【Linux系统编程】:信号(2)——信号的产生
linux·运维·服务器
_微风轻起27 分钟前
linux下网络编程socket&select&epoll的底层实现原理
linux·网络
WANGWUSAN661 小时前
Python高频写法总结!
java·linux·开发语言·数据库·经验分享·python·编程
Stark、2 小时前
【Linux】文件IO--fcntl/lseek/阻塞与非阻塞/文件偏移
linux·运维·服务器·c语言·后端
新手上路狂踩坑3 小时前
Android Studio的笔记--BusyBox相关
android·linux·笔记·android studio·busybox
fnd_LN4 小时前
Linux文件目录 --- 复制命令CP、递归复制目录、软连接、硬链接
linux·运维·服务器
OopspoO4 小时前
Linux查看键鼠输入
linux
七七powerful4 小时前
ansible play-book玩法
linux·服务器·ansible
晚安,cheems5 小时前
linux的权限
linux·运维·服务器
路溪非溪5 小时前
Linux加载一个应用程序的过程总结
linux·运维·服务器