vim 命令技巧有哪些实用技巧?

vim 作为一款强大的文本编辑器,其命令技巧的掌握能极大提升编辑效率,以下从基础操作、光标移动、文本编辑、搜索替换、窗口管理、宏录制与执行、高级配置等方面详细介绍 vim 的实用命令技巧。

vim 命令技巧
(图片来源网络,侵删)

基础操作中,vim 的三种模式是核心:普通模式(默认)、插入模式和命令行模式,从普通模式进入插入模式常用命令有 i(光标前插入)、a(光标后插入)、o(下方新开一行插入)、I(行首插入)、A(行尾插入)、O(上方新开一行插入),返回普通模式按 EscCtrl+[,退出 vim 可用 q(退出)、wq(保存退出)、q!(不保存强制退出)、x(保存退出若文件有修改),保存文件用 w 文件名,另存为 saveas 新文件名

光标移动是高效编辑的基础,普通模式下,字符级移动:h(左)、l(右)、j(下)、k(上);单词级移动:w(到下一个单词首)、e(到当前单词尾)、b(到上一个单词首)、W/E/B(以空白分隔的单词为单位);行级移动:0(行首)、^(到行首第一个非空白字符)、(行尾);屏幕级移动:H(到屏幕首行)、M(到屏幕中间行)、L(到屏幕末行)、gg(到文件首行)、G(到文件末行)、nG(到第 n 行,如 5G 到第 5 行);段落移动:(到上一段开头)、(到下一段开头)。

文本编辑命令包含删除、复制、剪切与粘贴,删除:x(删除光标处字符)、nx(删除后 n 个字符)、dd(删除当前行)、ndd(删除当前行及后 n-1 行)、d$(删除到行尾)、d^(删除到行首第一个非空白字符)、dw(删除一个单词)、dG(删除到文件末尾)、dgg(删除到文件开头),复制与剪切:y(复制)与 d(剪切)用法类似,如 yy(复制当前行)、nyy(复制 n 行)、yw(复制一个单词)、y$(复制到行尾);剪切后无需额外操作,删除内容已自动存入剪贴板,粘贴:p(在光标后粘贴)、P(在光标前粘贴),若复制/剪切的是行,则粘贴在当前行下方/上方。

搜索与替换功能常用 和 进行正向/反向搜索,输入关键词后按回车,n 跳到下一个匹配项,N 跳到上一个,替换命令:s/旧内容/新内容/g(替换当前行所有匹配)、%s/旧内容/新内容/g(替换整个文件所有匹配,可加 c 确认,如 %s/old/new/gc),高级搜索:(搜索光标所在单词)、(反向搜索光标所在单词)、\v(使用正则表达式,如 \vsearch(\d+) 可匹配 “search123″)。

vim 命令技巧
(图片来源网络,侵删)

窗口管理支持多文件编辑,分屏:splitsp(水平分屏,当前文件在上)、vsplitvs(垂直分屏,当前文件在左);切换窗口:Ctrl+w+w(顺时针切换)、Ctrl+w+h/j/k/l(按方向切换到对应窗口);关闭窗口:closeCtrl+w+c(关闭当前窗口,若只剩一个窗口则退出)、onlyCtrl+w+o(关闭其他窗口,仅保留当前窗口);移动窗口:Ctrl+w+H/J/K/L(将当前窗口移动到屏幕左/下/上/右)。

宏录制与执行可重复复杂操作,录制:普通模式下按 q 加寄存器名(如 qa)开始录制,输入一系列命令,按 q 停止录制,执行:@a(执行寄存器 a 的宏),(重复执行上一次执行的宏),示例:录制将光标所在单词转为大写的宏:qagUiw(将单词转为大写),q,执行 @a 即可。

高级配置可通过 .vimrc 文件个性化设置,常用配置:set number(显示行号)、set relativenumber(显示相对行号)、set tabstop=4(制表符宽度 4)、set expandtab(将制表符转换为空格)、set autoindent(自动缩进)、set syntax on(开启语法高亮)、set hlsearch(高亮搜索结果)、set nohlsearch(关闭高亮搜索)、set ignorecase(搜索忽略大小写)、set smartcase(若搜索含大写则区分大小写),配置文件路径:Linux/macOS 下 ~/.vimrc,Windows 下 $VIM/_vimrc

操作类别命令功能说明
模式切换i/a/o/I/A/O进入插入模式(不同位置)
Esc/Ctrl+[返回普通模式
退出q/:wq/:q!/:x退出/保存退出/强制退出/保存退出
光标(字符)h/j/k/l左/下/上/右移动
光标(单词)w/e/b/W/E/B单词首/尾/首(跨空白分隔)
光标(行)0/^/$行首/行首非空白/行尾
光标(屏幕)H/M/G/nG屏幕首/中/末/第 n 行
删除x/nx/dd/ndd/d$/dw/dG删除字符/多行/到行尾/单词/到文件末
复制y/yy/nyy/yw/y$复制字符/行/多行/单词/到行尾
粘贴p/P光标后/前粘贴
搜索正向/反向/搜索当前单词/反向搜索当前单词
替换s/旧/新/g:%s/旧/新/gc当前行/文件替换(可确认)
分屏sp/:vs水平/垂直分屏
窗口切换Ctrl+w+w/h/j/k/l切换窗口/按方向切换
宏录制q@/@@开始录制/执行宏/重复执行宏

相关问答FAQs:

vim 命令技巧
(图片来源网络,侵删)
  1. 问:vim 中如何快速跳转到指定行?
    答:普通模式下输入行号后按 G,如跳转到第 100 行,输入 100G;或命令行模式下输入 100 回车。

  2. 问:vim 如何批量删除包含特定字符串的行?
    答:使用 g/字符串/d 命令,字符串 为要匹配的内容,g 表示全局匹配,d 表示删除,例如删除所有包含 “error” 的行,输入 g/error/d

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/377494.html<

(0)
运维的头像运维
上一篇2025-10-02 08:11
下一篇 2025-10-02 08:20

相关推荐

  • Excel命令按钮怎么用?

    在Excel中,命令按钮是一种常用的交互工具,能够通过点击触发预设的VBA宏或脚本,从而实现自动化操作、简化重复流程或增强用户交互体验,无论是数据录入、报表生成还是复杂计算,合理使用命令按钮都能显著提升工作效率,本文将详细介绍Excel中命令按钮的创建、设置、功能实现及常见应用场景,帮助用户全面掌握这一实用功能……

    2025-11-19
    0
  • Excel自定义命令如何快速创建与使用?

    在Excel中,自定义命令功能允许用户通过VBA(Visual Basic for Applications)创建个性化操作,从而简化重复性任务、提升工作效率,这一功能尤其适合需要频繁执行特定操作的用户,例如批量格式化数据、生成报表或自动化复杂计算,以下将从自定义命令的实现方法、应用场景及注意事项三个方面展开详……

    2025-11-10
    0
  • Linux vim编辑命令有哪些核心操作?

    Linux下的Vim编辑器是一款功能强大的文本编辑工具,广泛应用于代码编写、配置文件编辑等场景,熟练掌握Vim的命令可以显著提升工作效率,Vim有三种主要模式:普通模式、插入模式和命令行模式,普通模式用于导航和执行命令,插入模式用于文本输入,命令行模式用于执行保存、退出等操作,启动Vim时默认进入普通模式,可通……

    2025-10-27
    0
  • sudo vi命令如何正确使用?

    在Linux和Unix-like系统中,sudo vi命令是系统管理员和高级用户经常使用的一个组合命令,它允许用户以超级用户(root)或其他用户的权限来编辑文件,sudo是“superuser do”的缩写,用于执行需要提升权限的命令,而vi则是一个功能强大的文本编辑器,广泛应用于Linux系统中,下面将详细……

    2025-10-22
    0
  • SunOS vi命令基本操作有哪些?

    sunos系统中的vi命令是一款功能强大的文本编辑器,它源于Unix系统的早期编辑器ed,并通过可视化界面提供了高效的文本编辑能力,作为sunos系统管理员和开发人员的常用工具,vi命令不仅支持基本的文本输入、删除和修改,还提供了丰富的扩展功能,如正则表达式搜索、多文件编辑和宏定义等,本文将详细介绍sunos中……

    2025-10-21
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注