Sublimetext3 升华文本:单独的注释/取消注释快捷方式
我知道如何使用Ctrl+/切换注释 我希望能够使用不同的快捷方式对行进行注释和取消注释。即:Ctrl+r表示注释,Ctrl+t表示取消注释Sublimetext3 升华文本:单独的注释/取消注释快捷方式,sublimetext3,sublimetext,Sublimetext3,Sublimetext,我知道如何使用Ctrl+/切换注释 我希望能够使用不同的快捷方式对行进行注释和取消注释。即:Ctrl+r表示注释,Ctrl+t表示取消注释 有人想办法吗?我在Supreme text 3上。您可以通过创建一个新插件来实现这一点: 从工具菜单->开发者->新插件 选择全部并替换为以下内容 将其保存在ST建议的文件夹(Packages/User/)中,类似于add\u或\u remove\u comment.py(文件扩展名很重要,基本名称不重要) 在用户密钥绑定文件中为add\u或\u re
有人想办法吗?我在Supreme text 3上。您可以通过创建一个新插件来实现这一点:
- 从工具菜单->开发者->新插件
- 选择全部并替换为以下内容
- 将其保存在ST建议的文件夹(
)中,类似于Packages/User/
(文件扩展名很重要,基本名称不重要)add\u或\u remove\u comment.py
- 在用户密钥绑定文件中为
comment命令创建2个密钥绑定,并根据需要将add\u或\u remove\u comment
参数设置为模式
或add
remove
请注意,Ctrl+R将覆盖默认的Goto符号绑定,而Ctrl+T将覆盖默认的转置文本绑定…您可以通过创建一个新插件来实现这一点:
- 从工具菜单->开发者->新插件
- 选择全部并替换为以下内容
- 将其保存在ST建议的文件夹(
)中,类似于Packages/User/
(文件扩展名很重要,基本名称不重要)add\u或\u remove\u comment.py
- 在用户密钥绑定文件中为
comment命令创建2个密钥绑定,并根据需要将add\u或\u remove\u comment
参数设置为模式
或add
remove
请注意,Ctrl+R将覆盖默认的Goto符号绑定,Ctrl+T将覆盖默认的转置文本绑定…据我所知,这是不可能的…据我所知,这是不可能的…谢谢,这非常有效!看起来Sublime文本是可深度定制的。也感谢您的超越警告!关于“remove comment”命令的细微挑剔:如果选择跨越多行,其中一些未注释,一些已注释,如果调用该命令,已注释的行变为未注释,那就太好了。如果不清楚的话,我可以提供一个截图。好的,我想我是用黑客攻击的。(如果有人感兴趣:)啊,我承认我没有测试那个场景——抱歉!请随意编辑我的答案,包括您的改进:)谢谢,效果很好!看起来Sublime文本是可深度定制的。也感谢您的超越警告!关于“remove comment”命令的细微挑剔:如果选择跨越多行,其中一些未注释,一些已注释,如果调用该命令,已注释的行变为未注释,那就太好了。如果不清楚的话,我可以提供一个截图。好的,我想我是用黑客攻击的。(如果有人感兴趣:)啊,我承认我没有测试那个场景——抱歉!请随意编辑我的答案,包括您的改进:)
import sublime
import sublime_plugin
from Default.comment import *
class AddOrRemoveCommentCommand(ToggleCommentCommand):
def run(self, edit, **kwargs):
block = kwargs.get('block', False)
for region in self.view.sel():
comment_data = build_comment_data(self.view, region.begin())
if (region.end() != self.view.size() and
build_comment_data(self.view, region.end()) != comment_data):
# region spans languages, nothing we can do
continue
if kwargs['mode'] in ('remove', 'toggle'):
if self.remove_block_comment(self.view, edit, comment_data, region):
continue
if self.is_entirely_line_commented(self.view, comment_data, region):
self.remove_line_comment(self.view, edit, comment_data, region)
continue
if kwargs['mode'] in ('add', 'toggle'):
has_line_comment = len(comment_data[0]) > 0
if not has_line_comment and not block and region.empty():
# Use block comments to comment out the line
line = self.view.line(region.a)
line = sublime.Region(
advance_to_first_non_white_space_on_line(self.view, line.a), line.b)
# Try and remove any existing block comment now
if kwargs['mode'] == 'toggle' and self.remove_block_comment(self.view, edit, comment_data, line):
continue
self.add_comment(self.view, edit, comment_data, block, line)
continue
# Add a comment instead
self.add_comment(self.view, edit, comment_data, block, region)
{ "keys": ["ctrl+r"], "command": "add_or_remove_comment", "args": { "mode": "add" } },
{ "keys": ["ctrl+t"], "command": "add_or_remove_comment", "args": { "mode": "remove" } },