如何在nano中制作制表符4个空格而不是8个空格?

时间:2012-06-23 23:17:03

标签: tabs terminal indentation nano

当我在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

6 个答案:

答案 0 :(得分:224)

如果你使用像 python 这样的语言的nano(如你的例子中那样),那么将标签转换为空格也是一个好主意。

编辑您的〜/ .nanorc 文件(或创建它)并添加:

set tabsize 4
set tabstospaces

如果您已经有一个带有标签的文件并希望将它们转换为空格,我推荐使用expand命令(shell):

expand -4 input.py > output.py

答案 1 :(得分:78)

命令行标志

来自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会在启动时默认使用这些设置,但命令行标志会覆盖它们。

答案 2 :(得分:11)

在nano 2.2.6中,〜/ .nanorc中的行似乎是

set tabsize 4

设置tabspace给了我错误: '未知标志'tabspace“'

答案 3 :(得分:3)

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

答案 4 :(得分:0)

以nano设置标签大小

cd /etc
ls -a
sudo nano nanorc

enter image description here

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

答案 5 :(得分:0)

对于任何可能偶然发现这个老问题的人...

我认为有一件事情需要解决。

Intent intent = getIntent(); String path = intent.getStringExtra("PATH"); //convert the path to image/bitmap and display the image 用于将特定于用户的设置应用于nano,因此,如果您正在编辑需要使用~/.nanorc作为权限的文件,则此操作将无效。

使用sudo nano时,打开程序时不会加载您的自定义用户配置文件,因为您不是通过帐户运行该程序的,因此不会应用sudo中的任何配置更改。

如果您遇到这种情况(想运行~/.nanorc 并使用自己的配置设置),则可以使用以下三种选择:

  • 在运行sudo nano时使用命令行标志
  • 编辑sudo nano文件
  • 编辑/root/.nanorc全局配置文件

请记住,/etc/nanorc是一个全局配置文件,因此会影响所有用户,这取决于是否具有多用户系统,可能是一个问题,也可能不是一个问题。

此外,用户配置文件将覆盖全局文件,因此,如果您要使用不同的设置来编辑/etc/nanorc/etc/nanorc,则在运行~/.nanorc时,它将从{加载{1}},但是如果您运行nano,它将从~/.nanorc加载设置。

sudo nano不变,它将在运行/etc/nanorc时覆盖/root/.nanorc

除非您有很多个选项,否则

使用标记可能是最好的选择。