linux的开发工具vim

目录

vim是什么

vim的基本操作

vim正常模式的命令集

vim底行模式命令集


vim是什么

vim是一个高度可配置的文本编辑器,旨在实现高效的文本编辑,它有六种基本模式:普通模式、插入模式、可视模式、选择模式、命令行模式和替换模式。其中,普通模式、插入模式和命令行模式是最常用的。

在这里主要讲解普通模式、插入模式、命令行模式

  • 正常/普通/命令模式

所有按键都是命令,通过控制光标的移动,进行字符、字或行的删除,移动复制某区段及进入插入模式或进入底行模式

  • 插入模式

像普通文本编辑器一样输入文字,按【ESC】键可以回到普通模式,这一模式是我们后面使用最频繁的编辑模式。在命令模式下按i可进入插入模式

  • 命令行模式/底行模式/末行模式

在底部输出命令执行。在这一模式下进行文本的保存或退出,也可以进行文字替换,找字符串等操作。在命令模式下按"shift+;"可进入底行模式。

想要查看所有的模式可以在底行模式输入help vim-modes

vim的基本操作

  • 进入vim,在系统提示符后面输入vim+文件名称后,可进入vim全屏编辑画面(进入vim后,默认出入正常模式,只有进入插入模式才能输入文字)
  • 【正常模式】切换为【插入模式】:输入a/i/o
  • 【正常模式】切换为【底行模式】:shift+;
  • 【插入模式】或【底行模式】切换为【正常模式】:按esc
  • 退出vim及保存文件,这需要进入底行模式进行:'w'(保存当前文件);'wq'(保存并退出vim);'q!(不保存强制退出vim)

vim正常模式的命令集

  • 移动光标
  • vim可以通过键盘中↑↓←→控制光标的移动,但正规的操作则是用小写英文字母'h'、'j'、'k'、'l',分别控制光标左下上右移动
  • 'G(shift+g)':移动到文本的最后
  • 'gg':移动到文本的开始
  • '$(shift+4)':移动到光标所在行的行尾
  • '^(shift+6)':移动到光标所在行的行首
  • 'w':光标移动到下一个字的开头
  • 'e':光标移动到下一个字的字尾
  • 'b':光标移动到上一个字的开头
  • '#|(|是shift+\)':光标移动到当前行的第#个位置,其中#是一个数字
  • 'ctrl+b':屏幕往上移动一页
  • 'ctrl+f':屏幕往下移动一页
  • 'ctrl+u':屏幕往上移动半页
  • 'ctrl+d':屏幕往下移动半页
  • 删除
  • 'x':删除光标所在位置的一个字符
  • '#x':删除光标所在位置及后面的#个字符(包含'自己'在内)
  • 'X':删除光标所在位置的前面的一个字符
  • '#X':删除光标所在位置的前面的#个字符
  • 'dd':删除光标所在行
  • '#dd':从光标所在行开始删除#行
  • 复制
  • 'yw':将光标所在位置到字尾的字符复制到缓冲区
  • '#yw':复制#个字到缓冲区
  • 'yy':复制光标所在行到缓冲区
  • '#yy'复制从光标所在行开始向下数#行文字
  • 'p':将缓冲区内的字符粘贴到光标所在位置
  • 替换
  • 'r':替换光标所在位置的字符
  • 'R':替换光标所到之处的字符,直到按esc结束
  • 撤销上一次操作
  • 'u':可以回到上一个操作,可以多次执行
  • 'ctrl+r':撤销恢复
  • 更改
  • 'cw':更改光标所在之处的字,直到字尾
  • 'c#w':更改#个字
  • 调到指定行
  • 'ctrl+g':列出光标所在行的行号
  • '#G':移动光标至第#行

vim底行模式命令集

  • 列出行号
  • 'set nu':在文件中的每一行前面列出行号
  • 跳到文件中的某一行
  • '#':#表示一个数字,在底行模式下,在:后面输入一个数字后按回车即可跳转至该行
  • 查找字符
  • '/关键字':在底行模式下,先输入/,再输入想要搜索的字符,如果找到的不是你想要的可以按n向后找。/是向下查找
  • '?关键字':在底行模式下,先输入?,再输入想要搜索的字符,如果找到的不是你想要的可以按n向前找。?是向上查找
  • 保存文件
  • 'w':在:后面直接输入字母w即可保存文件
  • 退出vim
  • 'q':在:后面输入q就可以退出vim,如果无法退出,可以再q后面加一个!,强制退出vim。建议退出时搭配'w'使用
相关推荐
chlk1238 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑8 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件9 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒9 小时前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号18 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI1 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪3 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes