cursesでvi風移動してみる。
端末制御ライブラリ、cursesを使ってみた。すげー簡単。
とりあえずvi風移動をしてみる。
#include <curses.h> int main(void) { int x = 0; int y = 0; int c; initscr(); // ウィンドウの初期化 noecho(); // キーボードのエコーをしない for (;;) { // 終わり方がわからん(汗) c = getch(); // getcharみたいな switch (c) { case 'h' : x--; break; case 'j' : y++; break; case 'k' : y--; break; case 'l' : x++; break; } move(10, 20); // デバッグ用 printw("(%d, %d)", x, y); // x,y座標だと違和感アリ move(y, x); // 行、列 refresh(); // 描画 } return 0; }
で、makeはこんな感じ。
ncuses1 : cuses1.c gcc -lcurses -o $@ $<
普段gvimを使ってるので、konsoleでデバッグしたい。
test : ncuses1 konsole -e $(PWD)/$<
で、使ってみた。
- 画面外の処理はしてないのでちょっとおかしい。
- xy座標だとわかりにくかった。行、列で使うべし。
- nじゃないので、日本語は扱えない。
- 日本語対応でなければ案外簡単にエディタが作れるかもしれない。スバラシイ!
楽しすぎ。