Existe-t-il un moyen de dire à nano d'afficher automatiquement la numérotation des lignes chaque fois que j'ouvre un fichier ?
Réponses
Trop de publicités?La combinaison de touches permettant d'afficher le numéro de la ligne en cours lorsque vous utilisez nano est la suivante CTRL + C .
Alternativement, pour afficher la position du numéro de la ligne et de la colonne, vous pouvez simplement utiliser la fonction -c
lors du lancement de nano, c'est-à-dire
nano -c [filename]
Pour rendre cela permanent, nano
utilise une configuration dans votre dossier personnel ~/.nanorc
Ainsi, pour afficher toujours les numéros de ligne lors de l'utilisation de nano...
nano ~/.nanorc
(ne vous inquiétez pas s'il est vide - ce fichier n'existe pas par défaut)
type set constantshow
N.B. la syntaxe dépréciée set const
est montré dans l'animation
Sauvez
Puisque vous utilisez des numéros de ligne, souvenez-vous que vous pouvez utiliser ALT + G pour passer à un numéro de ligne spécifique.
Selon la page de manuel de GNU nano 2.9.3 (également vérifié sur la version 4.8) , vous avez deux options pour ouvrir automatiquement avec les numéros de ligne affichés et une pour les activer/désactiver une fois que nano est ouvert :
Drapeaux de ligne de commande
Vous pouvez utiliser le -l
o --linenumbers
drapeaux.
**\-l**, **\-****\-l****inenumbers**
Display line numbers to the left of the text area.
par exemplenano -l foo.txt
nano --linenumbers foo.txt
Via le(s) fichier(s) de configuration
Alternativement, selon la page de manuel de nanorc, vous pouvez ajouter set linenumbers
en ~/.nanorc
, $XDG_CONFIG_HOME/nano/nanorc
o ~/.config/nano/nanorc
.
INITIALIZATION FILE nano will read two configuration files: first the system's nanorc (if it exists), and then the user's nanorc (if it exists), either ~/.nanorc or $XDG_CONFIG_HOME/nano/nanorc or ~/.**config**/nano/nanorc, whichever is encountered first. See nanorc(5) for more information on the possible contents of those files.
**set** **linenumbers**
Display line numbers to the left of the text area.
Donc le contenu de mon fichier ~/.nanorc est simplement :
1 set **linenumbers**
2
Par le biais d'une liaison de touches
Ce n'est pas exactement ce que l'OP demandait, mais pour être complet, vous pouvez aussi activer/désactiver le numéro de ligne via le raccourci clavier par défaut (depuis la v4.8) de Alt+N
.
Vous pouvez également relier cette clé via la méthode mentionnée dans le fichier de manuel :
REBINDING KEYS Key bindings can be changed via the following three commands:
**bind** key function menu
Rebinds the given key to the given function in the given menu (or in all menus where the function exists when **all** is used).
The format of key should be one of:
**^**X where X is a Latin letter, or one of several ASCII characters (@, \], \\, ^, \_), or the word "Space". Example: ^C.
**M-**X where X is any ASCII character except \[, or the word "Space". Example: M-8.
**Sh-M-**X where X is a Latin letter. Example: Sh-M-U. By default, each Meta+letter keystroke does the same as the corresponding Shift+Meta+letter. But when any Shift+Meta bind is made, that will
no longer be the case, for all letters.
**F**N where N is a numeric value from 1 to 24. Example: F10. (Often, **F13** to **F24** can be typed as **F1** to **F12** with Shift.)
**Ins** or **Del**.
Rebinding **^M** (Enter) or **^I** (Tab) is probably not a good idea. On some terminals it's not possible to rebind **^H** (unless **\--raw** is used) because its keycode is identical to that of the Backspace key.
Valid function names to be bound are:
...
**line****numbers**
Toggles the display of line numbers in front of the text.
Concernant les fichiers de configuration alternatifs :
En réponse aux commentaires sur les fichiers de configuration alternatifs, d'après la description de l'application man nanorc
:
During startup, **nano** will first
read the system-wide settings, from **/****etc****/nanorc** (the exact path might be different on your
system), and then the user-specific settings, either from **~/.nanorc** or from $XDG\_CON
FIG\_HOME**/nano/nanorc** or from **~/.config/nano/nanorc**, whichever is encountered first.
En général, je ne conseille pas aux autres de modifier le fichier de configuration du système, sauf si vous avez une bonne raison de le faire, car il sera probablement écrasé lors des mises à jour et ne sera probablement pas inclus dans les sauvegardes du système, qui ne comprennent généralement que le répertoire d'origine.
Utilisation avec sudo
Comme indiqué par un commentateur, cela peut ne pas fonctionner comme prévu si vous devez utiliser sudo avec nano, par ex. sudo nano myFile
. C'est parce que lorsque vous utilisez sudo, vous faites tout ce qui suit sudo
comme "super utilisateur", d'où le nom (super utilisateur do ..). Si vous avez modifié votre fichier de configuration non super utilisateur (par ex. ~/.nanorc
o /home/myUserName/.nanorc
) cela ne sera pas exécuté lorsque vous utilisez sudo car vous n'exécutez pas nano en tant que myUserName
plus longtemps. Vous avez donc quelques options.
- Le plus simple est d'utiliser l'option
-l
et il fonctionnera tel quel. - Copiez le contenu de votre
~/.nanorc
a/root/.nanorc
car il représente le répertoire personnel du super utilisateur. En supposant que vous avez votre./nanorc
comme vous le souhaitez, et que vous ne disposez pas déjà d'une/root/.nanorc
alors vous pouvez simplement exécutersudo cp /home/myUserName/.nanorc /root/
. Notez que cela écrasera tout fichier nanorc existant dans le répertoire/root
et vous devez remplacer myUserName par votre nom d'utilisateur réel. Je n'ai pas testé, mais je suppose que vous ne pouvez pas utiliser l'opérateur tilde, c'est-à-dire ``sudo cp ~/.nanorc /root/as it would likely interperet this to be
/root` plutôt que votre nom d'utilisateur car encore une fois, vous lui dites "super user do cp from home directory".
Compiler Nano à partir des sources :
git clone git://git.savannah.gnu.org/nano.git;cd nano;./autogen.sh;./configure;sudo make install
Ajoutez ensuite les éléments suivants à votre .nanorc
fichier :
set linenumbers
Vous pouvez utiliser Meta + # pour activer et désactiver les numéros de ligne à partir de Nano.
- Réponses précédentes
- Plus de réponses