Jacky's blog
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)
  • 工具链
  • 开发工具

  • 构建工具

  • 版本控制

  • 容器

  • 调试工具

  • 测试工具

  • CLI 工具

  • 网络工具

  • 编辑器

    • nvim
    • sublime
      • selection
      • 批量插入
      • plugin
        • 安装 Package Control 组件
        • Installation Options
        • HexViewer
        • other
      • macOS 命令行超时排查
    • Vim 编辑器入门指南
  • 设计工具

  • 多媒体

  • 包管理

  • 平台工具

  • tools
  • editors
Jacky
2024-05-14
目录

sublime

Sublime Text 官方文档 (opens new window)

# selection

在 macOS 上, Sublime Text 提供了多种选择文本的方式, 其中包括块状选择。下面是一些在 Sublime Text 中选择文本的常见方式:

  1. 基本选择:

    • 单词选择: 双击单词即可选择整个单词
    • 行选择: 点击行号区域, 选中整行
    • 段落选择: 连续按两次 Ctrl(或 Command)键, 并单击鼠标, 即可选择整个段落
  2. 块状选择(多光标选择):

    • 垂直选择: 按住 Option(或 Alt)键, 并使用鼠标拖动, 可进行垂直方向上的选择。这样可以创建多个光标, 使得你可以同时编辑多个位置的文本
    • 列选择: 按住 Shift + Option(或 Shift + Alt)键, 并使用鼠标拖动, 可进行块状选择。这种选择方式可用于选择多行中相同列位置的文本, 非常适用于进行批量编辑
  3. 快速选择:

    • 多重选择: 按住 Ctrl(或 Command)键, 并单击想要选择的文本, 可以进行多重选择
    • 选择相同内容: 选中文本后, 按下快捷键 Ctrl + D, Sublime Text 将自动选择下一个相同的内容。可以多次按下该快捷键以选择所有相同内容
    • 选择括号内容: 将光标放在括号上, 按下快捷键 Ctrl + Shift + M, Sublime Text 将选择括号内的内容。可以多次按下该快捷键以逐级选择外层的括号
  4. 正则表达式选择:

    • 按下快捷键 Ctrl + F(或 Command + F), 在查找框中输入正则表达式, 然后按下快捷键 Alt + Enter(或 Option + Enter), Sublime Text 将会选择所有与正则表达式匹配的文本

这些选择方式可以帮助你在 Sublime Text 中高效地选择和编辑文本。通过灵活运用这些技巧, 你可以快速准确地选择并修改所需的文本内容

# 批量插入

【背景】在每一行前添加字符#, 下面的图片是需求背景

demo

一、操作步骤

  1. 首先使用款选择器, 按住 alt 键, 选择区域,如下
  2. 按下 Shift + Command + L 快捷键, 或者在菜单栏选择 Selection -> Split into Lines。这将把每个多重光标限制在每一行的开头
  3. 在键盘上按下 # 键。这将在每个多重光标所在行的开头插入 #

二、总结:

本质上, 上面的方式使用了, 多重光标(Multiple Cursors)的功能来在每一行的开头添加 #

# plugin

Package Control 是 Sublime Text 插件包管理器。 简单的说,也就是 sublime Text 只有安装了 Package control 组件,后期才能安装各种不同的插件

# 安装 Package Control 组件

https://packagecontrol.io/installation (opens new window)

  • Click the Preferences > Browse Packages… menu
  • Browse up a folder and then into the Installed Packages/ folder (浏览上一级文件夹)
  • Download Package Control.sublime-package and copy it into the Installed Packages/ directory
  • Restart Sublime Text

# Installation Options

  • 手动方式: 下载完整的插件包后解压,放入 Packages 目录下,以达到安装插件的目的

# HexViewer

HexViewer (opens new window), 二进制查看. HexViewer 显示的是文件的字节序列,而不是涉及大小端序的问题

采取手动安装。 git clone -b <tag> <url> to packages fold。 使用上,使用 command+shfit+p, 键入 'Toggle Hexer View'

# other

  • Compare Side-By-Side (opens new window)
  • SublimePrettyJson (opens new window)

# macOS 命令行超时排查

GUI 仍能编辑和保存,但 subl . 报错时,可以把“命令入口是否正确”和“运行实例的 IPC 是否可达”分开检查。典型报错如下,单凭这条信息不能确定是临时目录清理:官方问题记录中也出现过 App Translocation 导致的相似故障,见 Sublime Text issue #3233 (opens new window)。

Timeout waiting for detached instance to start
1

先排除 alias、PATH 和应用位置问题

命令 用途
type -a subl 同时查看 alias、函数和可执行文件入口,不只依赖 which
"/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" --version 核对应用包内 CLI;应用装在其他位置时调整路径
"/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" . 绕过 alias,验证打开目录能否成功

若 --version 成功而打开目录失败,只能说明 CLI 能启动,不能据此判断 IPC 正常。应用包内入口与参数以 官方 CLI 文档 (opens new window)为准。

核对进程与 socket 路径

用 pgrep -fl 'Sublime Text' 找到候选进程,再确认应用主进程,排除插件宿主和临时启动的 CLI。下面的 PID 和示例 socket 路径必须替换为实际值:

ps -p PID -o pid=,state=,etime=,comm=
lsof -nP -a -p PID -U
ls -ld '/tmp/Sublime Text.EXAMPLE.sock'
1
2
3

Sublime 的 socket 位置和名称应从实际进程确认,不要硬编码散列值。若进程的 socket 记录仍在,而对应路径已不存在,新客户端可能无法找到原实例;GUI 正常也不能证明 IPC 入口正常。这个证据说明路径当前缺失,不能证明是谁删除了它,也不足以确认客户端内部的启动流程。

恢复与验证

先保存文件,通过应用菜单正常退出 Sublime Text,等待主进程结束后重新打开,再用官方 CLI 验证:

open -a "Sublime Text"
"/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" .
1
2

窗口和未保存内容能否恢复取决于会话设置及状态是否已保存;hot_exit 与 workspace 不能替代主动保存,参见 设置说明 (opens new window)和 项目与 workspace (opens new window)。不要套用 tmux 的 SIGUSR1 恢复方式,也不要批量终止进程或清空 /tmp。tmux 有独立的 socket 重建机制,见 tmux 连接恢复。

临时目录清理:核实规则后再归因

Apple DTS 的 临时目录说明 (opens new window)提到过旧版 BSD 维护任务的三天默认值,也明确指出实现细节会随版本和平台变化,不能把它当成所有 macOS 的固定规则。排查时可按文件是否存在,查看对应入口:

入口 检查内容
/etc/periodic/daily/110.clean-tmps、/etc/defaults/periodic.conf 使用旧版 periodic 机制时的脚本与配置
/System/Library/LaunchDaemons/com.apple.tmp_cleaner.plist、/usr/libexec/tmp_cleaner 使用该机制时的调度与程序;先用 file 判断程序类型

还要看清理规则匹配的文件类型:find -type f 只匹配普通文件,不会直接匹配 Unix socket(-type s);同时核对是否存在递归删除目录的规则及其他清理工具。文件类型语义见 find 手册 (opens new window)。不要把“隔几天运行一次 subl 会刷新 atime”当成可靠预防方案,也不要通过关闭系统清理来掩盖尚未确定的原因。

#macOS#tool#editor#guide
上次更新: 2026/10/20, 11:30:46
nvim
Vim 编辑器入门指南

← nvim Vim 编辑器入门指南→

最近更新
01
Wrangler 使用指引
11-06
02
ADB 图形化与手机端调试工具选型
10-29
03
Shell 执行模型与环境加载
10-26
更多文章>
Theme by Vdoing | Copyright © 2019-2026 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式