限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。ターミナルqiita.comこの記事に触発されて、ついでにNodeでコマンドラインツール作ってみたかったので始めてみました。名称はズバリ「JEdit」。今回の記事では、実装していておもしろかったところを取り上げていこうと思います。画面クリアターミナル上での画面クリアには、制御文字という特殊な文字を使います。制御文字というのは、「端末上の文字を削除する」といった、制御を行う文字のことです。"\e[2J\e[1;1H"を使っていますが、これだと端末上に残ってしまい、スクロールすると見えてしまいます。("\x1b[2;1H")以下繰り返すという手法をとりました(触発元の記事では\eをプレフィクスとしていますが、動かなかったので\x1bを使用しています)。制御文字を使用すると、文字色も変更することができます。colorこのように標準出力へ書き込むだけです。この例では背景色を黒、文字色を白に設定してあります。ほかにも設定できる色は様々あります。キー入力を受け取るなんと、ターミナル上でキー入力を受け取ることができます。Vimなどを知っていればおどろくべきことでもありませんが。qiita.comここを参考にしました。今回endイベントは使わなかったので、「process.stdinのイベントを監視する」の項目のコードで受け取りました。始めてみた感想まだ200行ちょっとしか書いていませんが、それでもファイルを読み込み、表示し、hjklで移動でき、必要に応じて画面がスクロールするところまでできました。Vimライクってだけではつまらないので、「縦書きエディタ」にしようと考えています。コードを書き換えるだけなので簡単そうです。21:27Node.jsでVimライクなエディタをつくる関連記事2018-12-17Gravatarを使えばサービスごとにアイコンを設定する必要がなくなるよ!Gravatarというサービスを知っていますか?Gravatarとは、「メ...2018-07-03東北大の情物の奴は黙ってMarkdownでレポート書け東北大学の情物のレポートはWordで書かないといけません。Tips今までに調べたものをまとめてみました。連立方程式を入力する...2018-02-04標準出力に色をつけてカラフルにログ表示するこんなカッコイイことができるようになれます。限界を究めるブログです。までSNSTwitterGitHubHomepageBlog連載リストプライバシーポリシースターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。