vim - 如何解决 Atom 和 Vim 之间的制表符/空格问题
问题描述
我更喜欢在本地机器上用 Atom 编写脚本。但是,我在我大学的集群上运行了很多,当我需要更改一些小的东西时,我喜欢在 vim 中打开它并进行更改,而不是在本地机器上的 Atom 中编辑并从 GitHub 推/拉.
但是,当我在 vim 中打开我的脚本时,使用 tab 按钮,光标移动了 8 个空格。这特别烦人,因为我必须用空格做所有新的缩进。
在 Atom 中,我的制表符长度设置为 4 个空格,制表符类型设置为自动。我没有做任何事情来改变 vim 的默认值。
我应该在 Atom 中更改标签长度,还是有更好的解决方案?
解决方案
在 Vim 中有几个设置可以用来控制它。它们如下:
tabstop
,shiftwidth
, 并softtabstop
控制缩进的宽度。它们之间存在差异,您应该阅读每个文档以了解它们的作用,但粗略地说,如果您总是只想插入制表符或只插入空格,那么它们都应该设置为缩进的宽度(例如,4
对于4 个空格或 4 个空格制表符)。expandtab
控制是否插入空格 (expandtab
) 或制表符 (noexpandtab
)。
您可以在您的这些选项中设置.vimrc
一些默认值,如果您愿意,也可以明确指定特定的文件类型。例如,如果你知道 Python 更喜欢 4 个空格的缩进,而 Ruby 更喜欢 2 个空格的缩进,但 Go 更喜欢 8 个空格的制表符,你可以这样写:
au FileType go setl ts=8 sw=8 sts=8 noet
au FileType python setl ts=4 sw=4 sts=4 et
au FileType ruby setl ts=2 sw=2 sts=2 et
推荐阅读
- angular - 打字稿全球字典
- python - 在 Pandas 中模糊搜索列
- python - 根据另一列的值计算熊猫列中的元素数
- python - 当我尝试按类查找元素时它不起作用(硒python)
- r - 如何有效地从观察到的变化数据集中进行采样?
- json - 使用 jq 对 JSON 中特定字段的值进行平均
- javascript - validation system it works for some input and it doesn't work for others uses jQuery
- reactjs - React-icons 响应大小
- sql-server - 句点与冒号作为 GETUTCDATE() 时间部分之间的分隔符
- java - 重置 Android 上的所有应用缓存和数据