187

当我在编辑器中按 TAB 时nano,光标会跳出 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
4

7 回答 7

297

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

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

set tabsize 4
set tabstospaces

如果您已经有了一个带有制表符的文件并想将它们转换为空格,我推荐使用expand命令(shell):

expand -4 input.py > output.py
于 2013-03-12T14:50:46.603 回答
114

命令行标志

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

于 2012-06-23T23:28:44.847 回答
13

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

set tabsize 4

设置选项卡空间给了我错误:'未知标志“选项卡空间”'

于 2012-09-05T10:23:52.550 回答
5

以 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

于 2019-06-23T06:41:38.780 回答
4

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

于 2012-12-20T09:17:54.987 回答
2

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

我认为需要解决一件事。

~/.nanorc用于将您的用户特定设置应用于 nano,因此如果您正在编辑需要使用sudo nanofor 权限的文件,那么这将不起作用。

当使用sudo您的自定义用户配置文件时,在打开程序时不会加载,因为您没有从您的帐户运行程序,因此您的任何配置更改~/.nanorc都不会应用。

如果这是您发现自己所处的情况(想要运行sudo nano 使用您自己的配置设置),那么您有三个选择:

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

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

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

这同样适用于运行时/root/.nanorc将覆盖/etc/nanorcsudo nano

除非您有很多选择,否则使用标志可能是最好的选择。

于 2020-01-06T15:54:49.483 回答
0

在 nano 设置选项卡大小 4 很容易。有一些简单的步骤可以做到这一点:

  1. 从主目录转到“etc”目录(文件夹)。
cd /etc
  1. 有一个文件名“nanorc”,需要编辑它。您可以通过运行查看文件列表ls -a。使用您喜欢的编辑器(如 nano 或 gedit 等)输入文件。
sudo nano nanorc
  1. 您需要找出一行set tabsize 8。默认情况下,制表符大小设置为 8 个空格。大约有300行。您可以运行此命令来搜索行的位置而无需滚动。要从nano退出(ctrl+Z) 并运行
grep -n "set tabsize" nanorc

就我而言,这是第 159 行。输出是:

159:# set tabsize 8
  1. 现在再次打开“nanorc”文件(如步骤 2 所示)。转到在步骤 3 中找到的行号。在 nano 中查看编辑器中的行号按alt+shift+3。你可能会发现这样一行:# set tabsize 8

取消注释该行(删除#)并将 4 而不是 8 并保存(ctrl+o 然后按 enter)。 在此处输入图像描述

然后你就完成了。-- 如果您将 nano 用于 python 脚本,则将选项卡大小设置为 4 会很有帮助。

如果它不能完美运行,也请取消注释下一行。在我的情况下,第 162 行,即“ #set tabstospaces

于 2022-02-05T03:39:19.263 回答