Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用vim编写python:进行选项卡模拟的最佳方法是什么?_Python_Vim_Tabs - Fatal编程技术网

用vim编写python:进行选项卡模拟的最佳方法是什么?

用vim编写python:进行选项卡模拟的最佳方法是什么?,python,vim,tabs,Python,Vim,Tabs,我一直在使用vim编写perl,现在开始过渡到python,但我看到有人说,如果选择正确的编辑器,在其中选项卡转换为空格,则不必重复4次空格 我喜欢维姆,不想搬家。我在5年前就看到过这样的线程,我想知道这是否仍然是实现它的最佳方法,或者是否有更简单/更新的方法 我只使用: set sw=4 ts=4 expandtab 您可以使其仅适用于Python: au FileType python setlocal tabstop=4 shiftwidth=4 expandtab 我只是使用: se

我一直在使用vim编写perl,现在开始过渡到python,但我看到有人说,如果选择正确的编辑器,在其中选项卡转换为空格,则不必重复4次空格

我喜欢维姆,不想搬家。我在5年前就看到过这样的线程,我想知道这是否仍然是实现它的最佳方法,或者是否有更简单/更新的方法

我只使用:

set sw=4 ts=4 expandtab
您可以使其仅适用于Python:

au FileType python setlocal tabstop=4 shiftwidth=4 expandtab
我只是使用:

set sw=4 ts=4 expandtab
您可以使其仅适用于Python:

au FileType python setlocal tabstop=4 shiftwidth=4 expandtab

根据我的经验,Python中选项卡和空格的最佳设置如下:

:set tabstop=8 shiftwidth=4 softtabstop=4 expandtab shiftround
说明:

因为您根本不会使用真正的制表符,所以我觉得最好是显式的,并将它们保留为8列的传统宽度,
tabstop=8
。您可以不使用此设置,因为它是默认设置


shiftwidth=4
softtabstop=4
以及
expandtab
在插入模式下以及在我的经验中使用缩进命令(如
)都可以获得一致的制表体验,Python中选项卡和空格的最佳设置如下:

:set tabstop=8 shiftwidth=4 softtabstop=4 expandtab shiftround
说明:

因为您根本不会使用真正的制表符,所以我觉得最好是显式的,并将它们保留为8列的传统宽度,
tabstop=8
。您可以不使用此设置,因为它是默认设置


shiftwidth=4
softtabstop=4
以及
expandtab
在插入模式以及缩进命令(如
等)下都能提供一致的制表体验。该答案有什么问题?它只有4行,如果你把它们放在.vimrc文件中,你甚至不需要每次都键入它们。我主要想知道5年后它是否仍然相关或需要。较新版本的vim是否有内置功能,使其冗余或不工作。这就是vim的内置功能。您只需设置选项来告诉Vim要使用哪个内置行为。不是每个人都想要4个空格。这就像在点击编辑器的“设置”对话框中点击复选框一样。这个答案有什么问题?它只有4行,如果你把它们放在.vimrc文件中,你甚至不需要每次都键入它们。我主要想知道5年后它是否仍然相关或需要。较新版本的vim是否有内置功能,使其冗余或不工作。这就是vim的内置功能。您只需设置选项来告诉Vim要使用哪个内置行为。不是每个人都想要4个空格。这就像点击编辑器的设置对话框中的复选框一样。与其填写
.vimrc
,不如使用文件类型配置文件,如
~/.vim/ftplugin/py.vim
,因为@mMontu这是个人喜好的问题,不是吗?或者用户文件类型插件更好有客观原因吗?(顺便说一句,我想你想链接第26.1节。)第26.1节也有相关信息,但我链接到了26.8,因为我认为答案覆盖了默认的文件类型插件(在
$VIMRUNTIME/ftplugin/python.vim
)-我忘记了在前面的注释示例中添加
目录。在这一节中,Vim FAQ指出,文件类型文件是一个更好的选择,我同意这一点,因为它允许更好的组织,但它可能归结为一个品味问题,正如您所说的那样。+1@mMontu,我更喜欢将定制分解到提供的Vim目录结构中,而不是使vimrc混乱。这也是更好地理解vim的一个很好的练习。与其填写
.vimrc
,不如使用文件类型配置文件,如
~/.vim/ftplugin/py.vim
,因为@monmtu这是个人喜好的问题,不是吗?或者用户文件类型插件更好有客观原因吗?(顺便说一句,我想你想链接第26.1节。)第26.1节也有相关信息,但我链接到了26.8,因为我认为答案覆盖了默认的文件类型插件(在
$VIMRUNTIME/ftplugin/python.vim
)-我忘记了在前面的注释示例中添加
目录。在这一节中,Vim FAQ指出,文件类型文件是一个更好的选择,我同意这一点,因为它允许更好的组织,但它可能归结为一个品味问题,正如您所说的那样。+1@mMontu,我更喜欢将定制分解到提供的Vim目录结构中,而不是使vimrc混乱。这也是更好地理解vim的一个很好的练习。