在windows下打开linux编写的python源码tab宽度改变

Vim、Emacs配置和使用
回复
头像
百草谷居士
帖子: 3308
注册时间: 2006-02-10 16:36
系统: ubuntu18.04/Win10
送出感谢: 30 次
接收感谢: 39 次
联系:

在windows下打开linux编写的python源码tab宽度改变

#1

帖子 百草谷居士 » 2020-03-01 15:43

标题有点长,具体是这样的:
在windows下安装的vim8.2,ubuntu下安装的vim8.1,使用的同样的tab设定:
set autoindent
set tabstop=4
set shiftwidth=4
set softtabstop=4
set noexpandtab

在windows下正常,tab宽度为4。在ubuntu下也正常,tab宽度也为4。但是在windows下打开在ubuntu下编写的pyhon源码时,tab宽度就变成了8。

当我使用 vim 打开 python 源文件时,键入set tabstop显示为8,也就是设置没有起作用。当我使用 vim 打开一个txt文件时,键入set tabstop显示为4,这时候是起作用的。

问题出在哪儿呢?
Ubuntu 19.04
米聊群:Ubuntu交流群,ID:50326269。注册米聊用户后可以搜索加入,即时通讯,沟通更快捷
头像
astolia
论坛版主
帖子: 4428
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 740 次

Re: 在windows下打开linux编写的python源码tab宽度改变

#2

帖子 astolia » 2020-03-01 20:41

去看vim的插件里有没有改动过

代码: 全选

:scriptnames
反正我这里/usr/share/vim/vim81/ftplugin/python.vim是有这么一段的

代码: 全选

if !exists("g:python_recommended_style") || g:python_recommended_style != 0
    " As suggested by PEP8.
    setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
endif
真不想按PEP8的来,就把格式命令放到代码里去啊

代码: 全选

# vi: tabstop=3
头像
百草谷居士
帖子: 3308
注册时间: 2006-02-10 16:36
系统: ubuntu18.04/Win10
送出感谢: 30 次
接收感谢: 39 次
联系:

Re: 在windows下打开linux编写的python源码tab宽度改变

#3

帖子 百草谷居士 » 2020-03-02 16:17

我后来直接在配置文件里添加:
autocmd Filetype python set tabstop=4
Ubuntu 19.04
米聊群:Ubuntu交流群,ID:50326269。注册米聊用户后可以搜索加入,即时通讯,沟通更快捷
头像
lilydjwg
论坛版主
帖子: 4176
注册时间: 2009-04-11 23:46
系统: Arch Linux
送出感谢: 11 次
接收感谢: 127 次
联系:

Re: 在windows下打开linux编写的python源码tab宽度改变

#4

帖子 lilydjwg » 2020-03-27 15:24

Python 语言规定一个 tab 视同八个空格。你这样把一个 tab 显示为四个空格宽度,看的时候会真的以为是四个空格,然后后边要是要用空格缩进的,就会导致看着缩进挺对的,但是 Python 看起来就是语法错或者语义不对。

建议是总是用空格来缩进 Python 代码。(set et)
回复

回到 “Vim和Emacs”