不敢想象!Vim使用者的“大脑”竟是这样

2023-05-16

原始状态

我曾经观看过小提琴家非常有激情地拉弦演奏,我有了这种想法:也许我投入到文本编辑器中的脑细胞数量和他为投入所喜好的乐器的演奏中差不多吧。我还有种奇异的想象,当他独奏的时候,脑中的核磁共振图和我在使用 Vim 中操控代码的的图像也许不会相差太大吧?

 

如果你愿意的话请你仔细思考下,以下是一个 Vimmer 的学习旅程的剪辑。

Vim 涅磐所经历的漫长而艰苦的道路

星期一

“Eclipse 当然是简洁实用的。”

“但是一些满脸落腮胡的奇怪家伙在工作中似乎使用 vim 确实非常快,我应该试一下。”

“好吧!我弄了个 Gvim,这看起来不是很糟糕,这里甚至还有菜单界面!”

“等等,什么?我的文本去哪了?等一下,撤销,不要啊!”

“:help”

“:q!!!!!”

……

今天剩下的时间还是回到拥有让人上瘾的自动补全样板功能的 Eclipse 中获得解脱吧。

星期二

“好吧 Vim,这是新的一天了,这是个磨砺自己学习新东西的一个崭新的机会,我不是那么容易放弃的人!”

“为什么我就不能一直呆在插入模式里面呢?FJDSAKLFJDALSKJKLDF(发狂的敲击键盘)……”

“等一下,你在告诉我保存的时候必须按 Esc-Shift-:-w-Enter?这简直就是狗屁啊。”

“在花了 2 个小时学习教程以后,我基本上懂的就是 ddp 命令可以交换两行的内容,真是蛋疼啊。”

一个礼拜以后

“哇噢,任何地方都有 Vim 啊,这意味着这付出的所有的努力将不会白费,比如当我用 ssh 远程登入主机修改一些配置的时候。”

“太爽了,嘿,朋友们来看看这个全暗色的配色主题,我新的工具链表面上看起来非常安逸了。”

“噢,真是扯蛋,我的 .vimrc 没有在我的远程主机里,当我 ssh 登入编辑一些配置的时候,所有我的酷玩意都没了。”

两个月以后

HJKL 的移动方式习惯成自然,你神秘的失去了使用鼠标的能力。

“我将始终使用我刚下载的这 400 个插件!尤其是这个折叠 latex 语法的插件,噢,哥们。”

“使用小箭头方向键简直是自我折磨啊。”

“再见,Caps Lock 键。”

“就这样吧,这是忍耐的极限,Vim 甚至不能让文本合适的自动换行,我准备回到 edit.com了。”

一年以后

更少的大声说话了。

安装 command-T 插件,每天节约成百上千次的键盘敲击。

用宏试着让你肩膀后的某个人感到印象深刻,只需要对整个文件混合大小写和掺杂 ROT13 暗码(回转十三位加密)。

最终在某个奇迹般的一天学会在肌肉记忆里用 ctrl+[ 来延缓了腕关节炎症降临。

学会了移动光标,使用 visual 模式和 * 键——这意味着已经没有退路了。

“Vim 不支持交互缓存?都 20 年了?好吧,作为一名黑客,我决定给它添加这项支持。”

查看 Vim 代码库,疯狂地让它向相反的方向运行。

“不管是谁都需要在编辑器里弄个控制台!!!这就是 unix 哲学。”

对周围的”Vim 只是将一个编辑模式合并到真正的编辑器中“观念感到无可忍耐。

因为你老是在聊天室里令人讨厌地回复”:w”,IRC的朋友们最后将你孤立。

两年以后

Vim 脚本就是一种对上帝的深恶痛绝。

有点觉得 emacs 的从始至终的指令模式相对有点像在天堂一样。

“我昨晚做了一个噩梦,梦到我始终没有学会在宽屏显示器中垂直切分窗口,这样提心吊胆真是够混帐啊。”

偷偷地瞄一下周围,绑定 ctrl+s 到保存动作,允许自己悄悄地松一口气。

意识到 HJKL 搜索定位不足以成为时间节约的终极工具,发现 :python 脚本,所建立的大量定制功能达到鼎盛期,对<Leader> 键绑定,直到你的键盘类似于 NASA 指挥中心控制面板一样有点繁多到荒谬的功能,感觉有一点糟糕。

“嘿,每个听的到我声音的家伙过来看看,我现在控制电脑,写博客,检查邮件,运行测试,调试程序,浏览 hackernews

所有的一切都能在 Vim 温暖舒适、超级可以定制化的母体中进行。为什么你这小子不做几个后空翻来庆祝一下呢?”

模糊又很长段时间后

在“文本编辑中模态的明显优势”演讲结束后失去了几个朋友。

尽情享受在 github.com/me/vimfiles (并没有)中分享自己配置的快乐中,强制自己写关于如何特立独行地安装语法检查,lint工具,自动补全,快速文档查看,成吨的杀手级缩写,世界上所有文件类型对应的插件,使 Vim 在每种功能的高效性上接近真正的 IDE 的博客帖子。开机时间日志写入服务器,下意识地使用 nano 来编辑配置文件。不会为没有使用插件和 vimrc 中的更多语法而更新所有的配置文件而感到深深的羞愧。

变得十分淡定,重复性的编辑任务再也难不住你,不再去参加 emacs 与 Vim 谁好谁坏的争论。

...这就是你用 Vim 时大脑的终级形态    更多Linux资讯请查看:https://www.linuxprobe.com

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不敢想象!Vim使用者的“大脑”竟是这样 的相关文章

  • 利用最大流最小割算法matlab割图

    目录 练习思路 matlab绘图 噪音 坐标编码 邻接矩阵 最大流最小割算法 对最大流最小割算法求解结果转换为图像 源代码 运行实例 TIPS 最近学习了最大流和最小割算法 xff0c 可以把图看成是一些点的集合 xff0c 色彩差值的倒数
  • 关于将一个数分解成四个数平方和的算法matlab

    目录 理论基础 拉格朗日四平方数和定理 高斯恒等式 操作步骤 分解质因数 求解四平方数 应用高斯恒等式 小结 高斯恒等式输出代码 输出结果 运行结果 怎么把一个大数分解成四个小数的平方和呢 xff1f 理论基础 拉格朗日四平方数和定理 每个
  • 寻找较大素数,简易实现RSA密码系统matlab

    目录 RSA密码系统 随机寻找两个较大的素数 欧拉筛的算法函数 寻找随机素数的代码 生成公钥和私钥 加密解密方式 实现代码 运行结果 小结 首先来了解一下什么是RSA算法 RSA密码系统 RSA是被研究得最广泛的公钥算法 xff0c 从提出
  • 关于返回一个矩阵中为0元素个数及位置的matlab自定义函数实现以及用到的matlab基本操作

    目录 练习例题 题目要求 代码呈现 运行结果 基础操作 返回矩阵的行数列数 生成矩阵函数 取整取余函数 自定义函数参数缺省下的默认值以及输入参数为空集下替换为默认值的情况 find函数大观 对于find函数的改善调用 练习例题 题目要求 编
  • 蓝桥杯——单片机学习(3——点亮LED灯)

    注 xff1a 此单片机型号为 STC15F2K60S2 原理 如图 xff0c 发光二极管L1 L8 共阳接法 xff0c VCC为电源正极 xff0c 高电平 已知发光二极管正向导通反向截至 xff0c 要使得二极管发光 xff0c 就
  • 蓝桥杯——单片机学习(5(1)——按键(独立按键))

    注 xff1a 此单片机型号为 STC15F2K60S2 目录标题 独立按键原理按键原理消抖 代码入门代码进阶代码消抖改进 xff08 按一下只执行一次 xff0c 长按也一样 xff09 补充 独立按键 原理 这是一个矩阵按键的电路图 x
  • 最全的蓝桥杯嵌入式备赛集合~

    机缘巧合 xff0c 报了嵌入式的比赛 xff08 我能说是老师逼我的吗 orz xff09 xff0c 由于从来没接触过 xff0c 所以还是先从查找资料开始 下面就是我查找的资料集合 博客 建议篇 64 summerrrrrrc 蓝桥杯
  • 关于STM32编译报错:Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o).

    今天新建工程发现出现一个错误 Output CG axf Error L6218E Undefined symbol SystemInit referred from startup stm32f10x md o 但我觉得我的操作没有任何问
  • 蓝桥杯嵌入式比赛知识点合集(现在什么都有好吧)

    目录 新建工程LCDsprintf格式输出百分号 输出格式 xff1a Rmemset函数LCD DisplayStringLine函数嘀嗒定时器高亮行高亮一两个字符高亮单个字节高亮使用 多个字节高亮使用 行闪烁使用 LEDdisplay函
  • google 和 firefox 添加用户自定义脚本

    如何在页面中嵌入自己写的Javascript脚本呢 xff1f 下面分别介绍一下在Chrome和Firefox两种浏览器上的操作步骤 xff1a Chrome xff1a 1 打开chrome扩展程序页 chrome extensions
  • JAVA开源解析HTML工具

    好东西收藏一下 原地址 xff1a http www open open com 30 htm NekoHTML NekoHTML是一个简单地HTML扫描器和标签补偿器 tag balancer 使得程序能解析HTML文档并用标准的XML接
  • 虚拟机中ubuntu系统联网问题——以桥接模式解决

    前因后果就不说了 xff0c 这里只记录方法 xff0c 希望未来再遇到这种问题可以及时解决 文章目录 我电脑的配置与环境解决方案 桥接模式打开已经连接的WiFi的属性 xff0c 记录IPv4的相关值打开虚拟网络编辑器 xff0c 设置桥
  • 无人机导航定位技术-复习

    文章目录 无线电导航 要求 精度 陆基导航 定义 塔康导航 TACAN 范围 天线 结构设计 信标方向 伏尔导航 VOR 定义 工作原理 建设要求 拓展 测距器 DME
  • 记录——golang版本更新代码

    环境 Ubuntu20 04 解决方法 方法一 xff1a 将旧版本的go卸载 xff0c 重新安装最新版本的go xff08 我使用且成功的 xff09 sudo apt get remove golang 1 span class to
  • ArcGIS10.6“License许可启动无响应”解决方法

    以下是我尝试过的方法 关闭防火墙 xff08 很必要 xff09 替换 Service txt 及 34 ARCGIS exe 34 文件 xff08 感觉没什么用 xff09 修改服务设置 xff08 很必要 xff09 更改注册表 xf
  • 学好网络编程注意的点

    注 xff1a 总结不完善后续继续总结 对于TCP连接 xff1a 1 服务器端1 xff09 创建套接字create xff1b 2 xff09 绑定端口号bind xff1b 3 xff09 监听连接listen xff1b 4 xff
  • C++中的.和:以及::还有->的区别

    1 A B则A为对象或者结构体 xff1b 2 A gt B则A为指针 xff0c gt 是成员提取 xff0c A gt B是提取A中的成员B xff0c A只能是指向类 结构 联合的指针 xff1b 3 是作用域运算符 xff0c A
  • C++静态库与动态库以及Windows上的创建以及使用

    一 什么是库 库是写好的现有的 xff0c 成熟的 xff0c 可以复用的代码 现实中每个程序都要依赖很多基础的底层库 xff0c 不可能每个人的代码都从零开始 xff0c 因此库的存在意义非同寻常 本质上来说库是一种可执行代码的二进制形式
  • C/C++ 函数的定义 声明 调用的区别

    C语言基础 xff1a 函数 xff08 定义函数 声明函数 调用函数 xff08 传值调用 引用调用 xff09 函数的参数 xff08 形参 实参 xff09 xff09 1 函数 函数是一组一起执行一个任务的语句 每个 C 程序都至少
  • jar包的处理

    用命令创建 jar命令详解 jar cf test jar test不显示压缩过程将当前路径下的test路径下的全部内容生成一个test jar文件 xff0c 如果已经存在则被覆盖 jar cvf test jar test显示压缩过程

随机推荐

  • Matlab2016及以上版本设置VS编译器

    Matlab2016及以上版本设置VS编译器 在Matlab中使用mex可以编译c c 43 43 xff0c 但是首先要设置好编译器 xff0c 可以使用mex setup命令来设置 如果电脑上是先安装的Visual Studio xff
  • Qt修改UI文件无效解决方案

  • win10关闭升级win11

    win10 11系统之中有一个令人厌倦的作用 xff0c 那便是自动升级 很多人会想起本来电脑上在应用全过程之中没什么难题 xff0c 系统却经常发生升级 xff0c 占用系统資源 xff0c 还会发生自动重启的状况 xff0c 又不可以放
  • 流程图、类图推荐的软件

    inux 下的绘图软件Visio 流程图 xff0c 矢量图 5款替代微软Visio的开源免费软件
  • 屏幕坏点检测

    屏幕坏点检测
  • 解析json方案

    方案一 方案二 方案三 方案四 方案五 方案六 方案七
  • 51单片机+DHT11温湿度传感器+LCD1602显示(最好用的程序,没有之一)

    DHT11传感器原理很简单 xff08 我就不过多解释了 xff09 xff0c 但使用中可能会遇到很多问题 xff0c 问题的本质大部分出在了延时函数之中 xff0c 传统的软件延时与实际相差太多 xff0c 所以尽量不要用 xff0c
  • 51单片机+温湿度传感器+proteus仿真

    前段时间老师让提交的工程实训作业 xff0c 本来想用51单片机加DHT11做一个温湿度控制系统 xff0c 结果发现DHT11温湿度传感器情况下怎么也不好用 xff0c 从网上找了老多资料 xff0c 还是不行 xff0c 所以果断放弃
  • Linux网络编程项目---网络词典(带源码)

    源代码 xff1a https wwz lanzouq com iPsJ706ghzhc 1 包含的文件 client span class token operator span span class token operator spa
  • 四、stm32-USART串口通讯(重定向、接发通信、控制LED亮灭)

    目录 一 固件库模板二 准备资料三 STM32串口通讯1 STM32的USART 简介2 USART 功能框图2 1 数据寄存器2 2 控制器2 3 发送器2 4 接收器2 5 小数波特率生成 3 校验控制3 1 中断控制 4 USART
  • STM32软件模拟iic驱动oled(显示汉字,图片)(二)

    在上一篇介绍的软件模拟iic及iic源码后 xff0c 今天来实现显示汉字与图片以及各个函数的介绍 一 函数介绍及使用 1 显示字符 OLED ShowStr unsigned char x unsigned char y unsigned
  • CMake笔记--find_package 指定路径

    1 find package 指定路径 1 1 命令 find package span class token punctuation span span class token operator lt span PackageName
  • TM4C123系列(四)————UART串口通信

    一 实验简介 使用TM4C123的串口通信功能实现单片机与PC端通信 二 UART介绍 TM4C123有八个串口 xff0c 其中UART0已经与USB集成 xff0c UART0建议只用来和PC端通信 xff0c 不要与外界通信 除此之外
  • STM32软件模拟iic驱动oled(显示汉字,图片)(一)

    一 iic驱动模式 1 硬件驱动 xff1a 所谓硬件驱动就是使用STM32板子上固定的iic接口 xff0c 但是由于板载iic数量有限 xff0c 且大多和别的外设有引脚复用 xff0c 在别的外设使用的情况下还得通过重映射引到别的引脚
  • 初识ESP8266(二)————搭建网络服务器实现远程控制

    一 实验介绍 8266搭建网络服务器 xff0c 通过同一wifi信号下的终端访问ESP8266IP地址 xff0c 对开发板进行控制 二 代码 1 esp8266 server begin 作用 xff1a 启动网络服务 xff0c 搭建
  • 关于舵机的漂移与不听指挥乱动的问题

    在电赛E题中控制二维云台中出现了两个问题 xff0c 也是好不容易才发现原因然后解决的 一 舵机不听指挥乱动 没有与单片机共地 舵机有三条线 xff0c 分别是正负极和信号线 用来输入PWM信号 xff0c 因为舵机所需要的驱动电压比较大
  • 蓝桥杯嵌入式(STM32F103RBT6)备赛手册(一)

    文章目录 一 基础篇一 点亮LED二 驱动蜂鸣器三 Systick定时器四 定时器五 独立按键 三行代码消抖六 IIC协议七 LCD显示八 串口接收与发送九 ADC采样十 RTC时钟十一 PWM输出及输入捕获 一 基础篇 一 点亮LED 由
  • Asahi Linux的Alpha 版本已匹配Mac 设备

    导读Asahi Linux 是一个旨在将 Linux 移植到配备 Apple Silicon 芯片 Mac 设备上的项目 xff0c 项目的目标不仅仅是让 Linux 能够在这些设备上运行 xff0c 而是要将它打磨到可以用作日常操作系统的
  • Linux的优缺点

    导读Linux 是一个流行词 xff0c 你到处都能听到与 Linux 相关的内容 人们在技术论坛上讨论它 Linux 是课程中的一部分 xff1b 你最喜欢的 YouTube 技术主播在兴奋地展示构建他们的 Linux 内核 xff1b
  • 不敢想象!Vim使用者的“大脑”竟是这样

    原始状态 我曾经观看过小提琴家非常有激情地拉弦演奏 xff0c 我有了这种想法 xff1a 也许我投入到文本编辑器中的脑细胞数量和他为投入所喜好的乐器的演奏中差不多吧 我还有种奇异的想象 xff0c 当他独奏的时候 xff0c 脑中的核磁共