Ось так 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
.
EDIT2: Налаштування іншого редактора
Як і інші згадані відповіді, якщо ви хочете вказати інший редактор, ви можете зробити це, встановивши змінні середовища 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
: за замовчуванням він дає кількість символів (що, як правило,888
в системах на базі Debian, як правило, перший раз, оскільки це кількість символів у шаблоні "порожній" кронтаб). Якщо ви бачите кількість 0, ви повинні змінити це. Дивіться команду Crontab -e не працює належним чином