Sekme karakteri nano'da 8 boşluk yerine 4 boşluk nasıl yapılır?


152

nanoEditörde SEKME tuşuna bastığımda , imleç şu şekilde 8 boşlukla atlayacak:

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

sekme durağı genişliğini şu şekilde görüntülemek için 4 boşluğa nasıl ayarlayabilirim:

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

Nano oldukça basit bir editör. Bunu desteklememesi için iyi bir şans var.
millimoose

umm sadece nanoda değil, aynı zamanda Terminal'de python yorumlayıcısı kullandığımda 8 boşlukla girintili.
Fallen Satan

2
Bu, SuperUser'da yanıtlanır ve yinelenen olarak kapatılmalıdır: superuser.com/questions/110421/tab-character-width-in-terminal
millimoose

6
millimoose, terminaldeki sekme duraklarının değiştirilmesi nano'yu etkilemez. Bu soru özellikle nano veya Python için sekme duraklarının ayarlanmasıyla ilgili olmalı, ancak her ikisi ile ilgili değil ve sekme duraklarını tabtüm programları etkilemeyen komutla etkileşimli olarak ayarlamakla ilgili değil.
Chris Page

Yanıtlar:


253

Nano'yu python gibi bir dilde kullanıyorsanız (örneğin örnekte olduğu gibi), sekmeleri boşluklara dönüştürmek de iyi bir fikirdir.

Senin düzenleyin ~ / .nanorc dosyasını (veya oluşturun) ve ekleyin:

set tabsize 4
set tabstospaces

Zaten sekmeleri olan bir dosyanız varsa ve bunları boşluklara dönüştürmek istiyorsanız şu expandkomutu (kabuk) öneririz :

expand -4 input.py > output.py

Nane kullanıyorum ve / etc / nanorc içinde 8'den 4'e kadar tabsize ayarlayıp dosyaya geri döndüğümde, hala sekmede 8 boşluk alıyorum, hatta bu nanorc dosyasını ~ / 'ya kopyalamaya çalıştım. ama bu işe yaramaz, kapatılır ve tekrar açılır terminal, ancak nano -T4 kullanmadıkça sekmede 4 boşluk alamıyorum. Teşekkürler
Alex

Bir ile dosya başlar dot tekrar kontrol @Alex .nanorcdeğil nanorc. Bu, kullanıcı giriş dizininize yerleştirilmelidir, ör /home/your-username/.nanorc.
Sven Rojek

1
Teşekkürler, / etc 'den farklı bir başka .nanorc oluşturmaya başladım, ev dizinine yerleştirdim ve işe yaradı. Bu, ilgilenen herkes için yeni .nanorc'a dahil ettiğim tek 3 satır: nowrap'i ayarla, tabsize 4'ü ayarla ve tabstospaces'i ayarla
Alex

5
Bu sizin oyuncağınızsa, bu değişikliği sistem genelinde kullanılabilir hale getirebilirsiniz, sadece global dosyayı düzenleyin /etc/nanorc. Hoşunuza gidebilecek birkaç seçenek daha var.
fcm

Merhaba @Alexey. Bu Linux Kabuk komutu tüm dosyalar için çalışır, ancak başka bir çıktı dosyası belirttiğinizden emin olun, aksi takdirde dosyanız boşaltılır.
Sven Rojek

91

Komut satırı bayrağı

Gönderen 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.

Örneğin, sekme boyutunu 4 olarak ayarlamak, sekmeleri boşluklarla değiştirmek ve "foo.txt" dosyasını düzenlemek için şu komutu çalıştırın:

nano -ET4 foo.txt

Yapılandırma dosyası

Gönderen 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.

Senin düzenleyin ~/.nanorcdosya (o yoksa oluşturun) ve buna bu komutları ekleyin. Örneğin:

set tabsize 4
set tabstospaces

Nano, bu ayarları her başlatıldığında varsayılan olarak kullanır, ancak komut satırı bayrakları bunları geçersiz kılar.


umm ... .nanorc dosyasını ~ / dizininde bulamıyorum
Fallen Satan

1
Tamam, boşver. / Etc dizininde nanorc'u buluyorum. teşekkürler olsa da
Fallen Satan

5
@FallenSatan, sistem çapında özelleştirmeler yapmanız gerekmediği sürece genellikle / etc / nanorc düzenlemesinden kaçınmalısınız. Henüz yoksa ~ / .nanorc oluşturun ve özelleştirmelerinizi oraya koyun.
Chris Page

1
Yukarıdaki yanıtta, "tabspace 4'ü ayarla" satırını değil "tabsize 4'ü ayarla" satırını eklemeniz gerektiğini unutmayın
Thomas N

1
sudo nano ~ / .nanorc'u açık bir nedenden ötürü almaz; bu yüzden komut satırı bayrağı soruna daha pratik bir çözümdür.
user608800

11

Nano 2.2.6'da bunu yapmak için ~ / .nanorc satırı

set tabsize 4

Tabspace ayarı bana şu hatayı verdi: 'Bilinmeyen bayrak "tabspace"


4

Gelecekteki izleyiciler için / etc / nanorc dosyamda 153 numaralı satırın yakınında "tabsize 8 ayarla" yazan bir satır var. Sözcüğün tabspace yerine tabsize olması gerekebilir. Ben 8 yerine 4 ve çizgi uncommented sonra, benim sorunum çözüldü.



0

Bu eski soruya rastlayabilecek herkes için ...

Ele alınması gereken bir şey olduğunu düşünüyorum.

~/.nanorcnano'ya kullanıcıya özel ayarlarınızı uygulamak için kullanılır, bu nedenle sudo nanoizinler için kullanımını gerektiren dosyaları düzenliyorsanız bu işe yaramaz.

Kullanırken sudobir programı açarken daki konfigürasyon değişikliklerinin hiçbiri bu kadar hesabınızdan programı yayınlanmıyor olarak, yüklenmeyecektir özel kullanıcı yapılandırma dosyalarını ~/.nanorcuygulanacaktır.

Kendinizi bulduğunuz durum buysa ( kendi yapılandırma ayarlarınızı çalıştırmak sudo nano ve kullanmak istiyorsanız), üç seçeneğiniz vardır:

  • çalıştırırken komut satırı bayraklarını kullanma sudo nano
  • /root/.nanorcdosyayı düzenlemek
  • /etc/nanorcglobal yapılandırma dosyasını düzenleme

Genel /etc/nanorcbir yapılandırma dosyası olduğunu ve bu nedenle tüm kullanıcıları etkilediğini unutmayın; bu , çok kullanıcılı bir sisteminiz olup olmamasına bağlı olarak bir sorun olabilir veya olmayabilir.

Ayrıca, kullanıcı yapılandırma dosyaları genel olanı geçersiz kılar, bu nedenle düzenleyecekseniz /etc/nanorcve ~/.nanorcfarklı ayarlarla, çalıştırdığınızda nanoayarları yükler, ~/.nanorcancak çalıştırırsanız sudo nanoayarları yükler /etc/nanorc.

Aynı şey çalışırken /root/.nanorcbu geçersiz kılınır/etc/nanorcsudo nano

Çok fazla seçeneğiniz olmadığı sürece bayrakları kullanmak muhtemelen en iyi seçenektir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.