1read 100read
2013年02月UNIX247: エディタ作ったよ!見てみて! (231)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
Windows用の無料Xサーバが欲しい (428)
OpenBSDで日本語環境設定 (322)
:::viクローン nvi::: (249)
なぜUNIXはwindowsに敗北しているのか?4 (551)
UNIXを考えるスレ及び巨R画像貼り付けスレ (404)
UNIXに関する言葉のひらがな読みスレッド (434)
エディタ作ったよ!見てみて!
- 1 :01/12/14 〜 最終レス :2012/07/05
- 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 :
- コンパイルと実行の方法は、
#tar -zxvf grapad03.tgz で展開して、
#cd grapad03 でディレクトリに入って、
#make とやると、実行ファイルができます。
#./grapad で実行できます。
- 3 :
- ソースを参考にしようと思ったんだけど、
C++をC風に書くなよダセェ
よって、viできまり。こいつはゴミ。
- 4 :
- >>3
それで、動かしてみてくれましたか?
ちゃんとコンパイルできますか?
- 5 :
- 批判するだけなら猿でも出来る。
とりあえずKondara 2.1 Beta2でコンパイルが通ることを確認。
Tera Termから起動したら「白黒端末では使えません。」
と言われたので試してない。
- 6 :
- >>5
curses が $TERM を見てんのかな?
- 7 :
- >>5
ありがとうございます!!
基本的にカラーで表示する事を前提にしているので、
白黒だと起動できません。
強調表示とか検索とか、あとショートカットキーとか、
とりあえず書いただけで使えない機能がまだあるので、
その辺は文句言わないでください。
とりあえず今は検索機能を作るため、BM法とKMP法という
アルゴリズムを勉強しています。
- 8 :
- ktermでちゃんと動いたよ。
gnome-terminal では動かなかったです。当方turbo
readmeでは動くらしいんだけど、
がんばれー
- 9 :
- >>5
いや、フィードバックもしようと思って今Makefileを
マクロ使って書き直してたんだけど、なんかエラーになるからやめた(笑)。
FreeBSD 4-STABLE, コンパイル通ってkterm上でさらにscreenの上で動いたよ。
F2押してもキーコードが入るだけだったけど。Alt+F2か?
- 10 :
- えーとですね、ktermでも動くんですけど、ファンクションキーがだめなんですよ。
本当はメニューはalt+何かで選べるようにしたいんですけど、
altキーの入力を知る方法がわからないんです。
- 11 :
- FreeBSD(98)4.3でコンパイル通ったしbetermで動いたよ。
枠がおかしいのかどうかは確認してないけど。
ただbeterm自体が日本語通らないからメニューに何が書いてあるやらさっぱり。
勘で終了させた。英字表記が理解しづらいよ。sageが何かまだ分からない。
- 12 :
- Vine-2.1 LinuxPPCでコンパイルしました。
コンパイルはうまくいったと思います。実行ファイルは出来てるので(何せ初心
者なもので良く分からない)。
でも
./grapadをすると
zsh: segmentation fault ./grapad
でうまく行きません。grapadを実行後lsコマンドを実行すると表示が滅茶苦茶に
なります。
kterm、xterm、gnome-terminalで駄目でした。
うーん。何がいけないんだろう。
『初心者にはお勧めできない』
ですかね・・・シュン・・・
- 13 :
- segmentation faultはこちらのバグです。
メモリの変な領域にアクセスすると出るようです。
本当は僕も含めて、初心者が使いやすいように作ったんですがね…
- 14 :
- あと、メニューのageとかsageとかは気にしないで下さいw
ショートカットキーの表示をしてあるのですが、まだその機能が無いので
適当に書いてあるだけです。
- 15 :
- 記念きねん
がんばってvi,emacs越えてな。
- 16 :
- ktermの問題は
termcap (この場合は terminfoか) が知っているファンクションキーの
シーケンスと実際のシーケンスが違うせいだと思う。
cat とかやって、ファンクションキーを押して生のシーケンス見てみ。
infocmp kterm とやって出てくる値と違うだろ。
解決方法はしらないけど、
terminfo を書き換えるってのが妥当じゃないかね。
それと、ktermではXresourcesにこれを追加しとけ:
KTerm*VT100*EightBitInput: false
これで Alt+ほげ が ESC + ほげ のシーケンスで送られるようになる。
- 17 :
- >>1みたいな人はなんか応援したくなる。
頑張ってくださいね。
- 18 :
- 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 :
- 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 :
- >>16
Alt+ほげ って本当は [0x80-0x9F] (C1 control code) で、
8bit 通らない場合は [ESC] [0x00-0x20] だったような。
最近は違うのかな。
まぁ多くの実装は ESC XX なんだけど。
- 21 :
- 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 :
- 本題と外れるんで sage ですが……
FreeBSD っていつになったらまともな termcap になるんだろ。
NetBSD とかが使ってる http://www.tuxedo.org/~esr/terminfo/
あたりの使えばすむと思うんだけどなぁ… esr 嫌いなのかな?(w
- 23 :
- FreeBSDのeeみたいな感じだね〜
- 24 :
- 「秀丸 for Unix ほしい」って声がけっこうあるから、
そういうの目指したら?
- 25 :
- >>20
kterm上からximで日本語入力すると C1 control code は
日本語文字になっちゃうのよ。
日本語入力しないなら (emacsみたく自前でIM持つとか) 別にいいんだけど
たぶん>>1の様子だとそうじゃなさそう
- 26 :
- テスト環境 : TeraTermからVine1.1へログインして使用
Makefile
(1)g++に変更しないとコンパイルできなかったよ
(2)common.oのルールがないよ
grapad
(1)F2が効かないので保存できない...
(2)メニューを英語にしてくれたらうれしい(普段SJIS環境にしてるもんで)
- 27 :
- >>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 :
- 手軽にthread処理の出来るマクロ言語を搭載してクレー。
しかし、これから エディタに言語載せるとしたら、なにのせる?
guile あたり使っとく?
- 29 :
- 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 :
- 二日前にLINUXのインストールを成功させたばかりの超超初心者ですが
イチユーザーとして応援してます!頑張って下さい>>1
理解できるようになったら是非試させていただきます。
- 31 :
- こんにちは。なんかいっぱいレスがついていてうれしいです。
makefileについていろいろ書いてもらっていますが、
まだmakeの使い方がよく分かっていないので、勉強したいと思います。
今までずっとVisualC++を使ってきたのですが、違いに結構戸惑っています。
- 32 :
- >>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 :
- むしろ automake/autoconf を使い方を覚えた方がいいかも?
あ、でも素の makefile 書式も知らないとダメか...
- 34 :
- 起動してすぐ下にカーソル移動しようとするとセグブります。
- 35 :
- Makefile は本読まないと無理だよ。本屋へ GO!
- 36 :
- >>32
> >>29 変数定義にちょっと違和感がないでもないので......
確かに... すまんす
- 37 :
- いまさら、emacs, vim を超えることなど不可能
- 38 :
- >>37
越えることが不可能なのは同意だが、
だからといって意味がないとは言えない。
emacsやviのRキーバインド覚えるのが嫌な人のための
CUIエディタとなればいい。
- 39 :
- 道のりは遠そうだけど育っていくのを見てるのは楽しいかも。
でもできるだけ早く最低限の機能を付けてウプするべし。
- 40 :
- 最近>>29や>>32みたいなのよくみるんだけど、これなに?
- 41 :
- 最近か?
10年前かた見るけど
- 42 :
- cygwinで動いたYO.
- 43 :
- >>40
最近かよ... 君なんで UNIX 板にいるの? (T-T
- 44 :
- >>40
uudecode で復元できる。
- 45 :あぼーん:あぼーん
- あぼーん
- 46 :
- 別にemacsやviを越えようなんて思ってませんよ。
元々「勉強しなくても誰でもすぐ使える」事を目的につくっていますので
余分な機能とかは今のところつけないつもりですし。
今日は1時間ほどやって、検索機能を付けました。
BM法もKMP法も使わない単純比較ですが、もう最近のCPUだと一瞬なんですね。
- 47 :
- >>40
ish のほうがいい?
- 48 :
- Vinelinux2.15(だっけかな?)で一発OKダタヨ
>>42
テラタムで動かないからCygwinのXに飛ばして動かしたよ・・・・先にスレ読んでおくんだったよ
- 49 :
- GRAPADが完全に動作するのは次の3つを満たす環境です。
・カラーが使える
・ファンクションキーが使える
・日本語が使える
TeraTermの場合白黒端末なので動きません。
無理矢理うごかしてもファンクションキーを受け付けないのでメニューの操作ができません。
キーの入力については今後いろいろ調べてみたいと思うのですが、
とりあえず今は機種依存の解決よりエディタの機能の方を優先して作っています。
- 50 :
- >>46
勉強しなくても使えるけど、裏では強力なことしてるってのがいいなあ。
だからインクリメンタルサーチにしたほうがいいかなーと。
migemo を導入してみない?
- 51 :
- 機種依存というよりOS依存ですね…
- 52 :
- less + vi + migemo みたいなの希望。
コンソールでサクサク動くやつがいいな。
# まぁ less して v すりゃ vi 立ち上がるし、
# そういうアプローチが UNIX なんだろうけどさ。
- 53 :
- >>52
その条件満すんだったらvi 改造したほうがはやそうね。
C 版の migemo も作られたことだし。
>>1 も migemo 使ってほしいなあ。
正規表現を実装しなきゃいけないから大変かもしれないけど。
- 54 :
- >>49(>>1)
>>21 を ~/.termcap に書き込んで export TERM=teraterm でok。
- 55 :
- 私も 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 :
- >>55
Win32(VC++ + MFCだけかも)だと、コンストラクタと初期化関数の
二段階での初期化が定石だったりする。
その癖で…ってところだと思う。
- 57 :
- >>56
メモリ以外にリソースを消費するものだけ、なんだけどね
いきなりコンストラクタでハンドル消費したらえらいことに
- 58 :
- わ!これすごいねっ!
R!!
- 59 :
- neがライバルとなりそうな・・・
- 60 :
- ne ってまだメンテされてるの?
- 61 :
- Debian Gnu/Linuxです.
起動はしたもののCtrl-cでしか終了できない.
HHKだからFunctionキーが使えないのか?
xevではちゃんと認識してるんだけど..
キーコードが違うのかな?
期待age.
- 62 :
- コンストラクタで初期化していないのは、Windowsの頃の癖です。
MFCもそうですし、DirectXなどもそうです。
でも明らかに独立していそうなクラスはコンストラクタで初期化しています。
メニューが開けないという人が多いようですが、
キー処理をもっとちゃんとやれば対応できると思います。
特殊なキーを押すと、^[[@とかいうコントロールコードのようなものが
入力されてくるみたいですが、これを一つずつひろっていけばできそうです。
こういった連続したコントロールコードを一つの文字として解釈するモードが
cursesライブラリに用意されていて、今はそれを使っているのですが、
どうやらあまり信用できないみたいですね。
インクリメンタルサーチやmigemoは、導入するとしても相当あとになると思います。
- 63 :
- 漏れもエディタ作ったYO!
editor.c
>#include "/dev/tty"
ネタにつきsage
がんばれよー。
- 64 :
- 応援上げ!
- 65 :
- エディタマクロとして perl が使えれば海外でも流行るんじゃないかと思うんだ
けど・・・そーゆーエディタってあんの?
# 国内的には ruby なのかもしれんけど
- 66 :
- >>65
あいだをとってPythonというのは?
- 67 :
- >>65-66
vimだとperl/ruby/python/tclが使えちゃうんだよねぇ
- 68 :
- ここはマニアックにHaskell/Prolog/Smalltalkとか。
関係ないけど、emacsのようなソフトってLispよりもSmalltalkの方が似合うと思うんですけど、どうなんでしょう?
- 69 :
- あー、Smalltalk 使えたらかなーりいいかも。
というか、欲しくなっちゃったじゃないか...
まあ、半歩譲って CLOS あたりでもいいや。
- 70 :
- > LispよりもSmalltalk
これは言語のことだけじゃなくて、ソフト全体のことです。
「とりあえずSmalltalkでマクロが組めるようにしてみた」とか、
「xyzzy用にCLOSを作った」とか、そういうことじゃなくて。
- 71 :
- じゃあSqueakでエディタ造ったらえーやんけ。
仮想マシンだぞ。カスタマイズし放題。
という話に・・・
- 72 :
- そしたら WikiWiki しちゃうね。
っていうか、Squeak = Wiki ってイメージが。
- 73 :
- emacsやviとはまったく違ったエディタを是非目指してほしい.
emacsやviの亜流をめざしても所詮亜流にしかならないが,
うまくいけば第3の標準エディタになれるかもしれない.
(vi/emacs以外のユーザごめん)
カスタマイズする言語のウケがよければはやるかもね.
ではがんばって!
- 74 :
- 最近 1 来ないね。
- 75 :
- というか、既存のカスタマイズ方法の枠組みを超えてみるとか。
なにげなく使ってるとかってにカスタマイズされてくみたいな。
- 76 :
- というか、既存の入力方法の枠組みを超えてみるとか。
なにげなく思ってるとかってに入力されてくみたいな。
- 77 :
- というか、既存の開発方法の枠組みを超えてみるとか。
なにげなく煽ってるとかってに開発されてくみたいな。
- 78 :
- というか、既存の仕事の枠組みを超えてみるとか。
なにげなく2ちゃん見てるとかってに終ってるみたいな。
- 79 :
- というか、既存の人生の枠組みを超えてみるとか。
なにげなく生きていると知らぬ間に逝ってるみたいな。
- 80 :
- おぉ〜い!1はどうした!?
俺は、密かに応援してるぞ!
がんばれ〜〜
- 81 :
- フラッシュ騒ぎでこの板に来て、Linuxを使ってみようと思っていますが、
>>1さん、その他有志の開発協力者のみなさん、
がんばって育ててください。期待しています。
Windowsなどから流れてきたユーザーに的を絞ってはいかがでしょうか?
- 82 :
- >>81
そういう人は GNOME とか KDE とか使ってなさいってこった。
あぁ、でもあれが UNIX だとは思ってほしくなかったりもしないでもない。
パイプを10個ぐらい繋げたときに UNIX つかってるって感じがするよ。漏れは。
あと、sort のオプション忘れてスクリプト書いちゃうときとか。
>>79
すでにそうなってないか?
- 83 :
- >1
終わらすのはもったいなくないかい?
卒業しちゃうのかな?
- 84 :
- Unixenにとって、エディタまで乗り換えなきゃいけないのが障壁だからなあ
Smalltalkは..>>68
キーボードだけで使える smalltalk環境つくってよ!!
っていうか、やっぱり Lispマシン環境もあこがれるぞ。
symbolics emulatorほしい...
- 85 :
- age
- 86 :
- 更新が滞っていてすみません。
いろいろな端末エミュレータやFreeBSDなどにも対応させるため、
キー入力の時入ってくる連続した数値をいろいろ調べています。
現段階でktermに対応させました。
- 87 :
- なんか、間違った努力してるような気がするが…
- 88 :
- >>87
いや、全く無駄とは思わないが。
- 89 :
- がむばれ
- 90 :
- がむばってるかぁ〜
- 91 :
- ねぇ〜、>>1のホムペは何処逝ったの?
- 92 :
- >Windowsなどから流れてきたユーザーに的を絞ってはいかがでしょうか?
それいいね!!
UNIXで初めてviやEmacsを扱ったとき
(私はMacから入った人です)
「なんじゃこりゃ?」
と思いました…
- 93 :
- えーと、楽しみにしてくれてる方々本当にすみません。
3学期のテストが終わったらまた再開しますので・・・。
春休みに一気にプログラミングするつもりですので、もうちょっと待っててください。
- 94 :
- 途中経過キボン
- 95 :
- がんばれage
- 96 :
- 1来ないな〜
とうとうtermcap(5)、termios(4)あたりに到達して勉強中かな?
それかこのあたりを許せずにVCに帰っちゃったとか(W
- 97 :
- 1が戻った時にここがなかったらあまりに気の毒なので保全カキコ
- 98 :
- 製作再開しています。
春休みにやるとか93で言ってますが、基本情報技術者の試験とかいろいろで
忙しくてできませんでした。おまけに留年してしまったし・・・
まあ個人的なことはともかく、そのうち上げますので。
- 99 :
- http://www.geocities.co.jp/SiliconValley-Cupertino/3751/grapad04.tgz
sageでこっそり更新・・・
ktermに対応しました。検索機能がつきました。他バグをいろいろとりました。
- 100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
Viと仲良くする方法 (486)
WXG for Linux/FreeBSD (639)
WXG for Linux/FreeBSD (639)
デーモン君に引退をせまる署名スレ (241)
Emacs Part 42 (446)
日本人*BSD developerを誉め称えるスレ (303)
--log9.info------------------
KOFスカイステージ STAGE5 (464)
1942シリーズ (220)
高橋名人はアンチCAVE (339)
【BUZZ】サイヴァリアのスレだよ【快感】 (322)
STGを衰退・劣化させた原因は弾幕系STGだ (382)
【破壊美が】オメガブースト2nd ZONE【加速する】 (881)
ARMA2/ArmA/OFP エディット専用スレ Vol.9 (705)
【G4W】Games for Windows総合スレ【Xbox360と対戦】 (855)
∴ξ∵ξ∴steam...Part630∵ξ∴ξ∵ (807)
【BF3】 BATTLEFIELD 3 戦闘機スレ Part.3 (201)
【ARMA2】DayZ 2ch鯖スレ Vol.8【MOD】 (939)
【BF:P4F】BattleField Play4Free Rank.30【無料】 (265)
【スポーツ系FPS】みんなでxonoticやろうず【フリー】 (328)
Chivalry: Medieval Warfare Part8 (701)
【香港】SLEEPING DOGS Part.2【潜入捜査】 (727)
【BF3】 BATTLEFIELD 3 Vol.436 (593)
--log55.com------------------
【速報】 「NGT48荻野由佳殺ス」 殺害予告した24歳無職男逮捕
億万長者「学生ローンは俺が全額払おう、皆にアメリカンドリームのチャンスを!」
東京駅に来た欧米人「しょっぼ!!!ワザワザ12時間かけて日本来たのに!」
ファーウェイ・ジャパンが5月21日13時より新製品発表会を開催
韓国財閥「(日本へ行く)飛行機代がもったいないので、ドンキをそのまま作った」
【爆死】 NHK大河ドラマ『いだてん』 遂に6.6%! 前人未到の領域へwwwwwwwwwwwwwwww
(大阪都) 実現へ
78歳のじじい車カスがETCレーンを高速突破しようとして6人死傷。盛岡IC
-