- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Update: A solution was found using Ingo Karkat's troubleshooting I was able to identify where my settings were being overridden via :verbose sw? sts? From this I was able to create the file
~/.vim/after/ftplugin/python.vim
with my own settings. Finaly a restart of vim made the changes take effect as my :source ~/.vimrc efforts were not enough to load these changes. In hinsight that was probably because my new settings were not in the vimrc. Either way the accepted answer is what finaly solved the problems I was having and life can continue as advertised.
我是 vim 的新用户,正在努力了解制表位和软制表位的工作原理。我读了一些书,决定我的设置如下
set shiftwidth=2
set softtabstop=2
set tabstop=2
set expandtab
我希望制表符是 2 个空格,但是当我将它们添加到我的 vimrc 和资源时,在我的 python 文件中执行 gg=G 的 .vimrc 不会应用我期望的更改,而是在我的缩进上放置 4 个空格.如果我进入插入模式,我还会得到 4 个空格用于缩进。我没有正确设置这些吗?我以前有
autocmd FileType python set sw=4
autocmd FileType python set ts=4
autocmd FileType python set sts=4
我想也许这个设置在删除它并重新加载 vimrc 之后仍然在系统中。我尝试添加
autocmd FileType python sw=2 sts=2 ts=2 et
但是,这无法解决我得到 4 个空格与 2 个空格的问题。我缺少什么?插件可能会覆盖这个吗?我在/syntax 之后查看了里面,但是里面只有一个 html.vim。我有几个插件:Vundle、YouCompleteMe、taglist、ultisnips、syntastic、vim-surround
不确定这些是否可能是原因,或者我该如何进一步解决这个问题。希望 vim 大神们能来救我。
最佳答案
Vim 可以告诉你这些设置的最后设置位置:
:verbose setlocal ts? sts? et? sw?
很可能你的全局设置被 $VIMRUNTIME/ftplugin/python.vim
覆盖了。这具有以下代码(在最新的 Vim 8.0 中):
if !exists("g:python_recommended_style") || g:python_recommended_style != 0
" As suggested by PEP8.
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
endif
如您所见,通过 :let g:python_recommended_style = 0
(例如在您的 ~/.vimrc
中),您可以禁用该设置。这个条件保护可能已经被引入,因为许多用户提示预设。通常,文件类型插件没有这样的设置,但您始终可以通过之后目录中的脚本覆盖设置:
将 :setlocal ts=...
命令放入 ~/.vim/after/ftplugin/python.vim
。或者,您可以直接在 ~/.vimrc
中定义一个 :autocmd FileType python ...
,但是一旦您进行了很多自定义,这往往会变得笨拙。正如您提到的 :autocmd
对您不起作用,可能还有其他自定义设置(:verbose setlocal
应该会告诉您)。在这种情况下,您需要根据所涉及的插件找到一个特殊的解决方案。
关于vim tabstop 设置没有生效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48820315/
Update: A solution was found using Ingo Karkat's troubleshooting I was able to identify where my set
我设置了IsTabStop至 False ,但是 Tab仍然导航到扩展器。 任何想法我做错了什么? 最佳答案 它看起来像是 Expander 模板中的一个错误: http://socia
我们有一个表单和文本框。所有控件的 tabindex 都设置正确并且 TabStop = true。当某些文本框获得焦点并且当我按下 Tab 键时,焦点不会设置在下一个文本框上。 注意:控件位于面板及
我在表单上放置了一个 LinkLabel,默认情况下它具有 TabStop=true。我将 TabStop 更改为 false 并关闭表单。然后再次打开表单 - TabStop 为 true。 会发生
我正在Windows平台的Delphi XE5 Update 2中编写Firemonkey HD程序。我有一个选项卡控件,表单上有一个 tabitem,并且 tabitem 中有一些编辑框。我相应地设
我有一个带有 3 个组框的 WinForm,一个带有组合框,两个带有单选按钮。我将所有这些控件及其子控件设置为“TabStop = false”,但是当我使用 TAB 循环时,最后两个组框中当前选中的
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关于您编写的代码问题的问题必须在问题本身中描述具体问题 — 并且包括有效代码 以重现它。参见 SSC
我知道使用 isDialogMessage() 函数我们可以将焦点从一个控件切换到另一个控件。我的疑问是 是否可以覆盖控件应从第一个按钮聚焦到第三个按钮。 如果可能如何自定义 WS_TABSTOP 属
当我在组合框中切换时,它们会触发两个制表位。 标签 #1 内部内容被选中: 标签 #2 整个控件被选中: 组合框 XAML 我尝试将 IsTabStop=False 和 Focusable=Fals
如果焦点在点击事件或制表位上触发,如何确定 jQuery 上的焦点事件?我有这个焦点事件,如果焦点由制表位触发,我将执行某些操作,如果是点击,我将不执行。 伪代码 $('a').focus(funct
我有一个 WPF 应用程序,它在垂直堆栈面板中有一系列按钮,类似于 DVR 菜单的外观。我想出了如何制作动画,当加载每个新菜单页面时,按钮/控件都{unfade,fall,deblur,whateve
我每天使用 MacVim 记下一些笔记。第二行在日期后缩进 8 个空格(制表位),如下所示。 Dec 15th (Sun): John got a minor injury while
我尝试将 Panel.TabStop 属性切换为 true 但它不会影响任何东西。 如何在面板中启用TabStop? 最佳答案 TabStop 属性对 Panel 控件没有影响,因为它是一个容器对象。
我正在用 C# 构建一个电子邮件客户端,允许用户发送 HTML 电子邮件。我有一些通用的格式化功能,包括插入项目符号列表和编号列表的选项。我想允许用户在控件中使用 Tab 键,但也可以使用 Tab 键
我创建了一个扩展 GroupBox 的自定义控件。此控件支持折叠和展开,我使用 GroupBoxRenderer 和 ButtonRenderer 使其看起来像一个典型的 GroupBox,在角落里有
Python 的 len() 和像 string.ljust() 这样的填充函数不是制表位感知的,即它们像对待任何其他单角字符一样对待 '\t' ,并且不要将 len() 舍入到最接近的制表位倍数。示
我有一个我目前正在处理的项目,其中编码标准是使用 2 个空格缩进。但是,在其他项目中,我使用 4 个空格缩进。 有没有一种简单的方法可以告诉 vim 某个目录中的所有文件都应该有 2 个空格的制表位?
我正在使用 Delphi7,我正在尝试实现一个 LinkLabel,就像您可以在 Windows Vista 及更高版本的控制面板下找到的那样。 更改悬停时的光标/颜色非常简单,我唯一需要做的就是使
我在 NSTextView 中观察到奇怪的行为。 假设有多行(通过按 Enter 键分隔),当我持续按 Tab 键时,整个段落会变成项目符号行。 我确实设置了 tabStops 并使标尺能够看到 ta
通常,人们在 vim 中使用 gg=G 来自动切换 C/C++/Java 代码或实际上任何类型的代码。 但是,我在 vim 的默认设置中将 tabstop 变量更改为 tabstop=2,这样每当我按
我是一名优秀的程序员,十分优秀!