如何将sublime默认View设置为2行

2024-05-05

每次我打开 sublime 我都会执行以下操作:

Layout

then

Rows: 2

我可以更改设置,以便当我打开 sublime 时这是默认设置吗?


我不知道有什么设置可以控制新创建的窗口的布局;它们始终创建为单个文件组。最好/最简单的事情可能是使用默认的键绑定来设置您想要的布局,或者将其绑定到另一个更容易访问的键,而不是通过菜单。

正如对您的问题的评论中提到的(代码可能来自这个超级用户的回答 https://superuser.com/a/1130426/221191)也可以使用插件代码来解决这个特殊的问题。

正如上面链接的答案和评论中所示,Sublime 启动时活动窗口的布局将切换为两行布局。

这是次优的,因为它会强制更改活动窗口的布局,即使它已经包含文件(这可能不是您想要的),它只会影响活动窗口,即使有很多文件(这可能不是您想要的)想要)并且它不会影响加载插件后创建的窗口(这绝对不是您想要的)。

下面是解决某些限制的版本。但请注意,在 MacOS 上,有时会创建插件无法检测到的新窗口,因此根据您的操作系统,这可能仍然无法实现您想要的效果。

在下面的代码中,调用plugin_loaded查找当前存在的所有窗口并更改其布局,但前提是它们当前使用单窗格布局。

此外,它还监听运行时何时创建新窗口,并将其布局设置为所需的默认值。

要使用此功能,请选择Tools > Developer > New Plugin从菜单中,将存根代码替换为以下代码,然后将其另存为 Python 文件,保存在 Sublime 默认的文件夹中(您的User包裹)。

import sublime
import sublime_plugin


def set_default_layout(window):
    """
    Change the layout of the provided window to the desired default.
    """
    window.run_command("set_layout",  {
        "cells": [[0, 0, 1, 1], [0, 1, 1, 2]],
        "cols": [0.0, 1.0],
        "rows": [0.0, 0.5, 1.0]})

    # Make sure the top group is given the focus
    window.focus_group(0)


def plugin_loaded():
    """
    Make all windows with a single file group have the default layout.
    """
    for window in sublime.windows():
        if window.num_groups() == 1:
            set_default_layout(window)


class DefaultPaneSetter(sublime_plugin.EventListener):
    """
    Change the layout of newly created windows to be the default.
    """
    def on_post_window_command(self, window, command, args):
        if command == "new_window":
            set_default_layout(sublime.active_window())

如上所述,在 MacOS 下有时会创建新窗口而不调用new_window插件正在监视的命令,例如当您在没有窗口的情况下启动 Sublime 并创建默认值时,或者当您将新文件拖到 Dock 中以打开它时open_files_in_new_window打开。

据我所知,没有办法检测这种情况何时发生,除非不断检查现在是否有比几秒钟前更多的窗口,但这似乎相当具有侵入性,并且可能会耗尽性能。

另请注意,如果您使用任何以任何方式创建新窗口的包,则此代码可能会在包不需要时强制将默认布局强制到窗口上,从而干扰它们。

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

如何将sublime默认View设置为2行 的相关文章

随机推荐

  • lua中的权限问题

    是否需要在 corona build settings 中设置一些特定权限才能将高分永久保存在文件中 每次运行代码时都会出现 权限被拒绝 的错误 如何纠正这个错误 这是我尝试过的代码 function read score local f1
  • 如何将焦点设置到 Windows 窗体应用程序中的控件?

    在 Windows 窗体应用程序中 when我是否编写代码以在应用程序启动时以及随后调用函数后将焦点设置到控件 例如 如果我有一个 DropDownList 一个 TextBox 和四个按钮 并且我希望将 Focus 设置为 DropDow
  • 找到两个移动物体的更好交点

    我想极大地优化我的算法之一 我将尽力以最好的方式解释它 主题 我们当时处于二维欧几里德系统中t 0 在这个系统中有两个对象 O1 and O2 O1 and O2分别位于点PA and PC O1移动于常数和已知点方向的速度PB 当物体到达
  • gcc总是做这种优化吗? (公共子表达式消除)

    作为示例 假设表达式sys gt pot atoms item gt P kind mass在循环内求值 循环只改变item 因此表达式可以简化为atoms item gt P kind mass通过将变量定义为atoms sys gt p
  • 抑制来自 python pandas 描述的名称 dtype

    可以说我有 r pd DataFrame A 1 B pd Series 1 index list range 4 dtype float32 And r B describe mean std min max 给出输出 mean 1 0
  • 如何在 Android 中隐藏列表视图中的项目

    我知道 这个问题以前曾被问过 但我还没有看到有效的答案 有什么办法可以隐藏一些项目ListView不改变源数据 我尝试将项目视图的可见性设置为消失 它不会再显示 但为此项目保留的位置仍然存在 我还设置了 android dividerHei
  • 在单选按钮选择上提交 Rails 表单

    我有以下 Rails 表单 有效 但我想删除 Submit tag 并在选择单选按钮后立即提交表单 我怎么做 p nbsp nbsp p p p 所以我找到了精确的解决方案 感谢输入人员 它帮助我重新定义了我的谷歌搜索
  • isAuthenticated 和 isFullyAuthenticated 之间的区别

    我正在尝试学习 Spring Security 我有一个问题 spring security中isAuthenticated和isFullyAuthenticated有什么区别 来自 spring security 文档 isAuthent
  • 避免使用 Grunt cssmin 任务来删除重复条目

    在我的 Gruntfile 中 我使用 cssmin grunt contrib cssmin 任务 就像是 cssmin css src dist styles css dest dist styles min css 问题是 style
  • 为什么 SuppressFormsAuthenticationRedirect 在 AuthorizeAttribute.HandleUnauthorizedRequest 覆盖中不起作用?

    我有一个 MVC 5 1 站点 其中的控制器具有单个 POST 操作 我有一个 Android 应用程序 我想使用基本身份验证发布到它 我创建了一个BasicAuthorizeAttribute类并将其应用到我的控制器 并出于测试目的使其拒
  • 如何使用 XQuery 将值列表从 XML 提取到行中?

    我有一个 XQuery 如下 DECLARE x XML SELECT x
  • Adobe Flash 项目的版本控制

    我正在处理一个非常复杂的 Flash 项目 该项目是我们为客户使用而部署的全套服务的一部分 对于我们的大多数软件源 Java PHP Javascript HTML 和一些其他语言的支持脚本 我们使用 subversion 进行版本控制和管
  • Android - 减少位图绘制的内存使用量

    我的应用程序中有一张地图 显示了 Gowalla 的位置 我使用带有简单默认标记的 ItemizedOverlay 但在绘制项目时 我将默认标记替换为从 Gowalla 下载 9 并缓存在磁盘上 的位置图标 问题是 如果屏幕上有很多位置 例
  • 查找 SSIS 包上次修改/部署日期 - SQL Server

    我想通过执行 SQL 查询找到 SSIS 包的最后修改日期 例如 下面的查询按降序返回过程的最后修改日期 我期待对 SSIS 包进行同样类型的查询 可以从DB获取这些信息吗 select name create date modify da
  • Pytest - 如何将参数传递给 setup_class?

    我有一些代码 如下所示 我得到了too few args当我运行它时出错 我没有打电话setup class明确地 所以不确定如何向它传递任何参数 我尝试用以下方法装饰该方法 classmethod 但仍然看到相同的错误 我看到的错误是这样
  • STDOUT->autoflush(1) 在 Perl 中做什么?

    我找到了有关 Perl 中自动刷新的各种信息 但找不到任何提及格式完全相同的行 STDOUT gt autoflush 1 这包含在我正在分析的程序中 我想更好地了解它的作用 程序开头还有这样一段话 use IO Handle 我认为这可能
  • 如何编辑多个 Pandas DataFrame 浮点列的字符串格式?

    我有一个pd DataFrame浮点数 import numpy as np import pandas as pd pd DataFrame np random rand 5 5 0 1 2 3 4 0 0 795329 0 125540
  • Chrome 扩展允许的键盘快捷键

    当您创建 Chrome 浏览器扩展程序时 您可以通过实现来建议键盘快捷键chrome 命令 https developer chrome com extensions commandsAPI 是否有允许的组合键的记录列表 Chrome 似乎
  • 遍历多行字符串

    我得到一些数据 def data some useless text n even more n finally interesting text 我怎样才能得到其中 有趣的部分 所以基本上所有行都不是以 开头的 Groovy 的一种选择是
  • 如何将sublime默认View设置为2行

    每次我打开 sublime 我都会执行以下操作 Layout then Rows 2 我可以更改设置 以便当我打开 sublime 时这是默认设置吗 我不知道有什么设置可以控制新创建的窗口的布局 它们始终创建为单个文件组 最好 最简单的事情