1

Nodeとvimは初めてです。

次のコード ファイル server.js を vim で開いています。

var http = require("http");

function onRequest(request, response) {
    console.log("Request received");
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.write("Hello World");
    response.end();
}

http.createServer(onRequest).listen(8888);

console.log("Server has started");

vim「コマンド」モードに入り、次のように入力します。

:!node server.js

物事は期待どおりに機能します(私は思う)。ウィンドウが標準のターミナル ウィンドウに変わり、ブラウザを開いてポート 8888 で localhost に移動すると、愚かな "Hello World" テキストが表示されます。

ターミナルには、「サーバーが開始されました」というテキストと、要求が受信されたという出力が表示されます。すべては順調です。

ブラウザー ウィンドウを閉じてCtrl-z toノード サーバーを停止すると入力すると、ターミナルには が表示されます[1}+ stopped vim server.jsが、vim のコード ファイルには戻りません。

と入力してvimに戻るとvim、vimは同じディレクトリに開きますが、ファイルは開いていません。ファイルを開こうとすると、vim はスワップ ファイルが重複していると文句を言います。もちろん、[R]ecover オプションを使用できますが、手順が不足しているようです。

ここで何が欠けていますか?

私はグーグルでSOを検索しましたが、この質問のタイトルを超えて何を求めているのかわかりません(探している答えが得られなかった、またはそうであったとしても認識しませんでした)。私はターミナル、vim、または * nix について何かが欠けているかどうかわからないほど新しいだけです。

前もって感謝します 。. .

更新:私は自分が何をしているのかを明確に述べていないことが起こります-端末でサーバーを停止し、vimで開いているファイルに戻りたいと思っています。Tadman が以下で述べているように、追加のエディター インスタンスを開こうとしている可能性が高いことはわかっていました。よくわからなかったのは、既存のインスタンスに戻す方法です。タッドマンの提案を今試しています。

4

1 に答える 1

3

実行するサブシェルを作成し、それnodeを一時停止して、次のステップを実行するときに^Zの新しいコピーを開きます。vim2 つのエディターが実行されているため、スワップ ファイルに関するエラーが発生します。

別のシェルでこれを行うのはなぜですか? ほとんどの人が行う傾向があることですが^C、サーバーを停止してエディターに戻るために使用することもできます。

于 2013-11-15T04:12:15.987 に答える