当我在nano编辑器中按TAB键时,光标会像这样跳跃8个空格:

def square(x):
        return x * x
def cube(y):
        return y * y * y

我如何设置制表位宽度为4个空格显示如下:

def square(x):
    return x * x
def cube(y):
    return y * y * y

当前回答

如果您将nano与python之类的语言一起使用(如您的示例所示),那么将制表符转换为空格也是一个好主意。

编辑~/。Nanorc文件(或创建它)并添加:

set tabsize 4
set tabstospaces

如果你已经有了一个带有制表符的文件,并且想要将它们转换为空格,我建议使用expandcommand (shell):

expand -4 input.py > output.py

其他回答

对于未来的观众,在我的/etc/nanorc文件中有一行接近第153行说“set tabsize 8”。这个词可能需要是tabsize而不是tabspace。在我用4替换8并取消注释后,它解决了我的问题。

对于MAC nano,您应该编辑“~/nanorc”配置文件,优先于“~/. nanorc”配置文件。Nanorc”配置文件。

设置制表符大小为nano

cd /etc
ls -a
sudo nano nanorc

链接:https://app.gitbook.com/@cai-dat-chrome-ubuntu-18-04 / s / chuaphanloai / setting-the-tab-size-in-nano

命令行标记

来自man nano:

-T cols (--tabsize=cols)
    Set the size (width) of a tab to cols columns.
    The value of cols must be greater than 0. The default value is 8.
-E (--tabstospaces)
    Convert typed tabs to spaces.

例如,要将制表符大小设置为4,将制表符替换为空格,并编辑文件“foo.txt”,您可以运行以下命令:

nano -ET4 foo.txt

配置文件

来自man nanorc:

set tabsize n
    Use a tab size of n columns. The value of n must be greater than 0.
    The default value is 8.
set/unset tabstospaces
    Convert typed tabs to spaces.

编辑~/。Nanorc文件(如果不存在就创建它),并将这些命令添加到其中。例如:

set tabsize 4
set tabstospaces

Nano在启动时默认使用这些设置,但是命令行标志将覆盖这些设置。

如果您将nano与python之类的语言一起使用(如您的示例所示),那么将制表符转换为空格也是一个好主意。

编辑~/。Nanorc文件(或创建它)并添加:

set tabsize 4
set tabstospaces

如果你已经有了一个带有制表符的文件,并且想要将它们转换为空格,我建议使用expandcommand (shell):

expand -4 input.py > output.py