你还不知道怎么退出 Vim?

提起文本编辑器,你一定会想到编辑器之神 Vim。据 Stack Overflow 的开发者调查:2015 年程序员中最流行的编辑器是 Notepad++,Vim 的使用比例占 15.2%。到了 2019 年,最流行的开发环境变成 VS Code,而 Vim 的使用比例已占 25.4% 了。

 

那么,作为一个 30 岁的“老牌”编辑器,Vim 为什么仍旧如此受欢迎?

 

在我看来,最主要的原因,就是使用 Vim 编辑文件非常高效——天下武功,唯快不破,这也是 Vim 的最大特点。除此之外,Vim 还有很多优势,主要集中在这么几点:

 

第一,Vim 是一个完整跨平台的编辑器。它支持的第一个操作系统是 AmigaOS,而后被逐步移植到其他操作系统上,如 Unix/Linux、Windows、macOS,甚至 iOS 和 Android 上都能找到 Vim 的移植版本。

 

第二,Vim 是一个高度可定制、可扩展的编辑器。在定制 Vim 时,你大多不用什么特殊工具,用 Vim 本身就可以。如果需要更强大的扩展能力,还可以用 Python、Perl、Ruby、Tcl 等其他通用脚本语言,或直接调用外部命令,很容易打造一个专属的开发环境,或把这个环境从一台机器转移到另一台机器上。

 

第三,Vim 有着良好的生态环境。网上可以找到大量现成脚本和插件,帮你打造一个顺手的开发环境。像语法检查、自动补全等程序员常用功能,全都可以在 Vim 里实现。不需要离开 Vim,就能完成从写代码、编译到运行的大部分工作。

 

下面的这张图里,展示了 Vim 的很多扩展一起工作的结果:

      

多个插件作用下的 Vim 界面

 

第四,尽管 Vim 最初是个针对字符界面的应用程序,但它也支持主流的图形界面,包括 Windows 的图形界面,Linux 的 GTK,以及 macOS 的 Cocoa 和 Carbon 等等。所以,在你只能基于字符界面进行远程连接时,Vim 的大部分功能仍然有效,只是界面的美观程度会受一定影响而已。所以,Vim 在后端开发者中很受欢迎。

Vim 的模式是 Vim 的高效所在,同时也是 Vim 学习上的一个难点。一是,命令太多、难以记忆;二是,找不到合适的使用场景,或不知道如何根据具体场景配置 Vim。另外,Vim 有很多实用的插件,需要合理选择及配置,才能打造出自己专属的开发环境。

总的来说,Vim 会为你营造一个高效、跨平台、高定制性、易于扩展的开发环境。全面掌握 Vim 需要花费一定时间,但绝对不会白费——Vim 会成为你的一件称手兵刃,让你拿来即用,快意编程。

为你展示几个 Vim 的实用动图:

       

????用 Vim 实现竖直分割&水平分割????

       

????修改往上第 2 层花括号内到所有内容???? 

????插件ClangComplete添加对 C/C++ 代码的自动完成功能????

以上这些 Vim 的骚操作,出自吴咏炜。他是前英特尔资深系统架构师,也是一位资深 C++ 程序员和 Linux 专家,有十多年 Vim 使用经验,从事软件开发工作 20 年有余,曾参与翻译《编程大师访谈录》,也在 GitHub 上维护一些开源项目。

 

最近,他在极客时间推出了专栏《Vim 实用技巧必知必会》,一上线我就订阅了。这个课是基于目前最新的 Vim 8.2 来讲解的,不仅介绍那些即学即用的 Vim 高频命令,还会带你定制自己专属的 Vim 环境,利用 Vim 脚本和插件实现常用功能。除此之外,还有一些 Vim 高阶用法和技巧讲解,让编程效率神器真正为你所用。

 

跟着看了几篇,内容确实不错,为了方便新手理解,还加了很多动图,也是很走心了。如果你也想变成效率高手,不妨扫码试读看看????

 

????扫描上图,免费试读

早鸟 + 口令「Vimgogogo」立省 30 元,

到手仅 ¥69,仅限「前 50 人」有效

这门课是如何设计的?

比起很多编辑器的开箱即用,Vim 是有一定的学习曲线的。因此,专栏并不是没有枯燥地讲解命令,而是使用图片和动画,让你对内容有一个直观的理解,再具体一点说,有这么几个特点:

 

  • 动图。使用大量动画讲解命令,及执行后的效果。

  • 穿插场景。每讲完一部分命令,都带你完成一个小任务,找到这些命令的使用场景,有效解决学完命令后用不上、记不住的问题。

  • 分享命令背后的使用心得。不局限于讲操作本身,还会输出作者多年来的使用心得、经验,剖析 Vim 的精髓,让你真正体验 Vim 为何是“为效率而生”。

 

详细内容,可以看看目录       

        

从我这订阅,有什么福利?

早鸟优惠+口令「Vimgogogo」到手价 ¥69

立省 ¥30,仅限「前 50 人」有效

 

订阅后生成海报发给好友,

每成功邀请 1 位好友,可得 ¥24 返现。

 

????扫描下图,免费试读????

???? 点击「阅读原文」,

输入优惠口令「Vimgogogo」,

以 最低价 ¥69 入手,仅限 前 50 人。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/467474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我的大学6年

这篇文章是郭天祥前辈写的,想起来我上大学那时候,也是看他的视频入门的单片机开发,而且那时候,没有这么多渠道了解外面的东西。当时最喜欢的是一个技术论坛,现在还因为某种原因开始收费了,更甚的是如果不按…

2017.10.25水题大作战题解

rank: T1P1615 西游记公司 https://www.luogu.org/problemnew/show/P1615 scanf直接秒 1 #include<iostream>2 #include<cstdio>3 #include<cstring>4 #include<cmath>5 #define LL long long 6 using namespace std;7 inline LL read()8 {9 char …

功夫熊猫问我要不要从嵌入式转行去互联网

先看问题&#xff0c;因为我平时不怎么看微信公众号的后台&#xff0c;我比较喜欢逛知识星球和微信群&#xff0c;公众号后台的交流不是很友好&#xff0c;所以没怎么关注&#xff0c;不过也会隔三岔五的看看留言&#xff0c;比如谁给我说好听的&#xff0c;或者谁骂我了&#…

进程和线程基础知识全家桶,30 张图一套带走

前言先来看看一则小故事我们写好的一行行代码&#xff0c;为了让其工作起来&#xff0c;我们还得把它送进城&#xff08;进程&#xff09;里&#xff0c;那既然进了城里&#xff0c;那肯定不能胡作非为了。城里人有城里人的规矩&#xff0c;城中有个专门管辖你们的城管&#xf…

前端面试之前要准备的那些事

先说一下关于工作简历的一些常见的问题&#xff0c;这是最基础的一步&#xff0c;万事开头难&#xff0c;写好简历就是求职路上最简单也是最关键的一步&#xff0c;一份好的简历不但可以让你从众多简历中脱颖而出&#xff0c;还能够让公司的人事对你的印象深刻。问题一&#xf…

php ip2long bug,php ip2long函数怎么用-PHP问题

php ip2long函数用于将IPV4的字符串互联网协定转换生长整型数字&#xff0c;其应用语法是“ip2long ( string $ip_address ) : int”&#xff0c;参数“ip_address”示意一个规范格局的地点。php ip2long函数ip2long — 将 IPV4 的字符串互联网协定转换生长整型数字阐明ip2long…

C语言 | 常见数据转化函数

来源&#xff1a;嵌入式云IOT技术圈作者&#xff1a;杨源鑫整理 1、字符串转十六进制代码实现&#xff1a;void StrToHex(char *pbDest, char *pbSrc, int nLen) {char h1,h2;char s1,s2;int i;for (i0; i<nLen/2; i){h1 pbSrc[2*i];h2 pbSrc[2*i1];s1 toupper(h1) - 0x3…

java常用算法分析和实现 amp,Java常用算法实现

0.总结常见算法复杂度.jpgO(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n)&#xff0c;logn的底数为21.归并排序package DailyPractice;import java.util.*;public class Test1 {/*** 归并排序的思路&#xff1a;先将数组的左边和右边分开排完…

FMStocks7 , 不错的一个.NET 示例程序

这个示例程序估计很多人都用过。没有用过的话可以从 http://www.microsoft.com/downloads/details.aspx?FamilyID966C3279-2EE9-4E14-A4F7-D4807239A396&displaylangen 下载一个简单的股票买卖程序&#xff0c;数据库访问和部分业务逻辑提供了 COM 企业服务和 DotNet Remo…

这个结构体对齐输出有意思

这个题目是我在群里看到大家讨论的&#xff0c;既然是讨论的了&#xff0c;那我就拿出来说说&#xff0c;因为笔试面试的时候&#xff0c;可能就会遇到这样的题目。实例代码#include "stdio.h" #include "stdint.h"struct Obj {char a; //1uint32_t b;//4u…

声压级 matlab,语音信号处理教程(二)声音的声压级和响度

本节内容我们来看下如何用Matlab和Python计算声音的声压级和响度。声压级1. 声压级定义首先来看声压级&#xff0c;这个就是指的我们平时所说的声音有多少分贝。声压定义为声波在某一点产生的逾量瞬时压强的均方根值。由于声压容易被人耳感知&#xff0c;也易于测量&#xff0c…

javascript 之作用域-06

作用域 作用域&#xff1a;是指变量可访问的范围&#xff0c;他规定了如何查找变量&#xff0c;也就是确定当前执行代码对变量的访问权限。 作用域有两种工作模式&#xff1a; 静态作用域 &#xff1a;又称为词法作用域&#xff0c;在编译阶段就可以决定变量的引用&#xff0c;…

被裁之后才明白:有一种抗风险能力,叫做会讲故事

如果你注意观察&#xff0c;会发现周围总有这么一种人&#xff1a;他说的每句话&#xff0c;单拎出来都没毛病&#xff0c;但一说出口就让人无法接受&#xff0c;很难说服你。尤其在职场里&#xff0c;这种无效沟通特别多&#xff0c;以至于产生了庞大的“沟通成本”&#xff1…

saltstack php,Saltstack快速入门简单汇总

[rootmaster~]# salt \* test.pingminion-1:Trueminion-2:Trueminion-3:Trueminion-4:TrueTrue代表正常&#xff0c;没有响应当然代表客户端没有启动或者没有认证成功之类的。指定目标主要有五种方式一&#xff1a; Global&#xff0c;即salt默认的匹配方式&#xff0c;能识别终…

课下测试03!03!03!题目截图及解析(不完全正确)第四周--信息安全系统设计基础...

课下测试03&#xff0c;也就是第三章内容&#xff0c;以下分析和解析仅供参考哦~ 注意&#xff01;最好是对着题目看一下书&#xff0c;自己思考一下题目&#xff08;毕竟我页数都给你标出来了&#xff09;&#xff0c;不是说这样你就能提高了&#xff0c;而是我正确率真不高&a…

哦!数组还能这么用,学到了!

来源&#xff1a;公众号【编程珠玑】作者&#xff1a;守望先生ID&#xff1a;shouwangxiansheng这个问题源于读者在阅读redis源码时的一个疑问。先看下面的代码&#xff0c;对于包含动态字符串成员的两个结构体Test0和Test1占用空间分别是多少呢&#xff1f;//来源&#xff1a;…

推荐开源代码2004/12/17

严正声明&#xff1a;本博客中的任何随笔、文章、图片等内容都不能私自转载&#xff0c;必须书面征得作者同意才能转载&#xff0c;并不能随意篡改&#xff0c;如要作出任何改动&#xff0c;必须书面征得作者同意方可&#xff0c;作者拥有一切权利并保留一切追究权利&#xff0…

广东,就是这么横?

昨晚的稿 今天发一下 应该有好久好久没有写篮球相关的文章了&#xff0c;因为之前写了被骂了&#xff0c;不过&#xff0c;今天不一样&#xff0c;毕竟方超巨打得这么好&#xff0c;不吹一下&#xff0c;总感觉今天不完整&#xff0c;骂就骂了吧&#xff0c;反正也不差这一次了…

在ASP.NET中利JavaScript实现控件的聚焦

在Windows应用程序中很容易控制控件的聚焦&#xff0c;但是在ASP.NET中并没有提供这样的功能&#xff0c;但是我们同样可以实现这样的功能&#xff0c;这篇文章就讲述了通过JaveScript实现在页面上某一特定控件获得焦点的功能。 下面是用到的JavaScript代码。 <script langu…

电厂各类设备原理动图,绝对让你看花眼!

▲ 火力发电流程原理▲ 核能发电流程原理▲ 水力发电流程原理▲ 光热发电原理▲ 垃圾发电原理▲ 蒸汽吸收式制冷原理▲ 尿素热解脱硝流程原理▲ 湿法脱硫工艺原理▲ 钢球磨煤机内煤的破碎原理▲ 碎煤机工作原理▲ 螺旋输送机&#xff08;绞龙&#xff09;原理▲ 多管电除尘器▲…