钗黛双收:若你也同Vim难割舍,却又看Emacs情切切

从VIM到Emacs:如何用verilog-mode的批处理模式实现跨编辑器的Verilog自动化 本文介绍了一种创新的硬件开发工作流,让VIM用户无需切换编辑器,即可通过Emacs的批处理模式调用verilog-mode的AUTO功能,实现Verilog/SystemVerilog代码的自动化生成与维护。文章详细讲解了AUTO指令家族、AUTO_TEMPLATE的用法、模块搜索路径配置,并提供了在VIM中集成该自动化流程的完整方案与脚本,旨在提升大型SoC设计中的开发效率。 阅读详情
1 钗黛双收:若你也同Vim难割舍,却又看Emacs情切切 (引子)

这篇文章分享我的一些经历,写给和我一样对娇小的Vim难以割舍,又在抱上Emacs这个大家闺秀以后死活不愿意撒手的朋友们。

如果你不知道什么是“编辑器圣战”,那不妨百度Google一下,总之是自从开辟鸿蒙以来,就有两个以伴君左右为己任的贤内助(Vim编辑器和Emacs编辑器)在互掐。由于两位佳人的理念差别之大,加上各自阵营之间的鸿沟之深,使得先贤先哲基本上都会在这两个阵营里面挑一个来站队。

网络普及以后,凡有帖子对Vim和Emacs这两大编辑器作出比较,大都有成为必删贴的潜质。原因很好理解,无论是谁看了红楼梦,很难不对宝钗黛玉这两位产生点好恶,此后但凡有人起了个头要对钗黛二人做点比较,那后面的楼经常能盖歪到变成地域攻击男女对骂。在技术论坛里,这样折腾不被河蟹掉才怪。更有甚者,如果谁在讨论编程的时候问了一句“需要做xx开发,用什么工具比较好?”随后也常常演变成Vim对Emacs的钗黛攻伐,最后一样飞沙走石天昏地暗。这就说明,选择Vim或Emacs已经不仅取决于我们在编辑文本时的好恶,而已经上升到干活的人怎么挑工具,过日子的人怎么选老婆这种哲学高度的问题。

我一向觉得,成事者不可狭于器。所以选工具时候没必要为了工具本身而搞个粉丝团,而是就着菜选刀,比着孩子找媳妇,揽来什么样的活计使什么样的家伙。若以我的经验来概括,Vim的犀利在于键盘操作,练家子爽得是用最少的手指运动完成编辑;Emacs的NB在于自定义功能,高手们都有一套独门不传的脚本,所以Emacser满手都是绝活,靠这些绝活上天入地无所不能。注意,这里要讲的既不是比出高下,也不是评测完了各打五十大板和稀泥。而是说说提炼出两个工具的精华加以“双修”,用足够务实的态度来平息争端。

先说点野史当引子。大学里面从来都不缺废寝忘食折腾电脑的兄弟。他们当中应该有不少动机都和当年的我一样:希望被人误认为是电脑高手。这种伪装有一个巨大的好处——没准能多给女生重装几次Windows。

不过,重装Windows的高手们为了哥们面前神侃时不露怯,基本上还要玩过点一般人玩不转的GNU/Linux。我想,工科男生们的Linux情结,怕有不少是因此而生。然而凡事不易,玩Linux是要自己改配置文件的,这倒是根硬骨头。

骨头硬的重要原因么,编辑器不顺手。在那没有Ubuntu的年代里,谁要是折腾几个晚上装好一台Linux的小白肉鸡,会发现可用的编辑器只有Vim。这玩意和Windows的记事本、Dos的edit相比简直就是个怪胎。这一点想必Emacser也深有感触吧,进到Vim里面若是不懂命令,肯定是在一阵滴滴滴过后连一个字母都敲不到屏幕上。

当装机圣手们的情商智商普遍被挑战了以后,大致是迅速分化为两派——啃骨头派和换骨头派。啃派如我,继续捏着脚适应Vim的小鞋;换派不用说也能猜到,自然是鞋也不要就转身踏入了Emacs阵营——在那边起码知道怎么打字。

按说天朝对于西方的编辑器圣战应该是打酱油的态度,但实际情况是,啃派和换派俨然形成了自己的圣战副本。

2 钗黛双收:若你也同Vim难割舍,却又看Emacs情切切 (Vim篇)

那段时间作为Vim啃派,我和许多队友一样有个自恃甚高的理由来支持Vim:编辑时击键次数最少。但是私下里想想,这个理由多少有些往脸上贴金。

其实Vim用多了以后,并不只是臣服于高效,更多的是手指头上瘾。用我们运动神经控制的行话来说,Vimer的大脑已经被触觉感官和运动神经一起绑架了。那些用手指肌肉记住的命令,执行起来基本不怎么过脑子。而且一旦命令执行成功,脑中还会生成大量“多巴胺”以示奖励。

看过《生活大爆炸》的应该都有印象,Leslie夜晚敲Leonard的门,只不过是为了缓解自己多巴胺分泌过剩……所以Vimer生存在这样一种状态下:只要不用hjkl这种奇怪的击键来移动光标,就会流着眼泪打着呵欠思念不已;反过来一旦用上了hjkl,那就等于在重复《生活大爆炸》里面那种神经感受。你说像在嗑药也行。

 

Vim瘾上身之后必然产生一个愿望,那就是以嗑药的方式,额,以Vim的方式来操作所有的软件。很不幸,持有这种愿望的啃派们几乎都会发现,就算骨头啃下来了,它也是打狗不能的。

首先,想替小家碧玉Vim扩展出十八般武艺,这个基本上真的很难。难的根本原因是Vim给用户预留的扩展能力先天不足。Vim的设计者压根没考虑把它做成一个放之四海而皆准的巨无霸,所以Vim打从娘胎里出来时在胃口上就不太给力。

既然此路不通,那只好另求变法。为了让啃骨头时攒下的功夫不至于荒废,能不能对其他软件的键盘操作方式动动刀,让它们起码和Vim敲起来差不多?这也很难。虽然软件的操作方式通常可以自定义,但自定义的途径大多是修改键位绑定。这种途径有个与生俱来的短板,它并不能区分出Vim里的“命令模式”和“编辑模式”。不巧的是,这种模式区分恰恰是Vim操作方式的核心。说到底,要想在其他软件里面模拟Vim,基本上等同于重新开发一遍。所以这么多年我只见到Firefox的Vimperator插件做到了在宿主软件(Firefox)中对Vim几乎完全模拟(当然有若干Chrome和Visual Studio的插件也可以部分模拟Vim,但个人意见它们的“类Vim”程度都还差得远)。而且现如今浏览器混战成这个样子,哪个插件都恨不得全机种通吃,但Vimperator却丝毫没有往其他浏览器上移植的意思。这也从某种意义上证明模拟Vim不是件容易的事。

折腾这一大圈,发现一个无奈而不争的事实:Vim由于太过婉约,终归没有可能升任管家。意思就是不可能让所有软件用起来都像是在操作Vim一样。所以我只好把Vim养在硬盘里没事绣绣花打打字,而让管家这个肥缺虚位以待。转机出现在某一天,那天后知后觉的看到了一个老掉牙的故事,福特汽车的创始人亨利福特说,在汽车发明以前如果你问消费者想要什么,他们会说想要跑得更快的马。苹果的乔大爷也总是拿这个故事来说事,意思就是我苹果这才叫真正抓住了问题的核心——(出门人)要的未必是马,而是快;(iPhone粉丝)要的未必是多任务,而是上网的时候还能听个小曲。

这个产品设计的例子启发在哪?在我看来,当一个愿望被挖出来以后,不见得需要照本宣科才能满足这个愿望。如果换个解法还能满足,那说明你hit the button了。换句话说,当引子出来后,故事往下怎么续是文无定法的。

回到眼前这个事上,啃骨头派的愿望是用Vim的操作方式来一统江湖,不过果真非得“用Vim的方式”吗?恐怕重点还是“一桶浆糊”吧。玩电脑的都是懒人,懒人有个癖好叫“Don’t repeat yourself”,如果谁弄出一套比较高效的键盘操作方式,能让我学一次以后就不用再学了,那就暂时去tnnd的门派。

用个比方来做总结,Vim实在是精致独特得有点像个林妹妹。但谁要是希望家里也有个林妹妹,光把自家丫头照着绣像打扮打扮是不行的,必须从零开始养成一个。而且就算真能养出来个“天上掉下来”一般的可人儿,管家婆的位置仍然没她的份。

3 钗黛双收:若你也同Vim难割舍,却又看Emacs情切切 (Emacs篇,结局)

一旦破除了心理障碍,在Vim之外寻求“管家婆”的人选也就不算作倒戈了。电影《社交网络 The Social Network》里面有这样一个镜头,在扎克伯格同学悲愤不已,要把女生头像和畜生猪狗一起打分时,他来了句“有必要重启Emacs,修改代码”。这个杜撰的场景告诉我们,IT巨星再怎么胸怀壮志,始于足下的不过是手指另一端连着的编辑器。当geek们叫嚣要在世界上留下一个痕迹(make a dent in the universe)的时候,手里常常拎着一把折凳,折凳背面写着——Emacs。

 

我用Emacs的最初经历和很多Emacser可能稍有不同,但想必都是从跌跌撞撞的青涩回忆开始,最后让Emacs成了一个“全能伴侣”而浑不自知。博士期间,我主要用的工具是Matlab和Visual Studio,这两个工具自带的编辑器与Vim相比都是小白,属于要严重影响心情和智商的那一种。但是,无论是Matlab还是Visual Studio,它们自带的小白编辑器都只有Emacs模式,没有Vim模式(原因如前所述,模拟Vim很难)。这好歹是聊胜于无,而且既然Emacs用户能从中受益,我凭什么不试试。不得不说,如果目的是用统一的键盘操作方式来使用各种软件,Emacs的领地实在是太广了。除了Matlab和Visual Studio这种内部伪装出一部分Emacs的快捷键以外,非常值得一提的是还有一个日本人写的软件Xkeymacs。这玩意干脆把Windows的快捷键全部接管了,直接让所有Windows软件用起来都跟Emacs一个感觉。所以如果你像我一样不得不在Word里面写文稿的话(Neuroscience领域很多教授不是工程背景,只用Word),就知道Xkeymacs让你舒服在哪里了。难怪一个老外在评价的时候说Xkeymacs这个李鬼软件好到让人“心中不安(disturbingly good)”。

搞笑的是,我是直到在Xkeymacs这种替身杂牌军中用熟了Emacs快捷键之后,才开始慢慢尝试Emacs本尊。开始时先把Emacs配成了Matlab IDE,用它搞定了整个博士课题的数据处理,后来又陆续使用了cedet,etag,yasnippet这些扩展,再加上秒杀笔记、日程、Wiki、表格、博文的org-mode……算是把我这个入门级的Hacker武装到了神经末梢。虽然我不像其他Emacser一般可以骄傲的说自己“活在Emacs里”,但若说最近重要的工作成果都是在Emacs上创作出来,这话却是一点也不假。到了这个时候,Emacs已经完全升任管家婆,堪比宝钗再世。如果谁也有似曾相识的回忆,想必可以深刻体会到这样一个比较狗血的剧情,若宝玉能和Emacs一样的宝钗姐姐继续好下去,那完全有希望弄出个明朝版的百度,东山再起。

可是作为Vim的死忠,对于手掌几乎不挪窝的向往,那是消失不掉的。

坊间对于Emacs有一条经典评语,说Emacs是“伪装成编辑器的操作系统”。言下之意就是Emacs什么都能做(包括经典的煮咖啡)。既然Emacs都神通成瑞士军铲了,何不另辟蹊径,用军铲削出一个Vim呢?西方到底是计算机技术的始作俑者,对Emacs这种恐龙级工具而言,能被摆弄的四十年来都被摆弄一遍了。所以只要放狗一搜,就会发现Emacs居然自带Vim模拟,名叫viper-mode。而且为了让viper-mode更像Vim,还有第三方开发了一套叫做vimpulse的增强包。也就是说,只要下载一个vimpulse.el脚本,丢到Emacs的启动路径中,它就可以几乎完美的模拟Vim!

写到这里,折腾的两条主线已在此收敛,引发“圣战”的两大神器也已经被和谐进了同一个窗口。再往下就该写些技术笔记和心得回顾,不在这篇的目的之内,因此应该歇笔了。如果要问我到底是在用Emacs还是在用Vim,或问哪一方赢得了我的选择?我也不知道。每当想写点程序、调段脚本、码点wiki、记记笔记的时候,我用的都是Emacs提供的外加自己用eLisp扩展出的功能;但是当码出来的东西让人不爽,需要浏览、修改和整理的时候,手指弹出的又都是Vim的命令。

回到最开始说的,若是你用电脑要做的事和我差不多,而且也觉得用键盘工作是很爽的一件事,那就应该试试Emacs+Vim双修。道理很简单,假如你是包工头,而Emacs和Vim是两位身手不凡的应聘者,那么当然应该是两个都收了而后“择其善者而从之”,这才是对自家生意负责。不过对选编辑器如选媳妇的人来说,两大神器双修在手,尽在此一句:

fibplus-8.0.0.zip FIBPlus 是一套面向 Delphi / C++Builder 的 Firebird、InterBase 数据库访问组件,特点是直接走原生客户端 API,不经 BDE/ODBC,速度快且可控性强。8.0.0 版本主要适配 Delphi 2009 及以后的版本(Delphi 6–2007 需用 7.9.x),核心组件包括 TpFIBDatabase、TpFIBTransaction、TpFIBDataSet 等,支持精细事务管理、本地缓存、BLOB 处理和备份恢复等数据库服务。该库原为 Devrace 的商业组件,现由社区在 GitHub 的 madorin/fibplus 项目开源维护,建议从官方仓库获取源码而非第三方网盘压缩包。安装时解压后用对应版本的工程组(10.4+ 统一为 `FIB.groupproj`)Build 全部包,再 Install `dclFIB` 并在 Library 路径加入 Source 目录即可。新项目中若需官方技术支持,也可考虑 FireDAC、IBDAC 等更现代的替代方案。 立即下载

相关推荐

基于K8S + apisix/istio 实现云原生模块化微服务.自带代码生成器,能够生成对表的增删改查的逻辑代码

基于K8S + apisix/istio 实现云原生模块化微服务.自带代码生成器,能够生成对表的增删改查的逻辑代码.是标准Maven项目,只依赖springboot,没有hibernate,struts,ibatis,数据库调优可以使用druid输出慢sql,比分析xml中的语句更直观,springrain所有的sql语句都使用Finder封装管理,只要查看Finder的引用即可.

为何Emacs和Vim被称为两大神器

Author:Jiqing Wuemail:jiqingwu@gmail.comhomepage:http:://hi.baidu.com/jiqing0925create:2011-01-09update:2011-01-09面向的读者:经常用电脑处理文本和编程的同学<br />目录0. 序章:神器的传说1. 无敌的可扩展性1.1 可扩展性给了软件强大的生命1.2 Emacs是伪装成编辑器的操作系统1.3 Vim不只是Vi2. 特立独行的魅力2.1 可扩展性让你倾注了灵魂2.2 独特的操作方式让你中了毒3

brucetiancai的专栏 1251

工艺部2026年终总结及2027工作规划PPT.pptx

制造业生产、工艺、设备、质量全套 PPT 资料,包含月度经营复盘、季度数据分析、部门年终总结规划、产线与检验规范、TPM 设备保全、质量意识、质量总监高阶培训等课件。内容兼顾经营指标偏差分析、述职汇报、现场制度宣贯、岗位技能教学。 适合操作工、检验员、设备维保员、工艺 / 品质 / 设备工程师、生产主管、各部门部长、质量总监、厂长、内部培训师、精益专员使用,覆盖一线执行、骨干分析、部门负责人述职、高管进阶全层级,可直接用于工厂汇报、内部培训、述职复盘。

Emacs和Vim:神的编辑器和编辑器之神

在这个蔚蓝色的星球上,流传着两大神器的传说:据说Emacs是神的编辑器,而Vim是编辑器之神。一些人勇敢地拾起了Vim或Emacs,却发现学习曲线陡峭而漫长,还是有一些人留下来了,坚定地守护着这两大神器。一些说葡萄太酸的人想离开又不甘心,总是问:它们到底神在哪里啊? AD:

1725

wordbuddy破甲经验分享

wordbuddy破甲经验分享

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现)

内容概要:本文详细介绍了一种基于Simulink的双闭环PWM整流器采用虚拟同步发电机控制(VOC)策略与空间矢量脉宽调制(SVPWM)技术的仿真模型。该模型在dq同步旋转坐标系下构建电压定向控制系统,实现了电压外环与电流内环的双闭环控制结构,重点阐述了VOC控制原理、SVPWM调制算法的实现方法及其在Simulink环境中的模块化搭建过程。通过该仿真平台,能够有效实现单位功率因数运行、直流母线电压稳定控制以及优异的动态响应性能,适用于电力电子变换器、新能源并网系统及电机驱动等领域的控制策略验证与性能评估。; 适合人群:电气工程、自动化、电力电子与电力传动等相关专业的高年级本科生、研究生,以及从事电力电子系统仿真、新能源并网控制研究的科研人员和技术工程师。; 使用场景及目标:①深入理解三相PWM整流器在dq坐标系下的数学建模与控制机理;②掌握VOC控制策略的核心思想及其相较于传统矢量控制的优势;③学习SVPWM调制技术的实现流程与Simulink建模技巧;④通过仿真实验验证双闭环控制系统的静态精度与动态稳定性,提升对先进电力电子控制系统的分析与设计能力。; 阅读建议:建议结合电力电子技术、现代控制理论和电机控制相关基础知识进行学习,按照仿真模型的结构逐步分析各功能模块的信号流向与参数配置,重点关注锁相环(PLL)、坐标变换、PI控制器设计及SVPWM模块的实现细节,并可通过调整控制参数观察系统响应变化,以深化对控制策略动态特性的理解。

eamcs vim双剑合并及需求帮助

大部分编程还是在VC下面,但是一直想要更为强大的编辑能力。网上有看到说世界上有三种编辑器:vim、emacs和其它。于是分别尝试了下,vim上手到也还容易,快捷键短,三种模式很是喜欢,emacs居然上不了手,于是用了若干年vim。vim曾经尝试自己去配置配置,总是出这出那问题,没有耐心在编辑器上折腾,发现了exvim,于是安份用了很长时间。直到看到推荐spf13套件,用起来甚为方便,方便自己再加点

风轻云淡的程序世界 1836

储能双向Buck-Boost+模型预测电流控制+电压下垂控制仿真【附参考文献】(Simulink仿真实现)

内容概要:本文系统介绍了基于Simulink平台构建的储能双向Buck-Boost变换器仿真模型,融合模型预测电流控制与电压下垂控制策略,面向锂电池储能系统的高效充放电管理。该模型深入实现了双闭环控制架构的设计与动态性能分析,涵盖系统建模、关键控制算法实现及稳定性验证,并配套提供参考文献以支撑理论深度与技术复现性。资源包还整合了多种典型电力电子拓扑的仿真案例,如各类DC-DC变换器、谐振变换器、PWM整流器等,充分体现了其在新能源发电、微电网能量调度及电力系统稳定控制中的广泛应用价值和技术延展性。; 适合人群:适用于电气工程、自动化、电力电子及相关专业的高校研究生、科研人员以及从事能源系统仿真与控制设计的工程技术人员;要求具备一定的Simulink/MATLAB操作能力及电力电子与自动控制基础知识;; 使用场景及目标:①深入理解双向Buck-Boost电路在储能系统中的工作机理与能量双向流动控制方法;②掌握模型预测控制(MPC)与下垂控制在实际电力变换系统中的建模流程与参数整定技巧;③为科研课题、学位论文或工程项目提供高可靠性、可复用的仿真原型与技术参考方案; 阅读建议:建议结合文中列出的参考文献与网盘提供的完整仿真资源,按照目录结构循序渐进地学习各模块案例,重点剖析控制逻辑搭建、调节器设计与系统动态响应特性,通过动手仿真与参数调试深化对控制策略性能与鲁棒性的理解。

资深开发者告别 20 年 Emacs 生涯,新工具效率跃升开启转型之路

过去近十年,他逐步减少对 Emacs 的依赖,先转向模态编辑,后迁移到 Vim,但因 Emacs 强大生态难以割舍。用 stackcalc 替代 Emacs 的计算器功能(M - x calc),用 Elfeed2 替代使用 13 年的 RSS 阅读器 Elfeed,且 Elfeed2 功能超越原版。他凭借新能力开发出替代工具,效率大幅提升,这一转型对 Emacs 社区影响深远。如 Elfeed2 开发,原版已满足需求,重写动力不足,但新工作方式下,项目从启动到可用仅用两天。

EveningTalk的博客 33

产业园区在推动科技成果落地时,如何高效匹配企业与技术供给方.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

全桥LLC谐振(变频+移相混合控制)变换器闭环仿真模型(Simulink仿真实现)

内容概要:本文详细介绍了基于Simulink平台构建的全桥LLC谐振变换器闭环仿真模型,采用变频控制与移相控制相结合的混合调制策略,实现高效电能转换与高精度输出稳压。模型完整涵盖了系统建模、谐振腔参数设计、软开关技术实现、双闭环控制系统(如电压外环与频率/相位内环)设计及仿真验证全过程,重点突出零电压开通(ZVS)与零电流关断(ZCS)的实现机制,以显著降低开关损耗,提升变换器效率与动态响应性能。配套资源包含完整的Simulink仿真文件、详细的参数设计报告及核心参考文献,为深入理解LLC谐振变换器的工作机理、控制策略优化及其在开关电源、新能源发电等领域的工程应用提供了坚实的技术支撑。; 适合人群:具备电力电子技术、自动控制理论基础,从事高频开关电源、新能源变换器、车载充电机或相关方向研究的研究生、科研人员及电气工程师。; 使用场景及目标:①系统学习全桥LLC谐振变换器的精确建模与仿真方法;②掌握变频+移相混合控制策略的设计原理与实现技巧;③开展高效率、高功率密度电源变换器的科研攻关与工程项目开发;④深入理解软开关技术在实际电路中的应用与优势; 阅读建议:建议结合所提供的仿真模型与设计报告进行动手实践,重点分析控制器参数整定过程、谐振元件(Lr, Cr, Lm)的参数匹配关系,并仔细观察仿真波形,以深刻把握系统的稳态特性、瞬态响应能力及控制稳定性,从而全面提升对复杂谐振变换器系统的设计与分析水平。

上一篇: yum and rpm 本地光盘 硬盘 安装
下一篇: Emacs and Global
bamboolsu
博客等级 码龄22年 200粉丝 394原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值