5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

エディタ作ったよ!見てみて!

1 :エディタ作ってる人:01/12/14 01:43
http://www.geocities.co.jp/SiliconValley-Cupertino/3751/grapad03.tgz
コンソール上で動く、GRAPADという名前のエディタをつくっています。
僕自身初心者なので(UNIX歴半年)、まだまだ未熟ですが、これからもっと
いろいろな機能を付けていきたいと思っています。
cursesを使って、メニューやダイアログボックスも使えますから、難しい設定はいりません。

以下の環境でコンパイルと実行を確認しました。
VineLinux2.1.5のGnomeターミナル
VineLinux2.1.5のコンソール
RedHatLinux7.1のGnomeターミナル
FreeBSD(98)4.3のコンソール(ダイアログの枠線が化けます)

2 :エディタ作ってる人:01/12/14 01:46
コンパイルと実行の方法は、
#tar -zxvf grapad03.tgz で展開して、
#cd grapad03 でディレクトリに入って、
#make とやると、実行ファイルができます。
#./grapad で実行できます。

3 :名無しさん@お腹いっぱい。:01/12/14 01:53
ソースを参考にしようと思ったんだけど、
C++をC風に書くなよダセェ

よって、viできまり。こいつはゴミ。

4 :エディタ作ってる人:01/12/14 01:57
>>3
それで、動かしてみてくれましたか?
ちゃんとコンパイルできますか?

5 :名無しさん@お腹いっぱい。:01/12/14 02:05
批判するだけなら猿でも出来る。

とりあえずKondara 2.1 Beta2でコンパイルが通ることを確認。
Tera Termから起動したら「白黒端末では使えません。」
と言われたので試してない。

6 :名無しさん@お腹いっぱい。:01/12/14 02:12
>>5
curses が $TERM を見てんのかな?

7 :エディタ作ってる人:01/12/14 02:14
>>5
ありがとうございます!!
基本的にカラーで表示する事を前提にしているので、
白黒だと起動できません。

強調表示とか検索とか、あとショートカットキーとか、
とりあえず書いただけで使えない機能がまだあるので、
その辺は文句言わないでください。
とりあえず今は検索機能を作るため、BM法とKMP法という
アルゴリズムを勉強しています。

8 :gchar ネムー:01/12/14 02:14
ktermでちゃんと動いたよ。

gnome-terminal では動かなかったです。当方turbo
readmeでは動くらしいんだけど、

がんばれー

9 :3:01/12/14 02:14
>>5
いや、フィードバックもしようと思って今Makefileを
マクロ使って書き直してたんだけど、なんかエラーになるからやめた(笑)。

FreeBSD 4-STABLE, コンパイル通ってkterm上でさらにscreenの上で動いたよ。
F2押してもキーコードが入るだけだったけど。Alt+F2か?

10 :エディタ作ってる人:01/12/14 02:19
えーとですね、ktermでも動くんですけど、ファンクションキーがだめなんですよ。
本当はメニューはalt+何かで選べるようにしたいんですけど、
altキーの入力を知る方法がわからないんです。

11 :名無しさん@お腹いっぱい。:01/12/14 02:39
FreeBSD(98)4.3でコンパイル通ったしbetermで動いたよ。
枠がおかしいのかどうかは確認してないけど。
ただbeterm自体が日本語通らないからメニューに何が書いてあるやらさっぱり。
勘で終了させた。英字表記が理解しづらいよ。sageが何かまだ分からない。

12 :名無しさん@お腹いっぱい。:01/12/14 02:43
Vine-2.1 LinuxPPCでコンパイルしました。
コンパイルはうまくいったと思います。実行ファイルは出来てるので(何せ初心
者なもので良く分からない)。
でも
./grapadをすると

zsh: segmentation fault ./grapad

でうまく行きません。grapadを実行後lsコマンドを実行すると表示が滅茶苦茶に
なります。

kterm、xterm、gnome-terminalで駄目でした。

うーん。何がいけないんだろう。

『初心者にはお勧めできない』

ですかね・・・シュン・・・

13 :1:01/12/14 02:46
segmentation faultはこちらのバグです。
メモリの変な領域にアクセスすると出るようです。
本当は僕も含めて、初心者が使いやすいように作ったんですがね…

14 :1:01/12/14 02:49
あと、メニューのageとかsageとかは気にしないで下さいw
ショートカットキーの表示をしてあるのですが、まだその機能が無いので
適当に書いてあるだけです。

15 :奈々さん:01/12/14 03:01
記念きねん
がんばってvi,emacs越えてな。

16 :名無しさん@お腹いっぱい。:01/12/14 03:04
ktermの問題は
termcap (この場合は terminfoか) が知っているファンクションキーの
シーケンスと実際のシーケンスが違うせいだと思う。
cat とかやって、ファンクションキーを押して生のシーケンス見てみ。
infocmp kterm とやって出てくる値と違うだろ。

解決方法はしらないけど、
terminfo を書き換えるってのが妥当じゃないかね。

それと、ktermではXresourcesにこれを追加しとけ:
KTerm*VT100*EightBitInput: false
これで Alt+ほげ が ESC + ほげ のシーケンスで送られるようになる。

17 :12:01/12/14 03:12
>>1みたいな人はなんか応援したくなる。

頑張ってくださいね。

18 :名無しさん@お腹いっぱい。:01/12/14 04:04
Debain GNU/Linux 3.0 でコンパイルできました。
Eterm + screen 上での動作も確認しました。
ただ、いったん F2 でメニューを開いたときに、抜けよ
うとしてやみくもに ESC を押したら segmentation fault
でオチてしまいました。
原因は editor.cpp:277 の
else if (n->next->c[0]==EOF)
の部分で n->next == NULL であるためのようです。
ちょっと時間がないので前後を読んでいる暇がありません。
すいません。

あとこれはお願いなのですが、makefile 内で gcc とハード
コーディングするのではなく、
CXX=gcc
としておき、
$(CXX)
で参照するようにしていただけるとうれしいです。

19 :名有りさん@お腹へった ◆fSunOs.U :01/12/14 04:28
Solaris8 IA+gcc3.0でやってみた まずmakefileの"gcc"となってる
ところは"g++"にしとかないとリンクで失敗するので(゚д゚)マズー
で 起動すると いきなりSIGSEGV......バックトレースは

#0 0xdfa9999e in wmove () from /usr/lib/libcurses.so.1
#1 0x804a37f in _ZN7CEditor7RepaintEv (this=0x8047990) at editor.cpp:336
#2 0x8049952 in _ZN7CEditor5StartEv (this=0x8047990) at editor.cpp:132
#3 0x8049177 in main (argc=1, argv=0x8047b5c) at grapad.cpp:50

そこでとりあえず
----------------------------------------------------------------------
--- editor.cpp~ Fri Dec 14 01:11:09 2001
+++ editor.cpp Fri Dec 14 03:52:14 2001
@@ -333,11 +333,13 @@
    }

    //デバッグ用
+    if (sttwnd) {
    wmove(sttwnd,0,0);
    wattron(sttwnd,COLOR_PAIR(COLOR_MENU));
    wprintw(sttwnd,"X%d Y%d MX%d Key%X Scrl%d current:%c(%X)", curx, cury ,curmx,
        imkey,scroll, buf.GetCurrent()->c[0], (unsigned char)buf.GetCurrent()->c[0] );
    wrefresh(sttwnd);
+    }

    //画面更新
    if(showliner)liner.Repaint(scroll);
----------------------------------------------------------------------
ってな感じでやり直したら 最初の表示は出てきたけど 文字入力してない状態で
下向きカーソルキーを押したらまたSIGSEGV......(>>18と同じところか)

#0 0x804a0f2 in _ZN7CEditor7RepaintEv (this=0x8047990) at editor.cpp:277
277               else if( n->next->c[0]==EOF ){
#1 0x8049ce7 in _ZN7CEditor5StartEv (this=0x8047990) at editor.cpp:209
#2 0x8049177 in main (argc=1, argv=0x8047b5c) at grapad.cpp:50

一応文字入力等はできて "./grapad readme.txt"とやるとreadme.txtを
オープンできるけど スクロールさせると日本語が文字化けする

......とりあえず頑張って......

20 :名無しさん@お腹いっぱい。:01/12/14 06:29
>>16
Alt+ほげ って本当は [0x80-0x9F] (C1 control code) で、
8bit 通らない場合は [ESC] [0x00-0x20] だったような。

最近は違うのかな。
まぁ多くの実装は ESC XX なんだけど。

21 :名無しさん@お腹いっぱい。:01/12/14 07:17
ttp://www.factory.gr.jp/~ishigaki/old_diary/199905.html

を参考に以下のように書き換えて
FreeBSD 4.4 + Tera Term Pro で (゚д゚)ウマー

# op が2つ以上あるとか変なのはURLのページにあったままです
# AX,GO って何の capability でせうか?

teraterm|TeraTerm|TeraTermPro console:\
:pa#64:Co#8:AF=\E[3%dm:AB=\E[4%dm:op=\E[x:\
:AF=\E[3%dm:AB=\E[4%dm:op=\E[m:\
:AX:G0:\
:eA=\E(B\E)0:as=^N:ae=^O:\
:kb=^H:kN=\E[6~:kP=\E[3~:kh=\E[[2~:@7=\E[[5~:\
:tc=vt200:

確認ですが、>>1 は home(kh), end(@7) はサポートしてないですよね?

22 :21:01/12/14 07:25
本題と外れるんで sage ですが……

FreeBSD っていつになったらまともな termcap になるんだろ。
NetBSD とかが使ってる http://www.tuxedo.org/~esr/terminfo/
あたりの使えばすむと思うんだけどなぁ… esr 嫌いなのかな?(w

23 :名無しさん@お腹いっぱい。:01/12/14 07:43
FreeBSDのeeみたいな感じだね〜

24 :名無しさん@お腹いっぱい。:01/12/14 08:12
「秀丸 for Unix ほしい」って声がけっこうあるから、
そういうの目指したら?

25 :名無しさん@お腹いっぱい。:01/12/14 08:39
>>20
kterm上からximで日本語入力すると C1 control code は
日本語文字になっちゃうのよ。

日本語入力しないなら (emacsみたく自前でIM持つとか) 別にいいんだけど
たぶん>>1の様子だとそうじゃなさそう

26 :おはよごす:01/12/14 08:55
テスト環境 : TeraTermからVine1.1へログインして使用

Makefile
(1)g++に変更しないとコンパイルできなかったよ
(2)common.oのルールがないよ

grapad
(1)F2が効かないので保存できない...
(2)メニューを英語にしてくれたらうれしい(普段SJIS環境にしてるもんで)

27 :名無しさん@お腹いっぱい。:01/12/14 10:16
>>20
> Alt+ほげ って本当は [0x80-0x9F] (C1 control code) で、
> 8bit 通らない場合は [ESC] [0x00-0x20] だったような。

Control+ とごっちゃになってますな。

本来は Alt+ほげ は 7bit char の 8bit 目を立てたコードを生成し、
Control+ほげ は -0x20 したコードを生成します。

端末環境によっては 8bit 目が通らないケースが多いので、
そういう場合はエスケープしたシーケンス(ESC が使われることが多い)を
生成しますが、実装依存ですし、端末の設定で変更す可能なことも多いです。

X 上のアプリケーションではそういう制約はないのですが、
端末エミュレータなどは得られたキーコードを文字コードもしくは
文字シーケンスにマッピングするのでその過程で同様の縛りが発生します。

例えば以下のように入力が流れる時、各過程で変換が発生します。
この変換は特殊な文字をエスケープするような変換ではなくて、
全ての文字を別の写像にマッピングするような変換だと思っておいた方が
いいでしょう。

キーボード→X→端末エミュレータ→curses→エディタ

ちなみにファンクションキーを適当な文字シーケンスとして表現するのは
端末エミュレータの担当。その文字シーケンスを解釈するのは curses の担当に
なります。

28 :名無しさん:01/12/14 11:00
手軽にthread処理の出来るマクロ言語を搭載してクレー。

しかし、これから エディタに言語載せるとしたら、なにのせる?
guile あたり使っとく?

29 :名無しさん@お腹いっぱい。:01/12/14 11:34
Solaris7 SPARC + gcc + kterm でコンパイルしてみたんですが、
まず makefile がちとまずいような気がする。

begin 644 makefile
M4DT@("`@(#T@<FT@+68*14-(3R`@(#T@96-H;PI#0R`@("`@/2!G8V,*0T9,
M04=3(#T@+4\*3$9,04=3(#T@+6QN8W5R<V5S"@IA;&PZ(&=R87!A9`IG<F%P
M860@.B!C:&%I;BYO(')E<VES=&]R>2YO(&UE;G4N;R!E9&ET;W(N;R!G<F%P
M860N;R`*"20H0T,I("0H3$9,04=3*2`M;R!G<F%P860@7`H)8VAA:6XN;R!R
M97-I<W1O<GDN;R!M96YU+F\@961I=&]R+F\@9W)A<&%D+F\*8VQE86XZ(`H)
M0"0H4DTI(&-H86EN+F\@<F5S:7-T;W)Y+F\@;65N=2YO(&5D:71O<BYO(&=R
M87!A9"YO(&=R87!A9"`J?@H*+F-P<"YO.@H)0"0H4DTI("1`"@DD*$-#*2`D
M*$-&3$%'4RD@+6,@)"HN8W!P"@IC:&%I;BYO.B!C:&%I;BYC<'`@8VAA:6XN
M:`IR97-I<W1O<GDN;SH@<F5S:7-T;W)Y+F-P<"!R97-I<W1O<GDN:`IM96YU
M+F\Z(&UE;G4N8W!P(&UE;G4N:`IE9&ET;W(N;SH@961I=&]R+F-P<"!E9&ET
9;W(N:`IG<F%P860N;SH@9W)A<&%D+F-P<```
`
end

こんなのはどう?

30 :名無しさん@お腹いっぱい。:01/12/14 12:31
二日前にLINUXのインストールを成功させたばかりの超超初心者ですが
イチユーザーとして応援してます!頑張って下さい>>1
理解できるようになったら是非試させていただきます。

31 :1:01/12/14 12:32
こんにちは。なんかいっぱいレスがついていてうれしいです。
makefileについていろいろ書いてもらっていますが、
まだmakeの使い方がよく分かっていないので、勉強したいと思います。
今までずっとVisualC++を使ってきたのですが、違いに結構戸惑っています。

32 :名有りさん@お腹へった ◆fSunOs.U :01/12/14 12:56
>>29 変数定義にちょっと違和感がないでもないので......

begin 600 makefile.patch
M+2TM(&UA:V5F:6QE?@E&<FD@1&5C(#$T(#$R.C0Y.C,P(#(P,#$**RLK(&UA
M:V5F:6QE"49R:2!$96,@,30@,3(Z-3$Z,3,@,C P,0I 0" M,2PQ.2 K,2PR
M,"! 0 H@4DT@(" @(#T@<FT@+68*($5#2$\@(" ](&5C:&\*($-#(" @(" ]
M(&=C8PHM0T9,04=3(#T@+4\*+4Q&3$%'4R ]("UL;F-U<G-E<PHK0UA8(" @
M(#T@9RLK"BM#6%A&3$%'4R ]("U/"BM,1$9,04=3(#T@+6QC=7)S97,*( H@
M86QL.B!G<F%P860*(&=R87!A9" Z(&-H86EN+F\@<F5S:7-T;W)Y+F\@;65N
M=2YO(&5D:71O<BYO(&=R87!A9"YO( HM"20H0T,I("0H3$9,04=3*2 M;R!G
M<F%P860@7 HK"20H0T,I("0H3$1&3$%'4RD@+6\@9W)A<&%D(%P*( EC:&%I
M;BYO(')E<VES=&]R>2YO(&UE;G4N;R!E9&ET;W(N;R!G<F%P860N;PH@8VQE
M86XZ( H@"4 D*%)-*2!C:&%I;BYO(')E<VES=&]R>2YO(&UE;G4N;R!E9&ET
M;W(N;R!G<F%P860N;R!G<F%P860@*GX*( H@+F-P<"YO.@H@"4 D*%)-*2 D
M0 HM"20H0T,I("0H0T9,04=3*2 M8R D*BYC<' **PDD*$-86"D@)"A#6%A&
M3$%'4RD@+6,@)"HN8W!P"B *(&-H86EN+F\Z(&-H86EN+F-P<"!C:&%I;BYH
I"B!R97-I<W1O<GDN;SH@<F5S:7-T;W)Y+F-P<"!R97-I<W1O<GDN: II

end

33 :名無しさん@お腹いっぱい。:01/12/14 13:04
むしろ automake/autoconf を使い方を覚えた方がいいかも?
あ、でも素の makefile 書式も知らないとダメか...

34 :名無しさん@お腹いっぱい。:01/12/14 13:07
起動してすぐ下にカーソル移動しようとするとセグブります。

35 :34:01/12/14 13:11
Makefile は本読まないと無理だよ。本屋へ GO!

36 :29:01/12/14 13:22
>>32
> >>29 変数定義にちょっと違和感がないでもないので......
確かに... すまんす

37 :名無しさん@お腹いっぱい。:01/12/14 15:07
いまさら、emacs, vim を超えることなど不可能

38 :名無しさん@お腹いっぱい。:01/12/14 15:12
>>37
越えることが不可能なのは同意だが、
だからといって意味がないとは言えない。

emacsやviの変態キーバインド覚えるのが嫌な人のための
CUIエディタとなればいい。

39 :名無しさん@お腹いっぱい。:01/12/14 16:23
道のりは遠そうだけど育っていくのを見てるのは楽しいかも。
でもできるだけ早く最低限の機能を付けてウプするべし。

40 :名無しさん@お腹いっぱい。:01/12/14 18:29
最近>>29>>32みたいなのよくみるんだけど、これなに?

41 :名無しさん@お腹いっぱい。:01/12/14 18:38
最近か?
10年前かた見るけど

42 :名無しさん@お腹いっぱい。:01/12/14 20:31
cygwinで動いたYO.

43 :名無しさん@お腹いっぱい。:01/12/14 21:25
>>40
最近かよ... 君なんで UNIX 板にいるの? (T-T

44 :名無しさん@お腹いっぱい。:01/12/14 21:27
>>40
uudecode で復元できる。

45 :名無しさん:01/12/14 22:24
http://www.adultcross.com/toybox/

46 ::01/12/14 23:56
別にemacsやviを越えようなんて思ってませんよ。
元々「勉強しなくても誰でもすぐ使える」事を目的につくっていますので
余分な機能とかは今のところつけないつもりですし。

今日は1時間ほどやって、検索機能を付けました。
BM法もKMP法も使わない単純比較ですが、もう最近のCPUだと一瞬なんですね。

47 :名無しさん@Emacs:01/12/15 00:29
>>40
ish のほうがいい?

48 :名無しさん@お腹いっぱい。:01/12/15 00:50
Vinelinux2.15(だっけかな?)で一発OKダタヨ

>>42
テラタムで動かないからCygwinのXに飛ばして動かしたよ・・・・先にスレ読んでおくんだったよ

49 ::01/12/15 01:00
GRAPADが完全に動作するのは次の3つを満たす環境です。
・カラーが使える
・ファンクションキーが使える
・日本語が使える

TeraTermの場合白黒端末なので動きません。
無理矢理うごかしてもファンクションキーを受け付けないのでメニューの操作ができません。
キーの入力については今後いろいろ調べてみたいと思うのですが、
とりあえず今は機種依存の解決よりエディタの機能の方を優先して作っています。

50 :名無しさん:01/12/15 01:00
>>46
勉強しなくても使えるけど、裏では強力なことしてるってのがいいなあ。
だからインクリメンタルサーチにしたほうがいいかなーと。

migemo を導入してみない?

51 ::01/12/15 01:01
機種依存というよりOS依存ですね…

52 :名無しさん@お腹いっぱい。:01/12/15 02:14
less + vi + migemo みたいなの希望。
コンソールでサクサク動くやつがいいな。
# まぁ less して v すりゃ vi 立ち上がるし、
# そういうアプローチが UNIX なんだろうけどさ。

53 :名無しさん:01/12/15 02:34
>>52
その条件満すんだったらvi 改造したほうがはやそうね。
C 版の migemo も作られたことだし。

>>1 も migemo 使ってほしいなあ。
正規表現を実装しなきゃいけないから大変かもしれないけど。

54 :名無しさん@お腹いっぱい。:01/12/15 02:56
>>49(>>1)

>>21 を ~/.termcap に書き込んで export TERM=teraterm でok。

55 :名無しさん@Vim%Chalice:01/12/15 04:59
私も c++ で簡単なフリーソフトウェア書き中なのでちょっと見て、
あまりに気持ち悪いので適当に書きかえてた > Makefie

begin 644 Makefile
M(R!M86ME9W)A<&%D(&9O<B!G<F%P860*"B,@QOS+W+CLI,ZELZ7AI?.ER*3/
MQLFD\Z3`I.G!M,GTOL.DMZ3&I,TN"B,@**2]I*:DN:3KI,NDS\[CI*BDT+RA
MI/*\PKG4.@HC(&-P($UA:V5F:6QE($UA:V5F:6QE+F]R9R`F)B!S960@+64@
M)R]>(R]D)R!-86ME9FEL92YO<F<@/B!-86ME9FEL90HC("D*"@HC(*3HI*^[
MR*2FI.*DSJ3/I=ZEKZ7MQ.JUP2X@ON_%Y;SJP\HN(*2_I,"DM[#*LKRDS\6L
MQ?:DRJ3.I,>DHJ3>I.H*(R"_KLW1I+>DRJ2DI.BDIJ3++@IB:6Y?4%)/1U)!
M35,@/2!G<F%P860*"D1%1E,@/0I)3D-,541%4R`]"D-04$9,04=3(#T*(R!C
M*RL@I,ZEO:&\I;FDRJ3.I,<@9RLK(+O(I*8N(&=C8R"DQZ3BLO*\X:2WI,:D
MKZ3LI.NDPZ3=I*2DL:3LI,G)X<3,I,\@3D<*0UA8(#T@9RLK"B,@I.BDK[BK
MI.NEJJ77I;>EYZ7S+B#&PZ3+("U786QL(*3/I,2DL:2_ROVDK*2DI*2D\Z3'
MI,\_"D-86$9,04=3(#T@+5=A;&P@+6<@+4\R"DQ$1DQ!1U,@/2`M;&-U<G-E
M<PI,24)3(#T*"D-/35!)3$4@/2`D*$-86"D@)"A$1493*2`D*$E.0TQ51$53
M*2`D*$-04$9,04=3*2`D*$-&3$%'4RD*0UA83$0@/2`D*$-86"D*3$E.2R`]
M("0H0UA83$0I("0H0T9,04=3*2`D*$Q$1DQ!1U,I("UO("1`"@IG<F%P861?
M1$5014Y$14Y#2453(#T*9W)A<&%D7T]"2D5#5%,@/2`@961I=&]R+F\@8VAA
M:6XN;R!M96YU+F\@<F5S:7-T;W)Y+F\@8V]M;6]N+F\@9W)A<&%D+F\*9W)A
M<&%D7TQ$041$(#T@)"A,1$%$1"D*9W)A<&%D7TQ$1DQ!1U,@/0H*"B,@I+.D
MLZ2KI.FSQJ73I>NER;SJO>?)],JLI,NDQ*2DI,8*"F%L;#H@8G5I;&0*8G5I
M;&0Z(&=R87!A9`H*+F,N;SH*"20H0T]-4$E,12D@+6,@)#P*"B,@I+.DSLGT
MRJRPS<*XM-BWN*3.L-6_WJ2LI.BDKZ3OI*NDZ:2Z+B"BK*3.I,>DI*2DI/.D
MQZ3//PHC961I=&]R7V]?3T)*14-44R`](&-H86EN+F\@;65N=2YO(')E<VES
M=&]R>2YO"B-E9&ET;W)?;U](14%$15)3(#T@;65N=2YH(&QI;F5R+F@@9&EA
M;&]G+F@@<F5S:7-T;W)Y+F@*(PHC961I=&]R+F\@.B!E9&ET;W(N8W!P(&5D
M:71O<BYH("0H961I=&]R7V]?3T)*14-44RD@)"AE9&ET;W)?;U](14%$15)3
M*0HC"20H0T]-4$E,12D@+6,@)#P*"F=R87!A9"YO.B!G<F%P860N8W!P"@DD
M*$-/35!)3$4I("UC("0\"@IG<F%P860Z("0H9W)A<&%D7T]"2D5#5%,I("0H
M9W)A<&%D7T1%4$5.1$5.0TE%4RD*"4!R;2`M9B`D0`H))"A,24Y+*2`D*&=R
M87!A9%],1$9,04=3*2`D*&=R87!A9%]/0DI%0U13*2`D*&=R87!A9%],1$%$
M1"D@)"A,24)3*0H*"F-L96%N.B!M;W-T;'EC;&5A;BUC;VUP:6QE(&-L96%N
M+6)I;E!23T=204U3"FUO<W1L>6-L96%N+6-O;7!I;&4Z"@DM<FT@+68@*BYO
M(&-O<F4@*BYC;W)E"@IC;&5A;BUB:6Y04D]'4D%-4SH*"2UT97-T("UZ("(D
M*&)I;E]04D]'4D%-4RDB('Q\(')M("UF("0H8FEN7U!23T=204U3*0H*+E!(
M3TY9.B!A;&P@8G5I;&0@8VQE86X@;6]S=&QY8VQE86XM8V]M<&EL92!C;&5A
.;BUB:6Y04D]'4D%-4PH`
`
end

それと CEditor class などで constructor や destructor が未定義なのは
なぜ? CEditor::Init() なんて使わず、素直に constructor 定義して使った
方が楽なのではないかと思うが

56 :名無しさん@お腹いっぱい。:01/12/15 07:47
>>55
Win32(VC++ + MFCだけかも)だと、コンストラクタと初期化関数の
二段階での初期化が定石だったりする。
その癖で…ってところだと思う。

57 :名無しさん@お腹いっぱい。:01/12/15 13:12
>>56
メモリ以外にリソースを消費するものだけ、なんだけどね
いきなりコンストラクタでハンドル消費したらえらいことに

58 :名無しさん@お腹いっぱい。:01/12/15 17:48
わ!これすごいねっ!
氏んで!!

59 :名無しさん@お腹いっぱい。:01/12/15 17:51
neがライバルとなりそうな・・・

60 :名無しさん@お腹いっぱい。:01/12/15 19:47
ne ってまだメンテされてるの?

61 :名無しさん@お腹いっぱい。:01/12/16 00:55
Debian Gnu/Linuxです.
起動はしたもののCtrl-cでしか終了できない.
HHKだからFunctionキーが使えないのか?
xevではちゃんと認識してるんだけど..
キーコードが違うのかな?
期待age.

62 ::01/12/16 02:30
コンストラクタで初期化していないのは、Windowsの頃の癖です。
MFCもそうですし、DirectXなどもそうです。
でも明らかに独立していそうなクラスはコンストラクタで初期化しています。

メニューが開けないという人が多いようですが、
キー処理をもっとちゃんとやれば対応できると思います。
特殊なキーを押すと、^[[@とかいうコントロールコードのようなものが
入力されてくるみたいですが、これを一つずつひろっていけばできそうです。
こういった連続したコントロールコードを一つの文字として解釈するモードが
cursesライブラリに用意されていて、今はそれを使っているのですが、
どうやらあまり信用できないみたいですね。

インクリメンタルサーチやmigemoは、導入するとしても相当あとになると思います。

63 :名無しさん:01/12/17 07:41
漏れもエディタ作ったYO!

editor.c
>#include "/dev/tty"

ネタにつきsage
がんばれよー。

64 :名無しさん@お腹いっぱい。:02/01/01 16:25
応援上げ!

65 :名無しさん@お腹いっぱい。:02/01/02 03:07
エディタマクロとして perl が使えれば海外でも流行るんじゃないかと思うんだ
けど・・・そーゆーエディタってあんの?
# 国内的には ruby なのかもしれんけど

66 :名無しさん@お腹いっぱい。:02/01/02 04:44
>>65
あいだをとってPythonというのは?

67 :名無しさん@お腹いっぱい。:02/01/02 20:39
>>65-66
vimだとperl/ruby/python/tclが使えちゃうんだよねぇ

68 :名無しさん@お腹いっぱい。:02/01/02 20:50
ここはマニアックにHaskell/Prolog/Smalltalkとか。

関係ないけど、emacsのようなソフトってLispよりもSmalltalkの方が似合うと思うんですけど、どうなんでしょう?

69 :名無しさん:02/01/02 21:29
あー、Smalltalk 使えたらかなーりいいかも。
というか、欲しくなっちゃったじゃないか...

まあ、半歩譲って CLOS あたりでもいいや。

70 :68:02/01/02 22:35
> LispよりもSmalltalk
これは言語のことだけじゃなくて、ソフト全体のことです。
「とりあえずSmalltalkでマクロが組めるようにしてみた」とか、
「xyzzy用にCLOSを作った」とか、そういうことじゃなくて。

71 :名無しさん@お腹いっぱい。:02/01/03 00:13
じゃあSqueakでエディタ造ったらえーやんけ。
仮想マシンだぞ。カスタマイズし放題。

という話に・・・

72 :名無しさん:02/01/03 00:47
そしたら WikiWiki しちゃうね。
っていうか、Squeak = Wiki ってイメージが。

73 :応援します:02/01/03 22:25
emacsやviとはまったく違ったエディタを是非目指してほしい.
emacsやviの亜流をめざしても所詮亜流にしかならないが,
うまくいけば第3の標準エディタになれるかもしれない.
(vi/emacs以外のユーザごめん)

カスタマイズする言語のウケがよければはやるかもね.
ではがんばって!

74 :名無しさん@お腹いっぱい。:02/01/04 12:43
最近 1 来ないね。

75 :名無しさん:02/01/05 19:57
というか、既存のカスタマイズ方法の枠組みを超えてみるとか。
なにげなく使ってるとかってにカスタマイズされてくみたいな。

76 :名無しさん@お腹いっぱい。:02/01/05 22:49
というか、既存の入力方法の枠組みを超えてみるとか。
なにげなく思ってるとかってに入力されてくみたいな。

77 :名無しさん@お腹いっぱい。:02/01/08 07:53
というか、既存の開発方法の枠組みを超えてみるとか。
なにげなく煽ってるとかってに開発されてくみたいな。

78 :名無しさん@お腹いっぱい。:02/01/08 08:10
というか、既存の仕事の枠組みを超えてみるとか。
なにげなく2ちゃん見てるとかってに終ってるみたいな。

79 :名無しさん@お腹いっぱい。:02/01/08 17:49
というか、既存の人生の枠組みを超えてみるとか。
なにげなく生きていると知らぬ間に逝ってるみたいな。

80 :名無しさん@お腹いっぱい。:02/01/09 13:06
おぉ〜い!1はどうした!?
俺は、密かに応援してるぞ!
がんばれ〜〜

81 :例の騒ぎで来た人:02/01/09 15:40
フラッシュ騒ぎでこの板に来て、Linuxを使ってみようと思っていますが、
>>1さん、その他有志の開発協力者のみなさん、
がんばって育ててください。期待しています。

Windowsなどから流れてきたユーザーに的を絞ってはいかがでしょうか?

82 :名無しさん@お腹いっぱい。:02/01/09 18:06
>>81
そういう人は GNOME とか KDE とか使ってなさいってこった。
あぁ、でもあれが UNIX だとは思ってほしくなかったりもしないでもない。

パイプを10個ぐらい繋げたときに UNIX つかってるって感じがするよ。漏れは。
あと、sort のオプション忘れてスクリプト書いちゃうときとか。

>>79
すでにそうなってないか?

83 :名無しさん@お腹いっぱい。:02/01/22 23:53
>1
終わらすのはもったいなくないかい?
卒業しちゃうのかな?

84 :名無しさん@お腹いっぱい。:02/01/23 01:59
Unixenにとって、エディタまで乗り換えなきゃいけないのが障壁だからなあ
Smalltalkは..>>68
キーボードだけで使える smalltalk環境つくってよ!!

っていうか、やっぱり Lispマシン環境もあこがれるぞ。
symbolics emulatorほしい...


85 :名無しさん@お腹いっぱい。:02/02/02 00:30
age

86 :1:02/02/02 12:35
更新が滞っていてすみません。
いろいろな端末エミュレータやFreeBSDなどにも対応させるため、
キー入力の時入ってくる連続した数値をいろいろ調べています。
現段階でktermに対応させました。

87 :名無しさん@お腹いっぱい。:02/02/03 06:37
なんか、間違った努力してるような気がするが…


88 :名無しさん@お腹いっぱい。:02/02/03 11:35
>>87
いや、全く無駄とは思わないが。

89 :名無しさん@お腹いっぱい。:02/02/03 13:43
がむばれ

90 :名無しさん@お腹いっぱい。:02/02/14 10:30
がむばってるかぁ〜


91 :名無しさん@お腹いっぱい。:02/02/18 18:29
ねぇ〜、>>1のホムペは何処逝ったの?

92 :名無しさん@お腹いっぱい。:02/02/18 20:37
>Windowsなどから流れてきたユーザーに的を絞ってはいかがでしょうか?
それいいね!!

UNIXで初めてviやEmacsを扱ったとき
(私はMacから入った人です)
「なんじゃこりゃ?」
と思いました…

93 ::02/02/18 20:53
えーと、楽しみにしてくれてる方々本当にすみません。
3学期のテストが終わったらまた再開しますので・・・。
春休みに一気にプログラミングするつもりですので、もうちょっと待っててください。


94 :名無しさん@お腹いっぱい。:02/03/10 00:01
途中経過キボン

95 :名無しさん@お腹いっぱい。:02/03/10 00:04
がんばれage

96 :名無しさん@お腹いっぱい。:02/04/01 16:00
1来ないな〜
とうとうtermcap(5)、termios(4)あたりに到達して勉強中かな?
それかこのあたりを許せずにVCに帰っちゃったとか(W

97 :名無しさん@お腹いっぱい。:02/05/03 03:15
1が戻った時にここがなかったらあまりに気の毒なので保全カキコ

98 :1:02/05/06 03:24
製作再開しています。
春休みにやるとか93で言ってますが、基本情報技術者の試験とかいろいろで
忙しくてできませんでした。おまけに留年してしまったし・・・
まあ個人的なことはともかく、そのうち上げますので。

99 :名無しさん@お腹いっぱい。:02/05/07 00:20
http://www.geocities.co.jp/SiliconValley-Cupertino/3751/grapad04.tgz
sageでこっそり更新・・・

ktermに対応しました。検索機能がつきました。他バグをいろいろとりました。

100 :1:02/05/07 23:29
http://www.geocities.co.jp/SiliconValley-Cupertino/3751/grapad041.tgz
今日はageで更新。置換機能が付きました(一斉置換のみ)。

XWindow版を作ろうかと考えています。
と言ってもまだなにも分からないんですよねえ。HelloWorldしかできないです。

54 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)