C'est ed
Par défaut, son invite est la chaîne vide. Si vous voulez quitter, entrez simplement q
. Ne préfixez pas avec :
. Si vous avez des modifications non enregistrées, il vous répondra avec ?
. Vous pouvez interpréter cela comme "êtes-vous sûr?", Et confirmez en commandant à q
nouveau. En passant, toute commande qu’elle ne comprend pas entraînera également une réponse ?
. C'est le seul message d'erreur qu'il connaisse.
Ses commandes sont ce que vim / vi / ex / sed est basé sur, si commandes telles que g/re/p
, %s/vi/&m/g
, 1,3d
, /pattern/,$d
, w
, q
, wq
travail comme vim.
Les commandes comme i
, a
et c
passent en mode insertion. Pour quitter le mode insertion et revenir au mode commande, entrez simplement une ligne qui ne contient qu'un .
. Pour "passer" à une autre ligne, entrez simplement le numéro de la ligne, un décalage par rapport à la ligne actuelle +2
ou -1
, ou une expression rationnelle en tant que commande pour accéder à cette ligne. .
signifie la ligne en cours en mode commande. Vous pouvez l'utiliser pour savoir où vous en êtes. $
signifie dernière ligne.
Soit dit en passant, si vous voulez en savoir plus sur ce programme, il s’agit d’un programme GNU sous Linux, la plupart de sa documentation est au info ed
lieu de man ed
.
Voici un exemple de session, avec des commentaires ajoutés (non acceptés par 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
EDIT: Comme le mentionne grawity, des messages d’erreur plus utiles peuvent être activés avec h
ou H
. De plus, ,
plutôt que %
dans la partie portée d’un commandement, c’est la manière officielle de se référer à "toutes les lignes" dans ed
. Dans GNU ed
, la possibilité de l'utiliser %
pour cela est supportée mais n'est pas mentionnée dans le info
manuel. L’utilisation de %
pour toutes les lignes a apparemment été inventée par ex
, apparemment parce que, là, ,
signifie .,.
plutôt que 1,$
comme dans ed
.
EDIT2: Définition d'un éditeur différent
Comme pour les autres réponses mentionnées, si vous souhaitez spécifier un autre éditeur, vous pouvez le faire en définissant les variables d’environnement EDITOR
ou VISUAL
. La différence entre les deux est expliquée dans cette réponse .
Vous pouvez le faire comme ceci si vous voulez le définir pour une seule commande:
EDITOR=vi crontab -e
ou comme ceci si vous voulez que tous les programmes lancés dans la session shell l'utilisent:
export EDITOR=vi
crontab -e
Vous pouvez enregistrer le export
dans ~/.profile
ou /etc/profile
, selon si vous voulez qu'il soit un paramètre utilisateur ou d'un système pour bash, respectivement. C'est la manière unix portable de définir l'éditeur. vous pouvez le faire dans n'importe quelle distribution.
Dans Ubuntu, il y a aussi la update-alternatives
commande. L'éditeur par défaut actuel peut être vu avec update-alternatives --display editor
, et vous pouvez l'utiliser update-alternatives --config editor
pour le définir:
$ 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
: par défaut, il donne un nombre de caractères (ce qui dans les systèmes basés sur Debian est généralement888
la première fois, c'est-à-dire le nombre de caractères du modèle "vide" de la crontab). Si vous voyez un nombre de 0, vous devez avoir modifié cela. Voir la commande Crontab -e ne fonctionnant pas correctement