Nano - saute à la fin du fichier

37

J'ai de longs fichiers de log. Je peux voir les dernières lignes avec tail -n 50 file.txt, mais parfois je dois éditer ces dernières lignes.

Comment passer directement à la fin d'un fichier lorsque je le visualise nano?

Marko Pacak
la source
4
Essayez vim:-P
Hunter.S.Thompson le
5
@ Hunter.S.Thompson Ceci était destiné aux utilisateurs non-hardcore (lol)
Marko Pacak le
@ Hunter.S.Thompson Cela ne fonctionne pas! Vous utilisez une commande définie par l'utilisateur! Mais maintenant, essayez vimde manière portable G
Volker Siegel
1
@VolkerSiegel Je ne peux pas dire si vous êtes sarcastique, mais ce n'est pas une commande définie par l'utilisateur. C'est un émoticône. Nous avions l'habitude d'utiliser ces choses avant que quelqu'un ne laisse Unicode fumer de l'herbe.
NieDzejkob le
Sarcastique, bien sûr! J'ai essayé votre commande: :pour ouvrir la ligne de commande -, Ppuis, entrez. C'est ce que j'ai eu: "E464: Utilisation ambigu d'une commande définie par l'utilisateur". Bonne chance!
Volker Siegel le

Réponses:

52

Ouvrez le fichier avec nano file.txt.

Maintenant tapez Ctrl+ _puis puis Ctrl+V

Marko Pacak
la source
24
Vous pouvez également faire Ctrl + W, Ctrl + V - en fonction de ce qui est plus confortable pour vos mains :)
psmears le
@psmears cela dépend de la version. La v2.4 a vos raccourcis. La version actuelle v4.0 contient les raccourcis mentionnés par Marko. Très ennuyant.
Mausy5043
@ Mausy5043: Les versions d'au moins 2.4 ont les deux jeux de raccourcis. La version 4.0 semble avoir supprimé Ctrl + W, Ctrl + V, ce qui est ennuyeux; il a bien Ctrl + W, Ctrl + T, Ctrl + Y qui est au moins juste sur les touches de lettre, mais est plus long :-(
psmears
Ces raccourcis ne fonctionnent pas très bien dans Windows / Putty
Eric Grange
22

De nombreux éditeurs acceptent l' option sur la ligne de commande permettant de passer directement à la ligne NNN . Heureusement pour vous, semble aller à la fin si le numéro de ligne indiqué est au-delà de la fin du fichier, vous pouvez donc utiliser quelque chose comme:+NNNnano

nano +999999 file

Cela fonctionne également dans joe, mais pas dans, par exemple, lessni dans VIM, ils se plaignent de ne pas dépasser EOF. (au moins ceux sur mon système. less +G fileet vi +$ filetravaillent dans ceux-ci.)

Bien sûr, quelque chose comme $EDITOR +$(wc -l file) filefonctionnerait probablement dans la plupart des éditeurs, mais c'est un peu ridicule et implique de lire le fichier deux fois.

ilkkachu
la source
Ou alors que nano est déjà ouvert, utilisez <kbd> Alt / <kbd> + <kbd> G </ kbd> puis entrez 99999
Eric Grange
11

À partir de l'aide Nano intégrée ( ^G):

M-\   (^Home)   Go to the first line of the file
M-/   (^End)    Go to the last line of the file

Donc, appuyez sur Alt+ \pour aller à la première ligne ou appuyez sur Alt+ /pour aller à la dernière ligne .

  • Ce serait l'équivalent de gg(début) ou G(fin) dans vim .
  • Cela indique également que Ctrl+ Homeou Ctrl+ Enddevrait fonctionner, maisça n'a jamais fonctionné pour moi ils semblent fonctionner de manière native sur la console / le bureau, mais pas via SSH avec PuTTY.
  • Je me souviens que /c’est près du bas du clavier et \du haut.

Si vous voulez une commande , vous pouvez écrire une fonction dans votre .bashrcou .bash_aliasesutiliser le nombre de lignes à partir de wc:

function nano-end {
    # if the file exists, jump to the end
    # otherwise, just open an empty nano
    [ -f "$1" ] && nano +$(wc -l "$1") || nano
}

Il suffit maintenant de taper nano-end filenamepour ouvrir le fichier à sa dernière ligne!

Ghaberek
la source
3

Ctrl+ Endfonctionne, si vous avez une version récente (compilée) de l' nanoéditeur.

Si vous ne savez pas comment faire, vous pouvez lire l' éditeur Compiling Nano avec des options.

Notez que dans les systèmes plus récents, basés par exemple sur Ubuntu 18.04, il existe déjà une telle version.

Du changelog :

12 avril 2017 - GNU nano 2.8.1

... marques ^ Home et ^ End vont au début et à la fin du fichier (sur les terminaux supportant ces frappes au clavier) ...

Mastic vs Cygwin

Je n'ai pas installé PuTTY, nous devons ici nous appuyer sur d'autres revendications. Ces combinaisons de touches ne fonctionnent pas dans Windows 10 + PuTTY + SSH + nano> 2.8.1.

Par contre, j'ai Cygwin et Windows 10 + Cygwin + SSH + nano> 2.8.1 fonctionne bien.

LinuxSecurityFreak
la source
@ghaberek Voir ma dernière édition pour plus de détails sur une approche alternative avec Cygwin, qui s'est avérée efficace.
LinuxSecurityFreak
2

OP veut que je rajoute une réponse pour sauter à la dernière ligne vim.

ESC+ vous ShiftGmènera au début de la dernière ligne.

ESC+ vous ShiftGAmènera à la fin de la dernière ligne et le mode insertion sera activé.

Hunter.S. Thompson
la source
Si vous voulez faire cela en mode insertion, faites-le C-o G. Ce n'est pas que tu
veuilles
2

Pour aller directement à la fin du fichier dans nano, tapez simplement: Alt+/

Mahmoud Mostafa
la source
Sur certains systèmes, Alt (ou Meta) est basculé avec la touche Echap: - \
Mausy5043