Linux Vim全面教程

引言

Vim,源自Vi IMproved,是一个高度可配置的文本编辑器,用于创建和修改任何类型的文本。它是自由软件,可在大多数Unix系统和Linux发行版中找到。

Vim的模式

Vim有多种模式,但主要分为以下几种:

  • 普通模式(Normal Mode):默认模式,用于移动光标和执行命令。
  • 插入模式(Insert Mode):用于插入文本。
  • 可视模式(Visual Mode):用于选择文本块。
  • 命令行模式(Command-line Mode):用于输入命令,如查找、替换等。

Vim基础

启动Vim

在终端中输入 vim 加上文件名,例如 vim example.txt

退出Vim

  • :q - 退出Vim。
  • :wq - 保存并退出。
  • :q! - 强制退出不保存。

插入文本

  • i - 进入插入模式在光标前插入。
  • I - 进入插入模式并在行首插入。
  • a - 进入插入模式并在光标后插入。
  • A - 进入插入模式并在行尾插入。

移动光标

  • hjkl - 分别代表左、下、上、右移动。
  • G - 移动到文件末尾。
  • gg - 移动到文件开头。

删除和修改

  • dd - 删除(cut)当前行。
  • u - 撤销。
  • Ctrl + r - 重做。

复制和粘贴

  • yy - 复制当前行。
  • p - 粘贴到光标后。

查找和替换

  • /word - 查找"word"。
  • :%s/old/new/g - 替换文件中所有的"old"为"new"。

分屏

  • :split:sp - 水平分割窗口。
  • :vsplit:vsp - 垂直分割窗口。

高级技巧

模式间快速切换

  • Q - 从普通模式切换到可视模式。
  • Ctrl + [ - 从插入模式或命令行模式返回到普通模式。

多光标编辑

  • 在可视模式下,使用 O 选择行首,o 选择行尾。

宏录制

  • q<letter> - 开始录制宏。
  • q - 结束录制。
  • @<letter> - 执行宏。

正则表达式

Vim支持正则表达式,用于复杂的查找和替换。

自定义快捷键

通过 Vim 脚本自定义快捷键和命令。

插件管理

使用插件如 Vim-plug 来扩展 Vim 的功能。

Vim配置

配置文件

Vim的配置文件是 ~/.vimrc,在其中可以设置快捷键、插件和其他配置。

语法高亮

启用语法高亮以改善代码可读性。

缩进

根据编程语言设置自动缩进。

状态栏

自定义状态栏显示的信息。

结语

Vim是一个功能强大的文本编辑器,通过熟练掌握其使用,可以极大提高编辑效率。本教程覆盖了Vim的基础知识和一些高级特性,但Vim的世界远不止于此。推荐阅读官方文档 :help 来进一步深入学习。

参考文献

  • Vim官方文档:vim -h
  • Vimcasts.org:提供大量Vim教程和技巧。

请注意,Vim的学习曲线可能比较陡峭,但随着实践的增加,你将发现其强大的功能和灵活性。不要犹豫尝试不同的配置和插件,找到最适合你的工作流程。

相关推荐
羑悻的小杀马特20 分钟前
零成本搞定!异地访问 OpenClaw 最简方案:SSH 端口映射组网!
运维·服务器·人工智能·docker·自动化·ssh·openclaw
NineData39 分钟前
NineData 亮相 2026 德国汉诺威工业博览会,加速拓展欧洲及全球市场
运维·数据库·人工智能·数据库管理·ninedata·ai服务·玖章算术
宵时待雨42 分钟前
linux笔记归纳3:linux开发工具
linux·运维·笔记
magrich1 小时前
安装NoMachine并解决无外接显示器桌面黑屏
linux·运维·服务器
fish_xk1 小时前
Linus基础指令
linux·服务器
L1624761 小时前
Nginx 6 种发布方式(滚动发布、蓝绿发布(Blue/Green)、金丝雀发布(Canary 灰度)等) 实操全集(配置 + 分步操作 + 回滚)
运维·nginx
宁波阿成1 小时前
在ubuntu22.04源码级安装sub2api
linux·运维·ubuntu·ai·api·token·中转站
charlie1145141912 小时前
嵌入式Linux驱动开发(7) 从虚拟设备到真实硬件 —— LED驱动硬件基础
linux·开发语言·驱动开发·内核·c
Mortalbreeze2 小时前
软件包管理器yum和编辑器vim详解 —— 附带vim配置链接
linux·服务器
李日灐3 小时前
< 7 > Linux 开发工具:git 版本控制器 和 cgdb/gdb 调试器
linux·运维·服务器·开发语言·git·调试器·gdb/cgdb