【问题标题】:How to change default code snippets in Sublime Text 3?如何更改 Sublime Text 3 中的默认代码片段?
【发布时间】:2014-02-07 01:10:07
【问题描述】:

我自己会编辑sn-ps,只是在新版本的Sublime Text中似乎找不到默认的。

编辑:我试图查找并因此编辑的 sn-p 是 Latex 文件的默认值,尤其是从以下位置转换的文件:

sec

\section{section name} % (fold)
\label{sec:section_name}

【问题讨论】:

    标签: sublimetext sublimetext3


    【解决方案1】:

    Sublime Text 3 将其包存储在 .sublime-package zip 文件中(位置因操作系统而异),因此与 ST2 不同,您不能只进入 Packages 文件夹并查看所有内容。但是,有一个名为 PackageResourceViewer 的出色插件(可通过 Package Control 获得),除其他外,它可以将文件或整个包提取到 Packages 目录。

    安装插件后:

    • CtrlShiftP 打开命令面板
    • 输入 prv 以获取 <b>P</b>ackage <b>R</b>esource <b>V</b>iewer: 选项
    • 选择Package Resource Viewer: Open Resource
    • 在列表中向下导航至LaTeX
    • 然后打开section-..-(section).sublime-snippet 文件。

    您现在应该可以编辑该文件并保存它,这将创建一个新文件Packages/LaTeX/section-..-(section).sublime-snippet,如果您需要再次更改它,您可以直接通过文件菜单打开它。

    如果您想处理多个文件或整个包,请使用Package Resource Viewer: Extract Package,它将所有内容解压缩到Packages/PackageName 文件夹中。但请记住,一旦将包或单个文件解压缩到 Packages 文件夹中,它们就会覆盖位于 .sublime-package 存档中的同名文件。这有利于自定义,但如果在某些时候父包被更新,您将看不到效果,因为它们被 Packages 中的内容所掩盖。因此,最好只提取您需要的内容,并密切关注您的软件包更新,以防引入您想要利用的新功能。

    祝你好运!

    【讨论】:

    • 谢谢。这正是我想要的。
    • 听起来不错。我想知道为什么 Sublime 默认不提供它自己的包管理器,以及为什么你必须使用 Python 代码才能得到它......
    • @Domi - Python 是 Sublime 内部 API 的语言,所有插件如果没有完全写在里面,至少需要有一个 Python 包装器。您将不得不问 Jon Skinner 为什么他没有在 Sublime 中包含一个包管理器,但是看到包控制是 de facto 标准,据我所知没有竞争,它并不是真正的大问题。
    • 有什么方法可以做到这一点,而不必担心更新时您的设置会被覆盖?你能把它放在用户目录什么的吗?
    • @GreeKatrina 您的设置在更新后不会被覆盖。只是新版本PackageName.sublime-package中的任何更改文件都不会被应用,因为您使用PackageResourceViewer解压缩的旧版本将覆盖它。
    【解决方案2】:

    要在终端中轻松跳转(如果您在 OSX 上使用 ST3)是/Users/$USER/Library/Application\ Support/Sublime\ Text\ 3/Packages/User。您可以在此处查看所有的 sn-ps 并根据需要对其进行编辑。

    【讨论】:

    • 要明确一点,虽然这是很好的信息,但这不是 所有 sn-ps,尤其不是默认的 sn-ps,它们嵌入在其他地方。这将是您放置您的位置的位置。 @MattDMo 选择的答案是编辑 default sn-ps incl 的方法。其他包添加的那些。
    • 我试图找出如何更改线条突出显示和选定文本突出显示,这个解决方案对我来说非常有用!我有一个奇怪的显示器,在不同的角度我看不到我突出显示的内容,只需通过color-hex.com 更改为不同的色调。耶!谢谢!
    【解决方案3】:

    除了其他答案,这里是如何做到的 无需安装任何额外的插件。

    不需要任何额外插件的解决方案(2016 年 10 月)。


    我在尝试覆盖包中定义的一些键绑定时遇到了类似的问题。

    步骤

    • 安装您的包(使用包管理器或您喜欢的任何其他方法)。

    您的压缩包文件现在应该放在文件夹 ~/.config/sublime-text-3/Installed Packages/&lt;your-package&gt;.sublime-package 中。

    • 通过解压来检查包的内容(只要确保保留原始压缩文件)。

      在这些文件中,找到包含您要编辑的首选项的文件(请参阅Package Contents)。在您的情况下,它应该是一个 .sublime-snippet 文件。记住它的名字。

    • ~/.config/sublime-text-3/Packages 中创建一个与您的包同名的文件夹。

    • 在此文件夹中创建一个新的 sn-p 文件,该文件将覆盖默认包行为。请注意,新文件的名称应与您在包中找到的 sn-p 文件的名称相同。从控制台:

      > cd ~/.config/sublime-text-3/Packages
      > mkdir <YOUR-PACKAGE-NAME>
      > gedit <YOUR-SNIPPET-NAME>.sublime-snippet
      
    • 将新 sn-p 的内容放入您的 &lt;YOUR-SNIPPET-NAME&gt;.sublime-snippet。这将覆盖旧的 sn-p 行为。

    来源:

    【讨论】:

    • 请记住,Linux 文件名区分大小写,因此 Packages/PHP/Snippets/function.sublime-sn-p 和 Packages/PHP/sn-ps/function.sublime-sn-p 将创建 2 个不同的自动完成列表中的条目。
    猜你喜欢
    • 2013-12-15
    • 2015-09-27
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 2015-12-07
    • 1970-01-01
    相关资源
    最近更新 更多