【解决方案】Sublime Text 4 按下 Esc 键后无法输入任何内容

news/2024/10/12 12:15:03

在最后编辑博客内容时,我的 Sublime 版本为 4180。


我基本用 Sublime Text 4 替代了系统自带的 Notepad,我用它编辑任何东西(除了代码,手动狗头)。

开始我怀疑是 Package Control 安装了过多依赖导致的兼容性问题,但由于 Sublime 多次更新,我的 Package Control 再次从命令面板消失,
而它又没有影响需要赶 DDL 的工作,就一直拖着没有解决,因此它对我的纯文本编辑造成了很大的影响和困扰。

如果你也遇到了这个问题,这篇文章解决了一切关于 Sublime Text 更新后令你头疼的事,并解释了具体原因。

如果你的 Package Control 也消失了

我在外网查阅了大量论坛、Issue讨论和官方公告,整理出了所有有效的解决方案,请阅读这篇文章:【解决方案】Windows 环境 Sublime Text 4 中缺少 Package Control。

如果你按下 Esc 后也无法键入任何内容

光标改变

image

解决方法

在删除 Packages 无果后,我的检索导向 Reddit 的这篇讨论 sublime press key "escape" can't type anything。

  • 偏好设置 -> 设置
    Preferences -> Settings

  • Vintage 添加到用户设置(右栏)ignored_packages 字段中

    {"ignored_packages":["Vintage",],
    }
    
  • 关闭所有 Sublime 窗口,重启程序

禁用它会有什么问题或丢失什么功能吗?

Vintage 是官方推出的开源 vi 模式编辑包,换言之是能在终端中编辑文件的文本编辑器,在没有 GUI 的操作系统中被广泛使用(如 Linux),它包含了许多与现代文本编辑器完全不同的快捷键。

如果你本身不知道 vi,禁用它不会丢失任何你需要的任何功能,开启它反而会降低你在 Sublime 的使用体验。

什么是 Vintage Mode

这是 Sublime Text 给出的官方文档 Vintage Mode,也可以阅读我经过泛读后与自身掌握知识结合的总结:

Vintage Mode 直译过来是 “复古模式”,它允许您将 vi 的命令模式与 Sublime Text 的功能(包括多项选择)结合起来。这是 Sublime HQ Pty Ltd 公开的 Vintage 仓库。

如果你是 Sublime Text 的新用户,它默认是禁用的会存在于 ignored_packages 中。开启它时,如果你键入了 Esc 便会进入 vi 的命令模式

它包括大多数基本操作:d(delete/删除)、y(copy/复制)、c(change/更改)、gu(lower case/小写)、gU(upper case/大写)、g~(swap case/交换大小写)、g?(ROT13加/解密)、<(unindent/取消缩进) 和 >(indent/缩进) 等等。

它默认以插入模式启动,也就是我们正常的文本编辑模式,当我们键入 Escape,就会键入命令模式,可以通过在偏好设置的设置中用以下属性改变它:

// 默认: true, 设置为 false 即默认以命令模式启动 Sublime
"vintage_start_in_command_mode": true

在命令模式中,我们可以如终端中那样通过 h(向左移动)、j(向上移动)、k(向下移动)、l(向右移动) 操作光标,它们并没有单词实际意义,仅仅是为有意义的快捷键单词缩写妥协,并且是键盘上连续的四个按键。

在命令模式中,我们也可以通过 i(insert/在光标前插入)、a(append/在光标后插入)、o(open/在下一行插入)来恢复我们正常的文本编辑模式(插入模式)。

它在 Windows 和 Linux 中默认禁用了某些会冲突的被 Ctrl 修饰的快捷键,比如 Ctrl + R (Redo/重做),我们可以新增或修改偏好设置的设置来开启它:

// Windows/Linux 默认: false; MacOS 默认: true; 设置为 true 在 Windows/Linux 中启用
"vintage_ctrl_keys": true

vi 编辑器是什么?

如果你使用过 Linux 操作系统的话,那么很可能你使用过它。

在刀耕火种的年代,我们没有 IDE/IDEA,没有 Sublime Text/Notepad++,甚至没有带 GUI 的内置记事本程序。

但文本编辑的需求从未消失,vi 是 Unix 上的标准编辑器,直到在 20 世纪 90 年代末和 21 世纪初,它逐渐被开源程序 vim (vi imitation, 后改名为 improved) 替代,如今,在大部分人提及或在现代操作系统中使用 vi 命令时,已经默认是指 vim 编辑器了。

布拉姆·穆伦纳尔 (Bram Moolenaar) 和 vim

相信不少编码从业者看过2023年8月份 编辑器之神Vim之父,Bram Moolenaar逝世 的新闻,vim 正是这位杰出的荷兰软件工程师所创造的,

他开源社区做出了卓越的贡献,并以一个技术者的身份将一生致力于乌干达非政府组织 ICCF Holland (一个支持乌干达艾滋病患者的慈善组织)。

他将 vim 设计为一款可自由分发的开源慈善软件,每次用户下载 Vim 时,系统都会提示他们考虑向 ICCF Holland 捐款。

如果你安装了 vim,或在现代化的终端中(如 Vercel 开源的 Hyper)直接输入 vi -v,它会用国际化的文本请求我们 “帮助乌干达的可怜儿童!”。

VIM - Vi IMproved
~
~                                        版本 9.0.1403
~                                   维护人 Bram Moolenaar 等
~                               Vim 是可自由分发的开放源代码软件
~
~                                    帮助乌干达的可怜儿童!
~                        输入  :help iccf<Enter>       查看说明
~
~                        输入  :q<Enter>               退出
~                        输入  :help<Enter>  或  <F1>  查看在线帮助
~                        输入  :help version9<Enter>   查看版本信息

但很遗憾如我们看到的新闻,2023年8月3日,Bram Moolenaar 因病离开了人世,这是其家属的 Message 原文内容和公告链接:
Message from "vim_announce" on Google Group。

# 通过谷歌引擎翻译,如有不对还请见谅。亲爱的大家,我们怀着沉重的心情通知大家,Bram Moolenaar 于 2023 年 8 月 3 日去世。Bram
的病情在过去几周内迅速恶化。Bram一生的大部分时间都奉献给了 VIM,他为你们加入的 VIM 社区感到非常自豪。我们一家人现在正在安排 Bram 的葬礼,葬礼将在荷兰举行,将使用荷兰语。具体日期、时间和地点尚待确定。
如果您希望参加他的葬礼,请发送消息至funer...@gmail.com。考虑到我们一家人目前的处境,这个电子邮件地址也可用于与家人联系其他事宜。致以亲切的问候,
Bram Moolenaar 的家人

后话

其实光标的形状变化已经提示我们了,我是一个重度终端使用者,以为它很安全且注重隐私,一切都按照我们的预期执行,

但我没有注意到光标的暗示,当我直到真相后,我的心情既如万马奔腾又啼笑皆非,vi 编辑器是时代遗留的产物,但它并没有完全落后于时代,

我们仍然可以通过许多无修饰符(Windows/Option、Ctrl/Command、Shift、Alt/CMD)的快捷键直接键入,来进行复制整行、删除整行等快捷操作,

它比更加颗粒化的 Shift + Home/End -> Ctrl + C -> Return -> Ctrl + V 要快的多得多,它对无障碍或非四肢健全的开发者更加友好。

即使是现代的 IDE/IDEA,也以 vim 的思想开放了组合式快捷键来实现 vim 对文本快速操作的功能。

因此,如果你也想在 Sublime 中实现现代 IDE/IDEA 的文本快捷操作,不妨尝试并保留 Vintage

这是一份非常完整的 vim 快捷键列表: Vim Cheat Sheet,在我的网络环境(电信)测试下,即使大陆网络也能正常访问,

如果你无法访问这个网站,可以尝试作者 hall 于 2024-06-02 在知乎发布的文章 vim cheat sheet。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

dirxk轻量目录扫描器

公司找个一个外包团队给客户写了一套系统,存在一些敏感信息泄露漏洞,这些漏洞不定期被主管部门检测到,从而需要进行整改操作 项目经理求助于公司内部的安全团队,希望能够检测系统还存在哪些敏感信息泄露漏洞,至此形成了本文中的一个主因 在实际的检测过程中,发现御剑、DI…

推荐一款支持Vue3的管理系统模版:Vue-Vben-Admin

近年来,随着前端技术的飞速发展,各类后台管理系统框架层出不穷。Vue 作为热门的前端框架,也有许多优秀的后台模板涌现。而 Vue-Vben-Admin,凭借其高效、灵活的架构设计和完善的功能体系,成为了许多前端开发者的不二选择。其Github Star达到了24K之多,可见其受欢迎程度。本…

Vmware中linux图形化界面安装《 VMware Tools》

VMWare 回收空间(方法一) 1.安装VMware Tools# 创建文件拷贝目录 mkdir /usr/temp # 创建挂在目录 mkdir /mnt/cdrom # 挂镜像文件 mount /dev/cdrom /mnt/cdrom # 复制安装文件 cp /mnt/cdrom/VMwareTools-10.3.25-20206839.tar.gz /usr/temp # 解压文件 cd /usr/temp &…

三、Spring Boot集成Spring Security之securityFilterChain过滤器链详解

二、默认过滤器链 1、默认配置系统启动日志2、默认配置的过滤器及顺序如下org.springframework.security.web.session.DisableEncodeUrlFilter org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter org.springframework.security.web.co…

winform图片截取

核查软件 项目简介:主要分为这几个模块:图片列表、图片旋转、图片裁剪、图片替换、案卷导入、文件导入、检查页数、检查页号、案卷和文件的增删改查、图片核查、后台数据管控、随机参沙、修改统计、日志记录。如需源码使用,请联系:lilf0117 以下是效果图展示:1.图片列表 左…

Odoo18.0 顺丰快递

适用于:15.0 16.0 17.0 18.0,不同版本功能有所不同, 详询客服。顺丰速运作为国内快递业的标杆企业,使用的频率可谓非常之高。对odoo国内生态而言,怎么能少了如此重要的一个对接方案呢。本文将展示如何使用顺丰速递模块来完成国内快递业务的对接。 先决条件 需要安装以下pyt…

Docker和K8S集群调用GPU

参考: 安装Docker插件 https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html Unbntu使用Docker调用GPU https://blog.csdn.net/dw14132124/article/details/140534628 https://www.cnblogs.com/li508q/p/18444582环境查看 系统环境#…

mongo对文档中数组进行过滤的三种方法

想要实现数组的过滤有三种方法,包括:1. 聚合查询 使用`$unwind`将`travel`数组打散,获取结果集后用`$match`筛选符合条件的数据,最后使用`$group`进行聚合获取最终结果集 2. 聚合查询 使用`$match`过滤符合条件的根文档结果集,然后使用`$projec`t返回对应字段的同时,在`tr…