Linux中vim常用的命令

Linux中vim常用的命令

Vim 是一个功能丰富的文本编辑器,拥有大量的命令和快捷键。下面是一个更全面的列表,这些都是在普通模式下使用的命令:

光标移动

  • h: 向左移动光标。
  • j: 向下移动光标。
  • k: 向上移动光标。
  • l: 向右移动光标。
  • w: 跳到下一个单词的开头。
  • b: 跳到上一个单词的开头。
  • e: 跳到下一个单词的结尾。
  • 0: 跳到当前行的开头。
  • ^: 跳到当前行的第一个非空白字符。
  • $: 跳到当前行的结尾。
  • H: 跳到屏幕顶部的行。
  • M: 跳到屏幕中部的行。
  • L: 跳到屏幕底部的行。
  • gf: 打开光标下的文件名对应的文件。

滚动

  • Ctrl + u: 向上滚动半屏。
  • Ctrl + d: 向下滚动半屏。
  • Ctrl + b: 向上滚动一屏。
  • Ctrl + f: 向下滚动一屏。
  • zt: 将当前行移至窗口顶部。
  • zz: 将当前行移至窗口中间。
  • zb: 将当前行移至窗口底部。

查找和替换

  • /pattern: 向下搜索 pattern
  • ?pattern: 向上搜索 pattern
  • n: 重复上一次搜索,向下或者向上。
  • N: 反方向重复上一次搜索。
  • :%s/old/new/g: 全文件替换 oldnew

复制、剪切和粘贴

  • v: 进入可视模式,可以选择文本。
  • V: 进入可视行模式,选择整行文本。
  • Ctrl + v: 进入可视块模式,选择矩形块文本。
  • y: 复制选择的文本。
  • d: 删除选择的文本。
  • Y: 复制当前行(等同于 yy)。
  • D: 删除到行尾(等同于 d$)。
  • c: 删除选择的文本并进入插入模式。
  • C: 删除到行尾并进入插入模式(等同于 c$)。

撤销、重做和重复

  • u: 撤销上次操作。
  • Ctrl + r: 重做被撤销的操作。
  • .: 重复上次的修改命令。

文本编辑

  • r: 替换光标下的字符。
  • R: 进入替换模式,直到按 Esc 退出。
  • s: 删除光标下的字符并进入插入模式。
  • S: 删除当前行并进入插入模式(等同于 cc)。

标记和跳转

  • m<letter>: 对当前位置做标记,<letter> 是任意字母。
  • '<letter>: 跳转到 m<letter> 做的标记位置。

分屏和标签页

  • :split:sp: 水平分割窗口。
  • :vsplit:vsp: 垂直分割窗口。
  • Ctrl + w followed by arrow key: 在窗口间移动光标。
  • :tabnew:tabnew <filename>: 打开新标签页或在新标签页中打开文件。
  • gt:tabnext: 切换到下一个标签页。
  • gT:tabprev: 切换到上一个标签页。

退出和保存

  • :w: 保存文件。
  • :wa: 保存所有打开的文件。
  • :q: 退出 Vim。
  • :qa: 退出所有打开的文件。
  • :wq: 保存并退出。
  • :xZZ: 如果需要则保存,并退出 Vim。
  • :q!: 不保存并强制退出。
  • :qa!: 不保存并强制退出所有打开的文件。

要注意的是,Vim 的命令可以组合,提供了极高的灵活性和强大的编辑功能。例如,d3w 将会删除从光标位置开始的接下来三个单词。这些只是常用命令的一部分,Vim 还有更多高级功能(如宏录制、文本格式化、插件扩展等)等待发掘。

相关推荐
霸道流氓气质8 分钟前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush411 分钟前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52025 分钟前
Linux 11 动态监控指令top
linux
Inhand陈工1 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智2 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
不会C语言的男孩2 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_2 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
古城小栈2 小时前
Unix 与 Linux 异同小叙
linux·服务器·unix
施努卡机器视觉3 小时前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
凡人叶枫3 小时前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++