Vim 编辑器学习笔记

文章目录

Vim 编辑器学习笔记

1. Vi/Vim 的发展历史简介

  • vi 编辑器由比尔·乔伊(Bill Joy)在 1976 年为 UNIX 系统开发,最早应用于 BSD UNIX 系统。
  • vi 以其轻量、快速和功能丰富的特点,迅速成为 UNIX 和类 UNIX 系统(如 Linux)用户的常用编辑工具。
  • 1988 年,布莱姆·穆伦纳尔(Bram Moolenaar)在 vi 的基础上创建了 vim,即 "Vi IMproved"。
  • vim 增加了多级撤销、语法高亮、插件系统、图形界面等功能,成为现代化的文本编辑器。
  • 如今,vim 被广泛用于代码编写、服务器配置和日志管理,是程序员和系统管理员的首选工具之一。

2. Vim 的三种操作模式

  • 命令模式 :这是 vim 的默认模式,用于执行删除、复制、粘贴等快捷操作。按 Esc 键可以随时返回命令模式。
  • 插入模式 :用于直接编辑文本。按 iao 等键从命令模式进入插入模式,在插入模式下可以输入内容。
  • 底行模式 :用于输入文件操作命令(如保存、退出、查找等)。按 : 即可进入底行模式,然后在底部输入命令(例如 :wq 保存并退出)。

进入插入模式的快捷键

  • i:在光标所在位置进入插入模式
  • a:在光标后面进入插入模式
  • o:在光标的下一行进入插入模式
  • O:在光标的上一行进入插入模式
  • I:在光标所在行的行首进入插入模式
  • A:在光标所在行的行尾进入插入模式

3. 光标移动命令

  • h:光标左移
  • j:光标下移
  • k:光标上移
  • l:光标右移
  • 0:移动到行首
  • $:移动到行尾
  • w:移动到下一个单词的开头
  • b:移动到上一个单词的开头
  • e:移动到下一个单词的结尾
  • gg:快速移动到文件开头
  • G:快速移动到文件末尾

4. 常用编辑操作命令

底行模式常用命令

文件操作
  • :w filename:将文件以指定文件名 filename 保存。
  • :w /tmp/aaa.txt:将当前文件另存为 /tmp/aaa.txt
  • :wq:x:保存并退出文件。
  • :q!:强制退出,不保存修改。
  • :w !sudo tee % > /dev/null:强制保存只读文件。
显示行号
  • :set nu:显示行号。
  • :set nonu:取消行号显示。
查找与替换
  • :10:跳转到第 10 行。
  • :s/old/new/:在当前行中替换第一个匹配的 oldnew
  • :3s/sbin/nice/:在第 3 行替换 sbinnice
  • :1,5 s/nologin/soso/:在第 1 到 5 行替换 nologinsoso
  • :%s/bin/soso/:在文件中每行替换第一个 binsoso
  • :%s/sbin/nice/g:在文件中每行替换所有 sbinnice。 说明:% 表示整个文件,g 表示行内所有匹配项。

命令模式常用命令

删除
  • dd:删除当前行。
  • ndddnd:从当前行开始删除 n 行。
  • dgg:从光标位置删除到文件开头。
  • dG:从光标位置删除到文件末尾。
  • x:删除当前光标处的一个字符。
复制与粘贴
  • y:复制选定的文本块到缓冲区。
  • yy:复制当前行。
  • nyyyny:从当前行开始复制 n 行。
  • ygg:从当前光标位置复制到文件开头。
  • yG:从当前光标位置复制到文件末尾。
  • p:在光标位置粘贴缓冲区内容。
撤销与重做
  • u:撤销上一个操作。
  • Ctrl+r:重做上一个被撤销的操作。
可视模式
  • v:进入可视字符模式,选择文本块。
  • Shift+v:进入可视行模式,选择整行。
  • Ctrl+v:进入可视块模式,选择矩形区域(适合列选择)。

三种可视模式的区别

  • v(可视字符模式):按字符逐个选择文本,适用于需要按字符操作的场景,例如删除或修改单个字符。

  • Shift+v(可视行模式):选择整行文本,适用于需要按行操作的场景,例如删除、复制或移动整行内容。

  • Ctrl+v(可视块模式):选择一个矩形区域(列选择),适用于需要选择多行特定列的场景,特别在多行同时插入、删除或修改列内容时非常有用。


5. 分屏操作

  • :split filename:水平分屏打开 filename
  • :vsplit filename:垂直分屏打开 filename
  • Ctrl+w, w:在分屏窗口间切换
  • Ctrl+w, q:关闭当前分屏窗口
  • Ctrl+w, =:等比调整所有分屏窗口的大小

6. 进阶学习与插件管理

  • vim 支持丰富的插件系统,可以通过插件实现代码自动补全、Git 集成、文件树管理等功能。
  • 推荐使用 vim-plugVundle 等插件管理工具,方便地安装和管理插件。
  • vim 的其他高级功能包括宏录制、正则替换、语法高亮和自定义快捷键,能够进一步提升编辑效率和体验。

通过掌握以上基础命令,可以快速进入 vim 的高效编辑世界。

相关推荐
Json____9 分钟前
学法减分交管12123模拟练习小程序源码前端和后端和搭建教程
前端·后端·学习·小程序·uni-app·学法减分·驾考题库
五味香13 分钟前
Linux学习,ip 命令
linux·服务器·c语言·开发语言·git·学习·tcp/ip
Chef_Chen21 分钟前
从0开始学习机器学习--Day22--优化总结以及误差作业(上)
人工智能·学习·机器学习
虾球xz36 分钟前
游戏引擎学习第11天
stm32·学习·游戏引擎
心怀梦想的咸鱼39 分钟前
Ue5 umg学习(三)文本控件
学习·ue5
心怀梦想的咸鱼41 分钟前
Ue5 umg学习(二)图像控件,锚点
学习·ue5
i_阿文2 小时前
如何在vscode 中打开新文件不覆盖上一个窗口
ide·vscode·编辑器
小A1592 小时前
STM32完全学习——系统时钟设置
stm32·嵌入式硬件·学习
2301_775281192 小时前
柯桥生活英语口语学习“面坨了”英语怎么表达?
学习·生活
江梦寻2 小时前
思科模拟器路由器配置实验
开发语言·网络·网络协议·学习·计算机网络