热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SublimeText3手动插入制表符

如何解决《SublimeText3手动插入制表符》经验,为你挑选了1个好方法。

使用Sublime Text 3时,我的大多数文件都设置为使用空格缩进.但是我有时希望插入一个文字标签.当我使用vim时,我会使用 + v ,但这不适用于Sublime Text 3.

我一直在搜索和搜索,找不到任何东西.请帮忙!



1> OdatNurd..:

有一个默认的键绑定Shift+Tab可以将原始制表符插入到文档中,尽管在某些上下文的情况下(例如展开片段时)它会采用其他函数.

但是,Indent Using Spaces由以下设置控制:

// Set to true to insert spaces when tab is pressed
"translate_tabs_to_spaces": false,

如此处所示默认为false,但是当你Indent using spaces打开时,它被设置为true.正如评论所暗示的那样,当此设置设置为true任何尝试插入原始制表符时,会转换为某些空格.

因此,即使是官方密钥绑定也不会在这种情况下插入原始选项卡.

根据您插入文字标签的频率,您可以通过暂时打开和关闭该设置来解决此问题,但这远非理想,即使从状态栏中的菜单切换设置也是如此.

由于Sublime是如此可定制,我们可以自动化它为我们做这项工作.

首先,创建一个包含以下内容的文件并将其保存在User包中literal_tab.sublime-macro(如果您不确定它的位置,请使用Preferences > Browse Packages...以查找您的User包):

[
    { "command": "toggle_setting", "args": { "setting": "translate_tabs_to_spaces" } },
    { "command": "insert", "args": { "characters": "\t" } },
    { "command": "toggle_setting", "args": { "setting": "translate_tabs_to_spaces" } }
]

然后,将以下两个键绑定添加到用户绑定中(Preferences > Key Bindings在菜单中;如果有多个选项,则选择User与否Default):

{ 
    "keys": ["ctrl+k","tab"], 
    "command": "insert", 
    "args": {
        "characters": "\t"
    },
    "context":
    [
        { "key": "setting.translate_tabs_to_spaces", "operator": "equal", "operand": false }
    ]
},

{ 
    "keys": ["ctrl+k","tab"], 
    "command": "run_macro_file", 
    "args": {
        "file": "Packages/User/literal_tab.sublime-macro"
    },
    "context":
    [
        { "key": "setting.translate_tabs_to_spaces", "operator": "equal", "operand": true }
    ]
}    

两个绑定都包含一个上下文,使其根据translate_tabs_to_spaces设置的值触发或不触发,因此在任何给定时间,其中只有一个实际生效,另一个自动禁用.

第一个绑定是针对关闭设置的情况,在这种情况下,它只需要插入制表符并完成.第二种情况是从上面运行我们的自定义宏,它关闭设置,插入选项卡,然后再次打开设置.

理论上,如果你总是打开缩进设置,你真的只需要第二个,但由于最小惊喜原则,无论设置如何,将它设置为工作是个好主意.

当然你可以使用你想要的任何键击(我也习惯了这个来自vim),并且宏文件的名称无关紧要,只要它具有正确的扩展名并且它与绑定尝试的匹配执行.


注意:尽管您在问题中提到了Sublime Text 3,但您也标记了Sublime Text 2,因此为了完整起见,我还会注意到此处提供的信息和解决方案同样适用于这两个版本.


推荐阅读
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 引号快捷键_首选项和设置——自定义快捷键
    3.3自定义快捷键(CustomizingHotkeys)ChemDraw快捷键由一个XML文件定义,我们可以根据自己的需要, ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 解决.net项目中未注册“microsoft.ACE.oledb.12.0”提供程序的方法
    在开发.net项目中,通过microsoft.ACE.oledb读取excel文件信息时,报错“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”。本文提供了解决这个问题的方法,包括错误描述和代码示例。通过注册提供程序和修改连接字符串,可以成功读取excel文件信息。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • 使用C++编写程序实现增加或删除桌面的右键列表项
    本文介绍了使用C++编写程序实现增加或删除桌面的右键列表项的方法。首先通过操作注册表来实现增加或删除右键列表项的目的,然后使用管理注册表的函数来编写程序。文章详细介绍了使用的五种函数:RegCreateKey、RegSetValueEx、RegOpenKeyEx、RegDeleteKey和RegCloseKey,并给出了增加一项的函数写法。通过本文的方法,可以方便地自定义桌面的右键列表项。 ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
author-avatar
mjadhu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有