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: 全文件替换 old 为 new。

复制、剪切和粘贴

  • 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: 保存并退出。
  • :x 或 ZZ: 如果需要则保存,并退出 Vim。
  • :q!: 不保存并强制退出。
  • :qa!: 不保存并强制退出所有打开的文件。

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

相关推荐
Julien200418 分钟前
管理机密(一)
运维·服务器·开发语言·学习方法
十碗饭吃不饱1 小时前
后端运维:网络联通、进程查询、Java服务启动脚本
java·运维·网络
好用斋1 小时前
拾光坞安装网盘聚合LitePan:把Docker命令翻译成图形界面
运维·docker·容器
贝锐2 小时前
金仓、达梦、TDSQL全适配:向日葵补齐信创数据库层远程运维能力
运维·数据库·信创
CodeYp20194 小时前
第14讲:mmap 实现文件 LRU 缓存
linux·lru·mmap
程序开发阿元4 小时前
一台 20G 的 VPS 被日志吃掉一半:我按这个顺序查了二十分钟
linux·ssh
.冰块.5 小时前
流量大了自动加 Pod!K8s HPA 扩缩容与 ResourceQuota/LimitRange 资源管控实战
linux·云原生·容器·kubernetes·hpa·quota·limitrange
承渊政道5 小时前
Linux网络学习【深入理解多路转接select、poll的代码改写】
linux·ubuntu·select·多路转接·poll
雪落漂泊5 小时前
Linux进程(四)概念:命令行参数和环境变量篇
linux·运维·服务器
方便面不加香菜5 小时前
Docker Container -- 容器命令详解
运维·docker·容器