指尖的诗篇:在Vim的世界里书写代码与梦想,Linux下vim编辑器的使用详解
文章目录
- 前言
- 一、Vim的起源与背景
- 1.1 安装vim
- 二、Vim的模式设计:极简而深邃
- 三、vim的强大功能
- 3.1 打开和退出文件
- 3.2 基本编辑操作
- 3.3 移动光标
- 3.4 删除文字
- 3.5 复制
- 3.6 替换
- 3.7 更改
- 3.8 跳至指定的行
- 3.9 撤销上一次操作
- 3.10 查找和替换
- 四、vim的强大功能
- 四、Vim的学习曲线:一段与自我对话的旅程
- 小结

前言
在浩瀚的Linux世界中,Vim是一颗璀璨的明珠。它不仅仅是一个文本编辑器,更是无数开发者的心头好,是所有程序员与技术爱好者不可或缺的工具之一。Vim是一种专注且极具魅力的编辑器,它所赋予的力量,远远超出了一个简单的文本编辑任务。对于那些了解它的人来说,Vim不仅仅是一个工具,它是思想的延伸,是工作流的象征。今天,我们将细细探讨Vim编辑器在Linux环境中的使用,揭开它神秘的面纱。
一、Vim的起源与背景
Vim,原名Vi IMproved(Vi的增强版),是由布拉德·乔恩逊(Bram
Moolenaar)于1991年发布的。它基于UNIX系统中的Vi编辑器,Vi作为一个传统且强大的文本编辑器,已经陪伴了几代Linux用户的成长。而Vim则在此基础上进行扩展与优化,拥有了更多的功能,使得它在编辑工作中更为高效和便捷。
与Vi相比,Vim不仅仅有基本的编辑功能,还提供了丰富的插件扩展
、语法高亮
、自动完成
等功能,这些都使得它成为了程序员、开发者和系统管理员必不可少的工具。
1.1 安装vim
在 Ubuntu 系统上,可以通过以下命令安装 Vim:
sudo apt update
sudo apt install vim
要注意的是当我们以普通用户的身份去下载安装包的时候,是需要sudo提权的
二、Vim的模式设计:极简而深邃
- 命令模式:Vim 启动后默认的模式,可以使用快捷键执行命令,此模式下用户的所有输入都会被当作命令,一般不会 给你作为文本输入
- 插入模式:用于文本输入,按 i 进入插入模式,按 Esc 返回普通模式,此模式下可以进行代码编写
- 底行模式:用于输入命令,按 : 进入命令行模式,此模式下可以进行退出保存等多种命令操作
三、vim的强大功能
3.1 打开和退出文件
首先我们先创建一个文件,之后用vim进入
touch filename
vim filename
进入之后默认是命令模式,我们可以通过按下 i进入插入模式,进行如下代码的编写
在完成输入后,按esc返回命令默认,之后shift ;同时按下,即可弹出左下角的冒号,此时可以输入以下命令进行保存退出。
:q 如果没有修改,直接退出
:q! 强制退出,不保存修改
:wq 保存修改并退出
快速按两下大写z也可以实现保存退出。
3.2 基本编辑操作
- 进入插入模式:按 i(在光标前插入)或 a(在光标后插入)。
- 删除字符:在普通模式下,按 x 删除光标下的字符。
- 撤销操作:按 u 撤销操作,按 Ctrl + r 重做操作。
3.3 移动光标
需注意,在vim中鼠标无法直接参与光标的移动,需要通过键盘指令进行。
- h:向左移动一个字符。
- j:向下移动一行。
- k:向上移动一行。
- l:向右移动一个字符。
- gg:移动到文件开头。
- G:移动到文件结尾。
- Ctrl + f:向下翻一页。
- Ctrl + b:向上翻一页。
3.4 删除文字
其中,#代表数字
- 「x」:每按一次,删除光标所在位置的一个字符
- 「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
- 「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
- 「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
- 「dd」:删除光标所在行
- 「#dd」:从光标所在行开始删除#行
3.5 复制
需要注意这些命令都需要在命令模式进行,如果在插入模式下会被认为是输入的字符。
- 「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
- 「#yw」:复制#个字到缓冲区
- 「yy」:复制光标所在行到缓冲区。
- 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
- 「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。
3.6 替换
- 「r」:替换光标所在处的字符。
- 「R」:替换光标所到之处的字符,直到按下「ESC」键为止。
3.7 更改
- 「cw」:更改光标所在处的字到字尾处
- 「c#w」:例如,「c3w」表示更改3个字
3.8 跳至指定的行
- 「ctrl」+「g」列出光标所在行的行号。
- 「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
3.9 撤销上一次操作
- 「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
- 「ctrl + r」: 撤销的恢复
3.10 查找和替换
查找文本:在命令模式下,输入 /text 查找 text,使用 n 移动到下一个匹配项。
替换文本:在底行模式下,输入:
:%s/old_text/new_text/g
四、vim的强大功能
-
语法高亮
在Vim中,语法高亮是其最基础的功能之一。通过启用语法高亮功能,Vim可以帮助开发者清晰地区分代码中的不同元素,如关键字、变量、函数等。对于编程语言的支持,可以通过插件进行扩展,Vim几乎支持所有主流编程语言的语法高亮。 -
多文件编辑
Vim并不仅仅局限于一个文件。通过 :split 或 :vsplit 命令,你可以轻松地将屏幕分割成多个窗口,进行多文件编辑。这种功能极大提高了工作效率,尤其是在处理多个文件时,你不再需要频繁地切换窗口,所有操作都可以在同一界面内完成。 -
插件系统
Vim强大的插件系统使得它可以根据用户需求进行定制和扩展。无论是代码自动补全、Git集成,还是Markdown预览、数据库操作,Vim几乎可以做到。最流行的插件管理器是Vundle和Pathogen,它们让你可以轻松安装和管理插件。 -
搜索与替换
在Vim中,查找和替换功能不仅仅限于文本内容。你可以通过正则表达式进行复杂的搜索,甚至在整个项目中进行批量替换。命令如 😒/old/new/g 会将当前行的 old 替换为 new,而 :argdo 命令允许你在所有打开的文件中进行替换。 -
自动完成
Vim不仅支持基本的代码补全,还能够根据你所输入的上下文自动提供更符合需求的补全项。你可以通过插件如 YouCompleteMe 或 Deoplete 来进一步增强代码自动补全功能,提高编码效率。 -
版本控制与Git集成
Vim还拥有强大的Git集成功能。通过安装插件,如 fugitive.vim,你可以在Vim内执行Git操作,如查看版本历史、提交更改、解决冲突等,而无需离开编辑器。这种集成方式为程序员带来了极大的便利。
分屏操作
- 水平分屏
:split 文件名
- 垂直分屏
:vsplit 文件名
其中,
- vim +文件名,wq之后若该文件原先不存在,则会自动创建
- 命令行输入vs 文件名,可以实现分屏操作
- ctrl按住不动,快速按两下w,可以实现光标在分屏幕之间的切换。
- 光标在哪个分屏幕,代表正在对该区域进行操作。
- wq!中的!表示强制,意为强制保存并退出
四、Vim的学习曲线:一段与自我对话的旅程
Vim被认为有较陡的学习曲线,这无疑是事实。刚开始使用时,你可能会感到困惑和不适应。特别是与传统的图形化编辑器相比,Vim没有鼠标操作,所有功能都需要通过键盘快捷键来完成。但这恰恰是Vim的精髓所在,它并非让用户去适应,而是引导用户从内心开始改变与计算机交互的方式。
然而,Vim的难学并非毫无意义。每一段痛苦的经历,都会带来极大的回报。习惯了Vim的操作,你将获得一种与计算机对话的流畅感。它让你摆脱了鼠标的束缚,极大地提高了工作效率,并让你的思维变得更加简洁和专注。
小结
在这个信息化时代,Vim不仅是Linux用户的必备工具,更是一种技术精神的象征。它提醒我们,真正的高手并非追求繁琐和浮华,而是在简约中找到最深的力量。在Vim的世界里,每一次按键,都是通向更加高效和自由的道路。
愿每一个使用Vim的你,都能享受到那份属于文本的极致之美。
本篇关于vim编辑器的介绍就暂告段落啦,希望能对大家的学习产生帮助,欢迎各位佬前来支持斧正!!!
本文地址:https://www.vps345.com/6708.html