Eso es ed
Por defecto, su mensaje es la cadena vacía. Si desea dejar de fumar, simplemente ingrese q
. No prefijas con :
. Si tiene cambios sin guardar, responderá con ?
. Puede interpretar eso como "¿está seguro?" Y confirmar al ordenar q
nuevamente. Por cierto, cualquier comando que no entienda también hará que responda ?
. Ese es el único mensaje de error que conoce.
Sus comandos son lo que vim / vi / ex / SED se basa en, por lo que los comandos como g/re/p
, %s/vi/&m/g
, 1,3d
, /pattern/,$d
, w
, q
, wq
funcionan igual que vim.
Los comandos como i
, a
y c
entran en modo de inserción. Para abandonar el modo de inserción y volver al modo de comando, introduzca una línea que tiene sólo una .
. Para "moverse" a otra línea, simplemente ingrese el número de línea, un desplazamiento de la línea actual como +2
o -1
, o una expresión regular como un comando para ir a esa línea. .
significa línea actual en modo comando. Puedes usarlo para saber dónde estás. $
significa última línea.
Por cierto, si desea obtener más información al respecto, al tratarse de un programa GNU en Linux, la mayor parte de su documentación se encuentra en info ed
lugar de man ed
.
Aquí hay una sesión de ejemplo, con comentarios agregados (no aceptados por ed):
$ ed
i # insert (on current line)
vi
. # end insert
%s/vi/&m/g # substitute vi for vim globally in all lines
i # insert (on current line)
first line
. # end insert
$a # append on last line
last line
. # end insert
%p # print all lines
first line
vim
last line
2 # move to line 2 and print it
vim
/line # move forward to line matching /line/ and print it
last line
-1 # move 1 line backwards and print it
vim
?line # move backward to line matching /line/ and print it
first line
+1 # move 1 line forward and print it
vim
g/line/p # print lines matching /line/ (grep)
first line
last line
p # print (current line)
last line
. # move to current line and print it
last line
c # change (current line)
final line
. # end insert
%p # print all lines
first line
vim
final line
/vim/,$c # change from line matching /vim/ to last line
that's all
. # end insert
%p # print all lines
first line
that's all
wq # write and quit
? # write what?
h # help with last error message
No current filename
wq # write and quit to check error message
?
H # help with all error messages
No current filename
wq # write and quit to check error message
?
No current filename
wq file.txt # write file.txt and quit
22 # wrote 22 bytes
EDITAR: como menciona Grawity, se pueden activar mensajes de error más útiles con h
o H
. Además, en ,
lugar de %
en el rango, la parte de un comando es la forma oficial de referirse a "todas las líneas" en ed
. En GNU ed
, la posibilidad de usar %
para esto es compatible pero no se menciona en el info
manual. El uso de %
para todas las líneas aparentemente fue inventado por ex
, aparentemente porque, allí, ,
significa .,.
más que 1,$
como en ed
.
EDIT2: configuración de un editor diferente
Al igual que otras respuestas mencionan, si desea especificar un editor diferente, puede hacerlo mediante el establecimiento de las EDITOR
o VISUAL
variables de entorno. La diferencia entre los dos se explica en esta respuesta .
Puede hacerlo así si desea configurarlo para un solo comando:
EDITOR=vi crontab -e
o de esta manera si desea que todos los programas iniciados en la sesión de shell lo usen:
export EDITOR=vi
crontab -e
Puede guardar el export
en ~/.profile
o /etc/profile
, dependiendo de si usted quiere que sea un ajuste de usuario o sistema para bash, respectivamente. Esa es la forma portátil de Unix de configurar el editor; Puedes hacer esto en cualquier distribución.
En Ubuntu, también existe el update-alternatives
comando. El editor predeterminado actual se puede ver con update-alternatives --display editor
, y puede usar update-alternatives --config editor
para configurarlo:
$ sudo update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path Priority Status
------------------------------------------------------------
* 0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
3 /usr/bin/vim.basic 30 manual mode
4 /usr/bin/vim.tiny 10 manual mode
Press enter to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in manual mode.
ed
: de forma predeterminada, proporciona un recuento de caracteres (que en los sistemas basados en Debian suele ser888
la primera vez, es el número de caracteres en la plantilla crontab "vacía"). Si está viendo un recuento de 0, debe haber modificado eso. Ver comando crontab -e no funciona correctamente