それは ed
デフォルトでは、プロンプトは空の文字列です。終了する場合は、単に入力しq
ます。プレフィックスを付けないでください:
。変更を保存していない場合は、で返信し?
ます。これを「本当によろしいですか?」と解釈し、q
再度コマンドを実行して確認できます。ちなみに、それが理解できないコマンドは、応答を引き起こし?
ます。それが知っている唯一のエラーメッセージです。
そのコマンドが何であるかのvim / VI / EX / SED、に基づいているコマンドは好きなのでg/re/p
、%s/vi/&m/g
、1,3d
、/pattern/,$d
、w
、q
、wq
ちょうどvimのような作品。
以下のようなコマンドi
、a
およびは、c
挿入モードに入ります。挿入モードを終了してコマンドモードに戻るには、のみの行を入力し.
ます。別の行に「移動」するには、行番号、+2
またはなどの現在の行からのオフセット-1
、またはその行に移動するコマンドとして正規表現を入力します。.
コマンドモードの現在の行を意味します。どこにいるかを知るために使用できます。$
最後の行を意味します。
ちなみに、LinuxのGNUプログラムであるこれについてもっと知りたい場合は、ドキュメントのほとんどがのinfo ed
代わりにありman ed
ます。
次に、コメントを追加したセッションの例を示します(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
編集:grawityの言及と同様に、より有用なエラーメッセージはh
またはでアクティブにできますH
。また、コマンドの範囲部分では,
なく、の%
「すべての行」を参照する公式の方法ed
です。GNU ed
では、%
これに使用する可能性がサポートされていinfo
ますが、マニュアルには記載されていません。使用の%
すべての行については明らかで発明されたex
、一見ので、そこに、,
手段.,.
ではなく、1,$
のようにed
。
EDIT2:別のエディターの設定
前述の他の回答と同様に、別のエディターを指定する場合はEDITOR
、VISUAL
環境変数または環境変数を設定することで指定できます。この2つの違いはこの答えで説明されます。
単一のコマンドに設定する場合は、次のようにします。
EDITOR=vi crontab -e
または、シェルセッションで起動されたすべてのプログラムで使用する場合は、次のようにします。
export EDITOR=vi
crontab -e
export
in ~/.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コマンドが正常に動作していない