Comment faire le caractère de tabulation 4 espaces au lieu de 8 espaces en nano?

Lorsque j’appuie sur TAB dans nano editor, le curseur saute avec 8 espaces comme ceci:

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

Comment puis-je définir la largeur de la tabulation sur 4 espaces pour afficher comme ceci:

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

Si vous utilisez nano avec un langage tel que python (comme dans votre exemple), il est également judicieux de convertir les tabulations en espaces.

Modifiez votre fichier ~ / .nanorc (ou créez-le) et ajoutez:

 set tabsize 4 set tabstospaces 

Si vous avez déjà un fichier avec des tabs et que vous voulez les convertir en espaces, je recommande la commande expand (shell):

 expand -4 input.py > output.py 

Indicateur de ligne de commande

De l’ 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. 

Par exemple, pour définir la taille de l’onglet sur 4, remplacer les tabulations par des espaces et modifier le fichier “foo.txt”, vous devez exécuter la commande:

 nano -ET4 foo.txt 

Fichier de configuration

De l’ 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. 

Modifiez votre fichier ~/.nanorc (créez-le s’il n’existe pas) et ajoutez-lui les commandes. Par exemple:

 set tabsize 4 set tabstospaces 

Nano utilisera ces parameters par défaut à chaque lancement, mais les indicateurs de ligne de commande les remplaceront.

Dans nano 2.2.6 la ligne dans ~ / .nanorc pour faire cela semble être

 set tabsize 4 

Paramétrage tabspace m’a donné l’erreur: ‘Drapeau inconnu “tabspace”‘

Pour les futurs téléspectateurs, il y a une ligne dans mon fichier / etc / nanorc proche de la ligne 153 qui indique “set tabsize 8”. Le mot peut nécessiter une tabulation au lieu de tabspace. Après avoir remplacé 8 par 4 et décommenté la ligne, cela a résolu mon problème.