2

我对“为 github 项目做出贡献”还很陌生,但很高兴这样做,我想知道如何在为 github 项目做出贡献时获得类似于现有缩进的缩进。例如,我使用 VIM,并且我有自己的 .vimrc 文件,但是当我 fork 然后克隆一个 ruby​​ 项目来贡献时,我如何使用相同的缩进。

4

4 回答 4

2

有几个插件可以检查打开文件的缩进并(如有必要)调整缓冲区的缩进设置。我自己的插件叫做IndentConsistencyCop;插件页面还包含指向替代品的链接。这在向许多不同项目提交补丁时特别有用,这些项目本身甚至可能没有一致的指导方针。

如果您深入参与一些项目,我推荐一些允许目录本地配置的插件。您只需将您的:setlocal expandtab tabstop=...放入.lvimrc项目根目录的文件中。我为此推荐localrc.vim,因为它还允许特定于文件类型的本地配置。

于 2012-09-04T07:17:52.243 回答
2

许多项目:help modeline在文件底部的注释中都有选项。例如,

# vim: noet

这些选项将覆盖你的 ~/.vimrc 中的选项。项目维护人员经常将这些放在代码中以保持代码的一致性。有些项目没有这些,但仍然符合一组规则。例如,他们可能使用制表符而不是硬空格。如果您使用硬空间并且正在为使用选项卡的项目做出贡献,那么最好保持一致。您可以通过多种方式完成此操作。一个例子是在你的 vimrc 中为该项目设置一个自动命令,如下所示

au BufRead,BufNewFile /path/to/project/** set noet

这样您就不会忘记遵守该项目的意愿。另一种方法是手动设置。您还可以将项目选项卡更改为硬空间,然后将它们更改回来。例如你可以做

:retab!

将选项卡更改为您的偏好。然后,当您完成编辑后,您可以将设置更改回他们的偏好并执行另一个操作:

:set noet
:retab!
于 2012-09-04T00:54:17.440 回答
2

您可以使用涂抹和清洁过滤器(请参阅Pro-Git 手册的这一部分),并让过滤器执行任何必要的操作来更改用于缩进的制表符或空格。这样你就可以使用任何你喜欢的东西,然后在提交时将其转换为上游版本。

于 2012-09-04T04:32:45.317 回答
0

我在我的 .vimrc 文件中使用它:

set softtabstop=2
set shiftwidth=2

这会更改缩进设置。

如果您不想更改全局 vim 设置,则可能需要使用扩展名,例如。http://www.vim.org/scripts/script.php?script_id=1408

于 2012-09-04T00:46:39.470 回答