acmeは、写真で猫の興奮の下で、私のために常に開いています。
これはグレンダです
ここでは、メールボックス、IRCチャネル、シェルセッション、ミラーのインタラクティブな辞書、スペルチェック、ファイルディレクトリの内容を確認できます。
この図では、オープンソースファイル.go、オートコンプリートを確認し、関数の定義を検索できます。
物語
acmeエディターは、実験的なUnixのベル研究所のブランチであるPlan9オペレーティングシステムのビジュアルプログラミング環境としてRob Pikeによって作成されました。 これは、同じ著者のSamエディターの相続人です。 両方のエディターが移植されました。有名なユーザーのサムとアクメから
Ken Thompson Unix開発者など
K&RのBrian Kernighan(カーニガンとリッチの「Cプログラミング言語」)
スター・ウォーズのトム・ダフ
Bjarne Stroustrup C ++開発者
K&Rのデニスリッチー
Acmeユニコード開発者Go言語アーキテクトを除くRob Pike
ラスコックスリードデベロッパー、Googleチーム
運営管理
acmeにはホットキーはなく(システムのホットキーを除く)、ドロップダウンメニューもありません。 ここで、私は私が歌うのを見ると言うでしょう。 acmeウィンドウ内のテキストは、実行可能な場合にのみ、マウスの中ボタンでコマンドとして実行できます。この場合、マウスの左ボタンで強調表示された別のウィンドウのフラグメントを入力データにフィードできます。
フラグメントがアドレスとして機能する場合(たとえば、/ directory / file /:line:positionの形式で、コンパイラ、デバッガー、リンター、akk、agなどのgrepクローンで一般的に受け入れられます)、アドレスはマウスの右ボタンで開かれます、たとえば、「http:// ...ブラウザで。
ウィンドウに表示される組み込みコマンドとバッファのアドレスは、ウィンドウ上部のパネルに異なる色で表示されます。 多くの点で、これは合意に過ぎず、パネルに好きなものを自由に記述し、どこにでもコマンドを書くことができます。 すべては単なるテキストです。 そして、すべてファイルだけで、非常にUnixyです。
実際に編集
Edit 0,$ x/^.*Plan9/ g/nice/ { |tr az AZ a/oops }
組み込みの編集コマンドの構文は、ed、sed、awkに似ていますが、違いがあります。 リストされているすべてのユーティリティとgrepは行指向です。 acmeの場合、文字列は重要な単位ではありません。 acme 100%UTF8、与えられた例
0、$は最初から最後の位置までテキストを解析します
x /は、テキストをフラグメントに分割して、それぞれが
^は行の先頭から始まります
*その後、何回でも何が起こったか
Plan9はPlan9で終了します
/ g /およびifフラグメント
niceはniceを含む
/ {フラグメントでは、ステートメントは並行して実行されます
| tr az AZはシステム拡大鏡trを通過します
/ oops add oops
}
そして、 Putファイルを保存した後のUndoを含む、任意の距離のUndoを使用して、視覚モードで40Mbの前述のMiller辞書でこの種の操作を行いました。 SublimeTextが約5分間この辞書を開いてくれただけで、利用可能なメモリをすべて食べて、深く考えました。
リモートアクセス
できること:
- 9Pサーバーが提供するファイル構造(sources.cs.bell-labs.comなど)をアドレス空間にインポートし、必要に応じてファイル構造にマウントします
- 9p CPUサーバーのインポート
- リモートnixサーバーでacmeサーバー部分を実行し、ローカルマシンでクライアント部分を実行します
- 通常のssh、scp、sftp、sshfsリモートリソースまたはサービス
すべてのシナリオで、acmeウィンドウは見た目と動作が均一になりますが、もちろん少し遅くなります。
延長
acmeは、テキストを生成または消費するすべてのコンソールとして機能します。 acmeウィンドウのソフトウェア制御は、9Pプロトコルを使用して、各ウィンドウのacmeによって提供される制御ファイルを変更することにより実行できます。 9Pクライアントはacmeウィンドウを管理できます。 プロトコルの実装は、Bashを含む多くの言語に存在します。 Goを使用します。資源
製品著者のPDF記事Rob Pike。譲受人のビデオラスコックスのプレゼンテーション。
ファンクラブ
nixシステムの入手先
窓用
PS Goハブの投稿は、言語アーキテクトがPlan9の作成者であるためです。 パーセント言語のコンパイラコードとランタイムのベースは、Plan9リポジトリから70〜80パーセントです(net / httpスタックを除き、本質的にlibcにも依存しません)。これは、アイデアと概念に関して同じです。 アクメ環境で囲toolsツール開発ツールを使用できるのはうれしいことです。それらは同じ著者によって同じ伝統で設計されています。 acmeとPlan9は一般に、「Goがジェネリックをアタッチして、JVMを追い越さない理由」を克服する場合の単純で明快なアプローチの一貫性のインスピレーションを与える証拠です。 また、Goには9Pプロトコルの最も完全な実装があります。