Это ed
По умолчанию его подсказка является пустой строкой. Если вы хотите выйти, просто введите q
. Не префикс с :
. Если у вас есть несохраненные изменения, он ответит с ?
. Вы можете интерпретировать это как «Вы уверены?», И подтвердить, q
снова командуя . Кстати, любая команда, которую она не понимает, также вызовет ответ ?
. Это единственное сообщение об ошибке, которое он знает.
Его команда , что ВЬЕТ / VI / ех / СЕПГ основан на, так команды типа g/re/p
, %s/vi/&m/g
, 1,3d
, /pattern/,$d
, w
, q
, wq
работает так же , как Vim.
Команды, как i
, a
и c
перейти в режим вставки. Чтобы выйти из режима вставки и вернуться в командный режим, просто введите строку, которая имеет только a .
. Чтобы «переместиться» на другую строку, просто введите номер строки, смещение от текущей строки, например +2
или -1
, или регулярное выражение в качестве команды для перехода на эту строку. .
означает текущую строку в командном режиме. Вы можете использовать это, чтобы знать, где вы находитесь. $
означает последнюю строку.
Кстати, если вы хотите узнать больше об этом, поскольку это программа GNU в Linux, большая часть ее документации находится info ed
вместо man 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
РЕДАКТИРОВАТЬ: Как упоминание Гравитация, более полезные сообщения об ошибках могут быть активированы с помощью h
или H
. Кроме того, ,
вместо того, %
чтобы указывать в диапазоне часть команды, это официальный способ ссылки на «все строки» в ed
. В GNU ed
возможность использования %
для этого поддерживается, но не упоминается в info
руководстве. Использование %
для всех строк было очевидно изобретено, по- ex
видимому, потому что, там, ,
средства, .,.
а не 1,$
как в ed
.
РЕДАКТИРОВАТЬ 2: Установка другого редактора
Как и в других упомянутых ответах, если вы хотите указать другой редактор, вы можете сделать это, установив переменные EDITOR
или VISUAL
переменные окружения. Разница между ними объясняется в этом ответе .
Вы можете сделать это следующим образом, если хотите установить его для одной команды:
EDITOR=vi crontab -e
или так, если вы хотите, чтобы все программы, запущенные в сеансе оболочки, использовали его:
export EDITOR=vi
crontab -e
Вы можете сохранить export
в ~/.profile
или /etc/profile
, в зависимости от того, хотите ли вы, чтобы это был пользовательский или системный параметр для bash, соответственно. Это переносимый способ установки редактора в Unix; Вы можете сделать это в любом дистрибутиве.
В Ubuntu также есть update-alternatives
команда. Текущий редактор по умолчанию можно увидеть с помощью update-alternatives --display editor
, и вы можете использовать, update-alternatives --config editor
чтобы установить его:
$ 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
: по умолчанию он дает количество символов (которое в системах на основе Debian обычно888
является первым, это количество символов в шаблоне «пустой» crontab). Если вы видите счет 0, вы, должно быть, изменили это. См., Что команда Crontab -e не работает должным образом