tabs - Sublime Text 3 - 点击选项卡不会添加空格,而是使文本小写

标签 tabs sublimetext3 indentation lowercase

如果我输入以下内容:

TEST

然后按 TAB,代码现在如下所示:

test

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

知道如何恢复TAB功能吗?

最佳答案

在一般情况下,一个可能的原因是您安装了一个第三方软件包,该软件包窃取了 Tab 键绑定(bind)以执行其自己的操作,在这种情况下将转动前面的单词小写。

如果此行为适用于您碰巧在之后按 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 将尝试执行 Tab 补全,这不仅考虑片段和补全,还考虑当前缓冲区中的单词也是如此。

在这种情况下,如果您要输入单词 test 并在单词 TEST 也出现在文本中的位置按 Tab buffer,它被认为是一个潜在的完成,并将成为替代品。

如果这是问题所在,您只需输入 t 并按 Tab 就会看到类似的行为,这将循环显示所有 T缓冲区中的单词作为可能的补全。

假设您遇到了这种情况,以下方法之一应该可以解决您的问题:

  1. 在您的首选项中将 tab_completion 设置为 false;这将在所有地方完全禁用该功能

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

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

要使#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,在这种情况下,正如注释提到的那样,绑定(bind)将执行制表符,除非您选择了多行,在这种情况下它会取消缩进。

关于tabs - Sublime Text 3 - 点击选项卡不会添加空格,而是使文本小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49660606/

相关文章:

android - 如何在选项卡 Activity 中创建子 Activity

regex - 如何使用正则表达式查找和替换字符串的开头和结尾

sublimetext2 - 用于选择所有类似缩进行的 Sublime Text 快捷方式

Vim在复制粘贴时缩进每一行代码

emacs - 在 Emacs 中单独使用制表符进行缩进

安卓工作室 : how add tabs with ViewPager

Android 标签 fragment

html - 选项卡的 li 检查问题

themes - Visual Studio 2015 崇高主题

comments - PyCharm:自动对齐行内注释