首页 系统教程 操作系统 Vim 文本编辑器 入门指南

Vim 文本编辑器 入门指南

Jan 02, 2024 pm 04:58 PM
linux linux教程 红帽 linux系统 linux命令 linux认证 红帽linux linux视频

Vim 文本编辑器 入门指南

对一个程序员来说,选择一个文本编辑器是一件非常重要的事。因为不同编辑器之间有着不少的差异:图形界面或者非图形界面、不同的快捷键、不同的编程语言支持、不同的插件以及自定义设置等等。我建议不是去搜索最棒的编辑器,而是去选择最适合你的习惯且最适应你的任务的那一个。假如你打算在一个团体中工作,那么最好和你的共事者选择一样的编辑器。这样的话,一旦你在使用中遇到问题,你就可以去向他们寻求帮助。

这正是我在几年之前开始使用 Vim 的原因。通常来说,Vim 会被置于传说中的 Emacs 的对立面。我承认我对 Emacs 知之甚少,但是对于它俩,你需要知道的是它们都可以被深度定制,并且在初学时也都非常令人困惑。这个教程并不会介绍有关 Vim 的所有内容,而是将介绍一些基础以使你在最初就能正确使用它,随后还会展示一些小技巧,借此(希望能)让你有能力自己去探索学习。

Vim 一词来源于 “Vi IMproved”。Vi 是一个被广泛安装于 Unix 系统的非图形界面文本编辑器,并且它也被默认安装在了 Linux 系统中。Vim 是这个原始编辑器的增强版,但是不同于 Vi,并不是每个发行版都默认安装了它。

安装

在 Ubuntu 中可以使用如下命令来安装 Vim:

sudo apt-get install vim

如果你已经对某些插件有了兴趣,使用以下命令:

sudo apt-cache search vim

这命令将给你输出一个很长的和 Vim 有关的包列表。在这之中,有针对不同编程语言的工具,有插件管理器,等等。

在这系列教程中,我将会在 Ubuntu 上使用最新版的 Vim(7.3.154,LCTT 译注:现在最新版为 8.0)。当然你也可以使用其它任何版本。

热身

在终端输入vim命令,你将会看到一个非常棒的欢迎界面。

Vim 文本编辑器 入门指南

(LCTT 译注:看到了欢迎界面中那行“Help poor children in Uganda!” 了吗?)

如果你之前从未使用过 Vi 或者 Vim,那么你很可能甚至不知道该怎么退出它... 是的,这是事实。任何你常用的快捷键在 Vim 中都将失去原有的效果。(LCTT 译注:网上有个流传的笑话——“如何制造乱码”,“让新手退出 vi”)

首先,要使用任何命令式的功能,像保存或者退出,你都先得输入一个冒号( )。保存是 :w 而退出是 :q 。如果你想不保存文件就退出,那么就要使用强制退出命令:q! 。Vim 中非常棒的一点是你不需要分开输入各个命令,换言之,如果你想保存然后退出,你就可以直接使用 :wq

现在,我们退出 Vim 再打开一个文本文件。为此,你只需把想要编辑的文件名加在命令后面即可:

vim [文本文件名]

Vim 文本编辑器 入门指南

一般而言,当你打开一个文本文件,你将会处在查看模式。这使得 Vim 与众不同并且最初会让人感到困惑。Vim 主要由两种模式构成:查看模式和编辑模式。查看模式用于查看内容并且使用一些命令。想要进入编辑模式,只需按 i 键进行插入或者 a 键进行添加。想要返回到查看模式或者进行命令式功能的操作,按Escape 键即可。插入添加的差异仅仅在于你是想在光标位置之前还是在光标之后进入编辑模式并进行文字输入。要想彻底地明白,你应该亲自去尝试一下。我的建议是:仅在行尾使用添加,而在其它时候使用插入

(LCTT 译注:此段落中“查看模式”原文是 “visual mode”,疑为“view mode”,在此模式下可以查看文本,但是不能进行编辑;而“visual mode” 是编辑模式的一种,可以按 v 键进入,然后就可以用方向键从当前光标位置开始进行选择,并以反白的视觉效果显示,通常选择后可以按 y 进行复制、按 d 进行剪切等操作。此外, 本文作者的用语并不标准,按照 Vim 自己的用语来说,此处所谓的“查看模式”,应该称之为“普通模式”,“编辑模式”应该称之为“插入模式”,不过意思是一致的。)

要想在文本之中移动光标,你通常可以使用键盘上的方向键,它们无论是在查看模式还是在编辑模式都可以生效。不过,一个真正的纯粹主义者将会告诉你使用按键h 向左,j 向下,k 向上,i 向右来(在查看模式)进行移动。

现在你已经明白了如何和简单地控制 Vim,我们再来更加深入一些。

一些简单命令

现在你已经熟悉了在正常模式和插入模式之间进行切换,下面是一些可以在正常模式中使用的命令:

  • x:删除一个字符
  • u :撤销一个操作(相当与 Ctrl+z
  • dd :删除一行内容
  • dw :删除一个单词
  • yy :复制一行内容
  • yw :复制一个单词
  • p :粘贴一个之前删除或复制的行或者单词
  • e :跳到下个单词(LCTT 译注:词尾)(比单纯用方向键更快)
  • r :替换一个字母(按 r ,松开,然后再按新字母)

当然不止这些,不过这些对现在来说已经足够了。如果你掌握了上面的全部,你将能你很顺溜地使用 Vim 了。

对于那些还想知道更多的人,我再多提一下。你可以在任何这些命令之前加上一个数值,那么这个命令将被重复执行相应的次数。例如,5x 将在当前行连续删除 5 个字母,而 3p 将会粘贴 3 次。

高级命令

最后,作为对你自己继续探索的鼓励和示例,这里给出几个高级且常用的命令:

  • /所搜索的内容 :在文中搜索特定内容
  • :sp 文本文件名 :将屏幕水平分割成上下两半,新文件展示在另一半。想要在两侧切换焦点,可以使用 Ctrl+w 快捷键。
    Vim 文本编辑器 入门指南
  • :vsp 文本文件名 :同上,但是是垂直分割屏幕
  • Ctrl+Shift+CCtrl+Shift+V :在终端中复制和粘贴文本
  • :! 命令名 :在 Vim 中运行 Vim 外的终端命令,直接发送给 shell。例如,:! ls 将在不退出编辑器的同时,显示你当前目录内的文件。
    Vim 文本编辑器 入门指南
结论

我觉得你现在应该已经有了足够的准备来开始使用 Vim。你还可以通过安装各种插件,编辑 ~.vimrc 文件,或者在 shell 中输入vimtutor 命令来使用交互式教程以学到更多。

如果你有任何你想分享的关于 Vim 的其它命令,请在评论中告知我们。


以上是Vim 文本编辑器 入门指南的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

pycharm解释器在哪里 解释器位置查找方法 pycharm解释器在哪里 解释器位置查找方法 May 23, 2025 pm 10:09 PM

在PyCharm中设置解释器的位置可以通过以下步骤实现:1.打开PyCharm,点击“File”菜单,选择“Settings”或“Preferences”。2.找到并点击“Project:[你的项目名]”,然后选择“PythonInterpreter”。3.点击“AddInterpreter”,选择“SystemInterpreter”,浏览到Python安装目录,选中Python可执行文件,点击“OK”。设置解释器时需注意路径正确性、版本兼容性和虚拟环境的使用,以确保项目顺利运行。

参加VSCode线下技术交流活动的经验 参加VSCode线下技术交流活动的经验 May 29, 2025 pm 10:00 PM

参加VSCode线下技术交流活动的经验非常丰富,主要收获包括插件开发的分享、实战演示和与其他开发者的交流。1.插件开发的分享:了解了如何利用VSCode的插件API提升开发效率,如自动格式化和静态分析插件。2.实战演示:学习了如何使用VSCode进行远程开发,认识到其灵活性和扩展性。3.与开发者交流:获取了优化VSCode启动速度的技巧,如减少启动时加载的插件数量和管理插件加载顺序。总之,这次活动让我受益匪浅,强烈推荐对VSCode感兴趣的人参加。

linux如何限制用户资源?ulimit怎么配置? linux如何限制用户资源?ulimit怎么配置? May 29, 2025 pm 11:09 PM

Linux系统通过ulimit命令限制用户资源,防止资源过度占用。1.ulimit是shell内置命令,可限制文件描述符数(-n)、内存大小(-v)、线程数(-u)等,分为软限制(当前生效值)和硬限制(最高上限)。2.临时修改直接使用ulimit命令,如ulimit-n2048,但仅对当前会话有效。3.永久生效需修改/etc/security/limits.conf及PAM配置文件,并添加sessionrequiredpam_limits.so。4.systemd服务需在unit文件中设置Lim

Informix与MySQL在Linux上的比较 Informix与MySQL在Linux上的比较 May 29, 2025 pm 11:21 PM

Informix和MySQL均为广受青睐的关系型数据库管理系统,它们在Linux环境下均表现优异并得到广泛应用。以下是对两者在Linux平台上的对比分析:安装与配置Informix:在Linux上部署Informix需要下载对应的安装文件,随后依据官方文档指引完成安装及配置流程。MySQL:MySQL的安装过程较为简便,可通过系统的包管理工具(例如apt或yum)轻松实现安装,并且网络上有大量的教程和社区支持可供参考。性能表现Informix:Informix以卓越的性能和

Debian下Filebeat与Elasticsearch如何集成 Debian下Filebeat与Elasticsearch如何集成 May 28, 2025 pm 05:09 PM

在Debian操作系统中,实现Filebeat与Elasticsearch的集成能够简化日志数据的采集、传输和存储流程。以下是具体的实施步骤:第一步:部署Elasticsearch首要任务是在Debian系统中完成Elasticsearch的安装工作。你可以从Elastic官网下载对应版本的Elasticsearch软件包,并依据官方提供的指导完成安装过程。下载与安装Elasticsearchwgethttps://artifacts.elastic.co/downloads/elasticse

VSCode 插件更新后导致编辑器崩溃的原因及解决办法 VSCode 插件更新后导致编辑器崩溃的原因及解决办法 May 29, 2025 pm 10:03 PM

VSCode插件更新后编辑器崩溃的原因是插件与现有版本的VSCode或其他插件存在兼容性问题。解决方法包括:1.逐个禁用插件排查问题插件;2.降级问题插件到之前版本;3.寻找替代插件;4.保持VSCode和插件更新,并进行充分测试;5.设置自动备份功能以防数据丢失。

如何在Debian上实现Docker的自动化部署 如何在Debian上实现Docker的自动化部署 May 28, 2025 pm 04:33 PM

在Debian系统上实现Docker的自动化部署可以通过多样的方法来完成,以下是详细的步骤指南:1.安装Docker首先,确保你的Debian系统保持最新状态:sudoaptupdatesudoaptupgrade-y接着,安装必要的软件包以支持APT通过HTTPS访问仓库:sudoaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-common-y导入Docker的官方GPG密钥:curl-

mysql怎么调成中文界面 轻松设置mysql中文语言环境 mysql怎么调成中文界面 轻松设置mysql中文语言环境 Jun 04, 2025 pm 06:36 PM

要把MySQL调成中文界面,可以通过MySQLWorkbench或命令行工具实现。1)在MySQLWorkbench中,打开“Preferences”,选择“Appearance”选项卡,然后在“Language”下拉菜单中选择“Chinese(Simplified)”,重启即可。2)使用命令行工具时,设置操作系统的语言环境变量,如在Linux或macOS上使用“exportLANG=zh_CN.UTF-8”,然后运行mysql客户端。

See all articles