Linux中Vim常用指令的笔记

在Linux中,Vim是一个非常强大的文本编辑器,广泛应用于代码编写、文档编辑等多种场景。Vim提供了丰富的指令集,以下是一些常用的Vim指令笔记,涵盖了Vim的三种主要模式:命令模式(Normal模式)、编辑模式(Insert模式)和末行模式(Ex模式)。

一、Vim的三种模式

  1. 命令模式(Normal模式)
    • 默认进入Vim后的模式。
    • 在此模式下,不能对文件直接编辑,但可以通过快捷键进行光标移动、复制、粘贴、删除等操作。
  2. 编辑模式(Insert模式)
    • 按下iaoO等键进入此模式。
    • 在此模式下,可以对文本进行插入、修改等操作。
  3. 末行模式(Ex模式)
    • 按下:(冒号)键进入此模式。
    • 在此模式下,可以输入命令对文件进行操作,如保存、退出、搜索、替换等。

二、常用指令

1. 命令模式指令
  • 光标移动
    • hjkl:分别代表左、下、上、右移动光标。
    • ^$:分别移动到行首和行尾。
    • ggG:分别移动到文件的第一行和最后一行。
    • nG:移动到文件的第n行。
    • we:分别移动到下一个单词的开头和结尾。
    • b:移动到上一个单词的开头。
  • 复制、粘贴和删除
    • yy:复制当前行。
    • nyy:复制当前行及下面的n-1行。
    • pP:粘贴到光标后和光标前。
    • dd:删除当前行。
    • ndd:删除当前行及下面的n-1行。
    • x:删除光标所在字符。
  • 撤销和重做
    • u:撤销上一次操作。
    • Ctrl+r:重做上一次撤销的操作。
  • 搜索和替换
    • /pattern:向光标下搜索pattern字符串。
    • ?pattern:向光标上搜索pattern字符串。
    • nN:分别查找下一个和上一个匹配项。
    • :s/old/new:将当前行的第一个old替换为new。
    • :s/old/new/g:将当前行的所有old替换为new。
    • :%s/old/new/g:将文件中的所有old替换为new。
2. 编辑模式指令
  • 进入编辑模式:按下iaoO等键。
  • 退出编辑模式:按下Esc键。
3. 末行模式指令
  • 保存和退出
    • :w:保存文件。
    • :q:退出Vim(如果文件已修改,则无法直接退出)。
    • :wq:x:保存并退出Vim。
    • :q!:强制退出Vim,不保存修改。
  • 其他常用命令
    • :set nu:显示行号。
    • :set nonu:取消显示行号。
    • :sp filename:水平分割窗口,并在新窗口中打开filename文件。
    • :vsp filename:垂直分割窗口,并在新窗口中打开filename文件。
    • :!ls:在Vim中执行外部命令,如列出当前目录下的文件。

三、Vim的高级用法

  • 可视化模式
    • 按下v进入字符可视化模式,可以选择文本块进行操作。
    • 按下Ctrl+v进入块可视化模式,可以对矩形区域进行操作。
  • 重复命令
    • .(点命令):重复上一次编辑操作。
    • N<command>:重复某个命令N次,如2dd删除两行。
  • 配置Vim
    • Vim的配置文件通常是~/.vimrc(用户级别的配置文件)或/etc/vim/vimrc(系统级别的配置文件)。
    • 可以通过修改配置文件来自定义Vim的行为,如设置语法高亮、自动缩进等。
相关推荐
静止了 所有的花开9 小时前
Ubuntu 26.04 静态 IP 配置不生效解决方法
linux·ubuntu·静态ip
承渊政道10 小时前
KES专业技能包发布:覆盖数据库开发、迁移与运维全流程
运维·数据库·gitee·数据库开发·金仓数据库
笨鸟先飞,勤能补拙10 小时前
Web 服务器与计算机网络全景原理
运维·服务器·前端·网络·人工智能·计算机网络·web安全
caimouse10 小时前
ReactOS 图形系统分析(3):显示驱动 DDI framebuf.dll
linux·运维·网络
跨境小彭10 小时前
Temu运营优化方案:活动库存自动化管控,解决断流、超卖与权重下跌问题
大数据·运维·人工智能·自动化·跨境电商·temu·temu电商运营
漫谈数据智理10 小时前
IDS-RAM 如何支撑数据空间走向可
大数据·运维·微服务
佳児素花痴╮10 小时前
网络问题与基础理论
运维·服务器·网络
tanglinS11 小时前
工业陶瓷在半导体设备里都用哪里?氮化铝基板与氮化硅结构件的静电无尘角色
大数据·运维·人工智能·自动化·材质
highreport11 小时前
HighReport报表工具定时调度和邮件定时发送
运维·服务器·数据库
TonyLee01711 小时前
Claude Code + DeepSeek:服务器安装与使用笔记
linux·服务器·deepseek·claude code