当前位置: 首页 > 科技观察

你真的会用Vim吗?教你8种奇特的退出Vim的方法!

时间:2023-03-12 22:34:18 科技观察

程序员最常用的代码编辑器是什么,Vim、Emacs、VSCode、Sublime……众说纷纭。但如果要说最让程序员困惑的代码编辑器,那无疑是Vim了。可谓“天下苦vim久矣”。Vim到底有多令人沮丧?如果您是初学者,甚至不知道如何退出它。最近,一位名叫LukeStephens的程序员发起了一个名为HowtoQuitVim的GitHub项目,仅一周就获得了3500颗星。路克从各个程序员的推特上找到了这些方法。总结起来,既硬核又幽默,勾起了很多程序员学习Vim的不堪回首的回忆。让我们来看看!硬核退出Vim最简单的方法就是找到vim进程并kill它::!psaxuw|grepvim|grep-vgrep|awk'{print$2}'|xargskill-9(这是欺负我不懂Vim,最简单的方法不应该是:q吗?)其实不用ps命令显示进程也可以退出Vim::!kill-9$(find/proc-name"cmdline"2>/dev/null|whilereadprocfile;doifgrep-Pa'^vim\x00'"$procfile"&>/dev/null;thenecho$procfile;fi;done|awk-F'/''{print$3}'|sort-u)也Luke自己提出的一种不使用ps命令的方法需要状态文件::!find/proc-namestatus|whilereadfile;doecho"$file:";cat$file|grepvim;done|grep-B1vim|grep-vName|whilereadline;dosed's/^\/proc\///g'|sed's/\/.*//g';done|xargskill-9如果觉得以上两种不使用ps命令的方式太长,还有一个short方法::!grep-P"PPid:\t(\d+)"/proc/$$/status|cut-f2|xargskill-9对于Python用户,你有一个“Python方式”来退出Vim::py3importos,信号;fromsubprocessimportcheck_output;os.kill(int(check_output(["pidof","vim"]).decode('utf-8')),signal.SIGTERM)Luke还列出了一个“最短”的方式(原文如此:Theshortestway),我认为你是在讽刺::!x=$(echo"c");x=$x$(echo"G");x=$x$(回显“t”);x=$x$(回显“p”);x=$x$(回显“b”);x=$x$(回显“G”);x=$x$(回显“w”);x=$x$(回显“g”);x=$x$(回显“L”);x=$x$(回显“V”);x=$x$(回显“N”);x=$x$(回显“U”);x=$x$(回显“T”);x=$x$(回显“1”);x=$x$(回显“A”);x=$x$(回显“g”);x=$x$(回显“d”);x=$x$(回显“m”);x=$x$(回声“l”);x=$x$(回声“t”);x=$x$(回声“C”);x=$x$(回声“g”);x=$x$(echo"=");x=$x$(echo"=");$(echo$x|base64--decode)以上方法都离不开Vim本身的运行,我们有更高级的“降维打击”method既然退出Vim这么麻烦,那你还不如往高一点杀掉它。如果你是在Docker容器中运行Vim,例如:dockerrun--rm-it--namemy-vim-v`pwd`:/rootthinkca/vim,那么你就可以停止Docker容器并退出,这样它就会转离开?我真机智!dockerstopmy-vim在系统层面,我们也可以通过设置超时来杀死Vim:$timeout600vim设置了上面的代码,Vim会在运行超过10分钟后关闭。但是得抓紧改代码保存,不然就惨了。哦,最后别忘了把Vim改成默认关闭10分钟:$aliasvim='timeout600vim'暴力佛法最直接暴力的方法就是拔掉电源。最佛教的方式就是走开。如果你非要问我有没有暴力和佛教结合的方法,请保留以下代码,运行后直接离座。!bash-c"💣(){💣|💣&};💣"不要在自己的电脑上轻易尝试,风险自负。职场方法如果你是公司的新人,或者是实习生,不敢随便在电脑上操作,建议采取以下措施:找个高级工程师:“他们不会关Vim的!”对于产品经理,Luke给出了一个详细的流程:提出需求(比彩黑容易多了)设置为最高优先级(把你手头的工作放在第一位)随机分配给团队成员(谁先到)对于高级产品经理显然,这个流程不够详细。step2之后,还要开几次会,定义验收标准,讨论工作流程,定时间线,最后,项目完成后,大家开会总结经验。完美的!Vim:从入门到放弃看着上面的各种方法,是不是渐渐忘记了标题?Luke的项目本来是大家对Vim的抱怨的总结,没想到在HackerNews上引起了认真的讨论。有人说笑话就是笑话。Luke没有给出退出Vim的真正方法。如果初学者在搜索引擎中找到这个项目,那将是一个错误。最好的办法是远离Vim。Vim陡峭的学习曲线让很多新程序员望而却步,但幸运的是,有VSCode和Sublime等带有图形的代码编辑器可以替代它。至于你是否会退出Vim,这并不重要。有些人不会退出Vim,但他们仍然坚持使用它3年。从开始到放弃是怎样的?我根本没有开始使用Vim,为什么要放弃呢?