Sublime Text 3 - 点击标签不会添加空格,而是使文字小写

时间:2018-04-04 21:17:52

标签: tabs sublimetext3 indentation lowercase

如果我输入以下内容:

TEST

然后点击TAB,代码现在看起来像这样:

test

我不知道发生了什么,但标签不再缩进,并将当前行的文本更改为小写。

知道如何恢复TAB功能吗?

1 个答案:

答案 0 :(得分:0)

在一般情况下,一个可能的原因是您安装了第三方软件包,该软件包窃取了 Tab 密钥绑定,以便执行它自己的操作,在这种情况下,将把前一个词改为小写。

如果您碰巧按下 Tab 之后的任何单词,则会出现这种情况。在这种情况下,解决方案是找到执行此操作的程序包并禁用或重新配置它。

在您的情况下,我认为更可能的原因是,您当前正在编辑单词TEST的文件中出现,并且您启用了以下设置:

// When enabled, pressing tab will insert the best matching completion.
// When disabled, tab will only trigger snippets or insert a tab.
// Shift+tab can be used to insert an explicit tab when tab_completion is
// enabled.
"tab_completion": true,

当设置设置为true(这是默认设置)时,按 Tab 将尝试执行选项卡完成,该选项卡不仅会考虑片段和完成,还会考虑当前的缓冲区。

在这种情况下,如果您要在缓冲区中出现单词test的位置输入单词TEST并按 Tab ,则表示'被视为可能完成并将成为替代。

如果这是问题,您只需输入t并按 Tab 即可看到类似的行为,这将循环遍历缓冲区中的所有T个字词落成。

假设这是您发生的事情,以下其中一项应该为您解决问题:

  1. 在您的偏好设置中将tab_completion设为false;这将完全禁用该功能

  2. 仅在您遇到问题的特定文件类型的设置中将tab_completion设置为false;这会在一般情况下启用该功能,但会阻止它发生在您不希望它出现的文件中。

  3. 改用 Shift + Tab ;该键序列将执行 Tab 通常所做的操作并插入制表符,即使 Tab 会尝试完成。

  4. 要使#3生效,请确保将此设置设置如下:

    // By default, shift+tab will only unindent if the selection spans
    // multiple lines. When pressing shift+tab at other times, it'll insert a
    // tab character - this allows tabs to be inserted when tab_completion is
    // enabled. Set this to true to make shift+tab always unindent, instead of
    // inserting tabs.
    "shift_tab_unindent": false,
    

    此值的默认值为false,在这种情况下,注释会提到绑定将执行选项卡,除非您选择了多行,在这种情况下,它会取而代之。