Nano: saltar al final del archivo

37

Tengo algunos archivos de registro largos. Puedo ver las últimas líneas con tail -n 50 file.txt, pero a veces necesito editar esas últimas líneas.

¿Cómo salto directamente al final de un archivo cuando lo visualizo nano?

Marko Pacak
fuente
44
Pruebe vim:-P
Hunter.S.Thompson
55
@ Hunter.S.Thompson Esto estaba destinado a usuarios no hardcore (risas)
Marko Pacak
@ Hunter.S.Thompson ¡Eso no funciona! ¡Está utilizando un comando definido por el usuario! Pero ahora pruébelo vimde forma portátil G
Volker Siegel
1
@VolkerSiegel No puedo decir si estás siendo sarcástico, pero no es un comando definido por el usuario. Es un emoticon. Solíamos usar estas cosas antes de que alguien dejara que Unicode fumase hierba.
NieDzejkob
Sarcástico, por supuesto! Intenté su comando: :abrir la línea de comando, que -, Py entrar. Eso es lo que obtuve: "E464: uso ambiguo del comando definido por el usuario". ¡Todo lo mejor!
Volker Siegel

Respuestas:

52

Abre el archivo con nano file.txt.

Ahora escriba Ctrl+ _y luego Ctrl+V

Marko Pacak
fuente
24
También puedes hacer Ctrl + W, Ctrl + V - dependiendo de lo que sea más cómodo para tus manos :)
psmears
@psmears que depende de la versión. v2.4 tiene sus accesos directos. La versión actual v4.0 tiene los atajos que menciona Marko. Muy molesto.
Mausy5043
@ Mausy5043: las versiones de hasta al menos 2.4 tienen ambos conjuntos de accesos directos. La versión 4.0 parece haber eliminado Ctrl + W, Ctrl + V, lo cual es molesto; tiene Ctrl + W, Ctrl + T, Ctrl + Y, que es al menos solo en las teclas de letras, pero es más largo :-(
psmears
Esos atajos no funcionan muy bien en Windows / Putty
Eric Grange
22

Muchos editores admiten la opción en la línea de comando para saltar directamente a la línea NNN . Afortunadamente para usted, parece saltar al final si el número de línea dado pasa el final del archivo, por lo que podría usar algo como:+NNNnano

nano +999999 file

Eso también funciona en joe, pero no en, por ejemplo, lesso VIM, se quejan de pasar EOF. (al menos los que están en mi sistema less +G filey vi +$ filefuncionan en ellos)

Por supuesto, algo así $EDITOR +$(wc -l file) fileprobablemente funcionaría en la mayoría de los editores, pero eso es un poco tonto e implica leer el archivo dos veces.

ilkkachu
fuente
O con nano ya abierto, use <kbd> Alt / <kbd> + <kbd> G </kbd> y luego ingrese 99999
Eric Grange
11

De la ayuda incorporada de Nano ( ^G):

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

Entonces, presione Alt+ \para ir a la primera línea o presione Alt+ /para ir a la última línea .

  • Esto sería el equivalente de gg(inicio) o G(fin) en vim .
  • Esto también establece que Ctrl+ Homeo Ctrl+ Enddeberían funcionar, peroeso nunca me funcionó parecen funcionar de forma nativa en la consola / escritorio, pero no a través de SSH usando PuTTY.
  • La forma en que recuerdo esto es que /está cerca de la parte inferior del teclado y \está cerca de la parte superior.

Si desea un comando , puede escribir una función en su .bashrco .bash_aliasesusar el recuento de líneas 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
}

¡Ahora solo escribe nano-end filenamepara abrir el archivo en su última línea!

ghaberek
fuente
3

Ctrl+ Endfunciona, si tiene una versión reciente (compilada) del nanoeditor.

Si no sabe cómo hacerlo, puede leer Compilador Nano editor con opciones

Tenga en cuenta que en los sistemas más nuevos, por ejemplo, basados ​​en Ubuntu 18.04, ya existe dicha versión.

Desde el registro de cambios :

2017 12 de abril - GNU nano 2.8.1

... hace que ^ Inicio y ^ Fin va al inicio y al final del archivo (en terminales que admiten esas pulsaciones de teclas) ...

PuTTY vs Cygwin

No tengo instalado PuTTY, aquí tenemos que confiar en otras afirmaciones, estas combinaciones de teclas no funcionan en Windows 10 + PuTTY + SSH + nano> 2.8.1.

Por otro lado, tengo Cygwin, y Windows 10 + Cygwin + SSH + nano> 2.8.1 funciona bien.

LinuxSecurityFreak
fuente
@ghaberek Vea mi última edición para obtener detalles sobre un enfoque alternativo con Cygwin, que demostró funcionar.
LinuxSecurityFreak
2

OP quiere que agregue una respuesta para saltar a la última línea vim.

ESC+ ShiftGte llevará al comienzo de la última línea.

ESC+ lo ShiftGAllevará al final de la última línea y se activará el modo de inserción.

Hunter.S.Thompson
fuente
Si desea hacer esto en modo de inserción, hágalo C-o G. No es que quieras hacer eso si estuvieras usando vim bien ...
NieDzejkob
2

Para ir directamente al final del archivo en nano, simplemente escriba: Alt+/

Mahmoud Mostafa
fuente
En algunos sistemas, Alt (o Meta) se alterna con la tecla Esc: - \
Mausy5043