qe -- UNIX ª©¥»ªº PE2
¤@¡BÃö©ó qe
qe ¬O¤@Ó¼Ò¥é PE2 ªº½s¿èµ{¦¡¡A¥s qe ªºì¦]¥u¬O¦]¬°¦r¥À Q ¬O±Æ¦b P ¤§«á¡C ©M DOS ¤£¦Pªº¬O¡AUNIX ¨S¦³¨º»ò¦hÁä¥i¥Î¡A¦Ó¥B¤£¦Pªº Terminal ªºÁä½X¤]²¤¦³ ¤£¦P¡C¦]¦¹¤@¨Ç±`¥Îªº function ³Ì¦n©w¸q¨ì Control Key ©Î Meta Key ¤W¡A¥H §K¤£³ô¨Ï¥Î¡C
QE ªººô&hibar;¸¦b http://www.cc.ncu.edu.tw/~center5/product/qe/
¤G¡B¦w¸Ë
QE ¬O¥H C++ »y¨¥¼¶¼gªº¡A°£¤F¨ì
http://www.cc.ncu.edu.tw/~center5/product/qe/
¤U¸ü³Ì·sª©ªº QE µ{¦¡¥~¡A±z»Ýn¦b±zªº¾÷¾¹¤W¥ý¦w¸Ë¦n¤U¦C³nÅé:
g++: GNU C++ Compiler
°Ñ¦Òª©¥» gcc-2.8.1.tar.gz
libstdc++-2.8.1.1.tar.gz
ncurses: GNU Curses
°Ñ¦Òª©¥» ncurses-4.2.tar.gz
±N QE ¸Ñ¶}¡A¬Ý¬Ý Makefile ¬O§_¦³nק諸¦a¤è¡C°õ¦æ
make --> ¶i¦æ½sĶ
make install --> ¶i¦æ¦w¸Ë
¤T¡BÀô¹Ò³]©w
QE ¦b¦w¸Ë«á¬O©ñ¦b /usr/local/bin ¤U¡A¥t¥~¨t²Îªº profile ¤Î help file ¤À§O¬O qe.pro ¤Î qe.hlp ³£¦w¸Ë¦b /usr/local/etc ¤U
QE ªº¥\&hibar;àÁä©w¸q¬O¼g¦b qe.pro ÀÉ¡A©Î¨Ï¥ÎªÌ®a¥Ø¿ýªº .qerc ÀÉ¡C©w¸q ªº¤è¦¡©M PE2 «D±`ªº±µªñ¡A½Ð¦Û¦æ°Ñ¦Ò PE2 ªº¨Ï¥Î¤â¥U¡C
QE &hibar;à¥H±m¦âªº¤è¦¡Åã¥Ü¡A¦ý»P¨Ï¥Îªº Terminal ¦³Ãö¡C¦p Linux ©Î FreeBSD ªº console¡Axcin ªº crxvt ©Î¨ä¥¦¤ä´©±m¦âªº Terminal¡C¦ý¨Ï¥Î crxvt ©Î ¨ä¥¦¨ã color &hibar;à¤Oªº X term »Ýn±N TERM ªºÀô¹ÒÅܼƳ]¦¨ xterm-color¡B color_xterm ©Î rxvt (¦U¨t²Î²¤¦³¤£¦P)¡C³]©wªº¤èªk¬O
setenv TERM xterm-color --> csh ©Î tcsh
TERM=xterm-color --> sh¡Bksh¡Bbash export TERM
¥t¥~¡A±z¤]¥i¥H§Q¥Î QE ªº Command Line option¡A§ïÅÜ TERM ªº³]©w¡A¦p:
qe -t xterm-color
¤£¹L¡A³oºØ¤è¦¡¦b¬Y¨Ç¥¥x¤£ Work
¥i¥H¥Î Shell Scrip ¨Ó°µ¡A¦p
#!/bin/sh
t=$TERM
TERM=xterm-color
export TERM
qe "$@"
TERM=$t
export TERM
¥|¡B°õ¦æ qe
qe ¦³¤U¦C°Ñ¼Æ¥i¨Ñ¨Ï¥Î
-h ¬Ý¬Ý qe ¦³¨º¨Ç°Ñ¼Æ
-t ³]©w Terminal Type¡A¦p qe -t xterm-color
-p «ü©w profile ¨ú¥N ~/.qerc
¤¡BBUG
·í±zµo²{ QE µ{¦¡¦³¥ô¦ó BUG ®É¡A½Ð Email µ¹ center5@cc.ncu.edu.tw ¥H«K¦b¤U¤@Óª©¥»§ó¥¿¡C
¤»¡Bprofile ¤º®e¤ÎÁ{®ÉªºÀô¹Ò³]©w
SET ¨t¦C
set blankcompress on/off (¦sÀÉ®Én¤£n§â space À£¦¨ TAB)
¥i¦b©R¥O¦æ¤U [?b] ¬d¸ß¥Ø«eª¬ºA©Î¦b©R¥O¦æÁ{®É×§ï³]©w
set searchcase exact/any (·j´M©Î¨ú¥N®É¬O§_©¿²¤¤j¤p¼g)
¥i¦b©R¥O¦æ¤U [?s] ¬d¸ß
set searchcase exact ¤j¤p¼g°Ï¤À
set searchcase any ¤j¤p¼g¤£°Ï¤À
set big5 on/off/auto (¤¤¤å°T®§Åã¥Ü¶}Ãö)
¥i¦b©R¥O¦æ¤U [?5] ¬d¸ß
set big5 on ¤¤¤å°T®§
set big5 off ^¤å°T®§
set big5 auto ¦Û°Ê¤¤^¼Ò¦¡ (¥H LANG Àô¹ÒÅܼƨM©w¡A¥un¬O
zh_TW ¶}ÀY®É¡A´N³]¬°¤¤¤å¡A§_«h^¤å)
set history-key none/up/down/both (·í´å¼Ð¦b©R¥O¦C®É¥s¥X¾ú¥v©R¥OªºÁä)
set history-key none Ãö³¬
set history-key up ¦V¤WÁä
set history-key down ¦V¤UÁä
set history-key both ¤W¡B¤UÁä
set dir-sort-by name/time/size (Ū¥Ø¿ý®É±Æ§Ç¤è¦¡)
set dir-sort-by name ¨ÌÀɦW±Æ§Ç
set dir-sort-by time ¨ÌÀÉ®××§ï¤é´Á±Æ§Ç
set dir-sort-by size ¨ÌÀɮפj¤p±Æ§Ç
set ctrl-k on/off
set ctrl-q on/off
set ctrl-x on/off
¦]©ó UNIX ¤W¥i§Q¥ÎªºÁä¤Ö«Ü¦h¡A¦]¦¹ QE ¤¹³\¨Ï¥ÎªÌ¥H
Ctrl-K (°Ñ¦Ò joe ©Î WordStar) ©Î Ctrl-Q (°Ñ¦Òº~®Ñ) ©Î
Ctrl-X (°Ñ¦Ò Emacs) ·f°t¨ä¥¦Áä¡C·f°tªºÁä¥i¥H¬O^¤å¦r¥À©Î
¼Æ¦r¡A¤À§O¥H k- q- x- ªí¥Ü¡C¦p k-q ¥Nªí Ctrl-K Q
¦Ó def k-q = [quit] «h¥i¥H±N QE ©w¸q¦p JOE ¤@&hibar;몺¥\&hibar;à¡A
¦ýn set ctrl-k on¡A¦ý·|¥¢¥h ctrl-k ªºì¦³¥\&hibar;à¡C
¦b©R¥On¬d¸ß¥Ø«e³o¨Ç¥\&hibar;à¶}Ãöª¬ªp¥i¤À§O¥H [?k]¡B[?q] ¤Î [?x]
¬d¸ß¡A¤]¥i¦b Editing ª¬ºA¤Uª½±µ×§ï¡C
DEF ¨t¦C
def ©Î d ªº«ü¥O¬O¥Î¨Ó©w¸q«öÁ䪺¥¨¶°«ü¥O¡A¦p:
def enter=[il][up][fn][down]
Á{®É¼gªº¥¨¶°¤]¥iª½¦b©R¥O¦æ¤U¡A¥i¥ß§Y¥Í®Ä (¦ýÂ÷¶}«á¤£·|³Q¦s¤U¨Ó)
¤C¡B©R¥O¦Cªº«ü¥O
- ŪÀÉ: e filename ©Î edit filename
- ¦sÀÉ: save (¥Ø«e¤£¤ä´© save filename)
- ¦sÀɨÃÂ÷¶}: file
- Â÷¶}: quit ©Î q ©Î [quit]
- §ïÀɦW: n filename ©Î name filename
- ¬Ý¥Ø¿ý: dir ©Î dir path
dir «á¥i¥H¥ú´Î¿ï°µ cd ©ÎŪÀɪº°Ê§@
- Shell: ¤U shell ¥iÁ{®É¸õ¤@Ó shell ¥X¨Ó¡A¤U¤@¨Ç shell ªº©R¥O
³Ì«á exit ªð¦^ QE
- ª½±µ¸õ¦æ¸¹: ¤U line 110 ¥iª½±µ¸õ¨ì²Ä 110 ¦æ
- Á{®Éªº¥¨¶°: ¤@&hibar;ë¦Ó¨¥¡A¥¨¶°«ü¥O³£¬O©w¸q¦b¥\&hibar;àÁä¤W¡A¦ý¤]¥i¦b©R¥O¦Cª½
±µ¤U¥¨¶°«ü¥O
- Á{®É©w¸qÁä: ¦b©R¥O¦CÁ{®É×§ï¬Y¥\&hibar;àÁ䪺©w¸q¡A¦p±N enter Á䪺¥\&hibar;à
§ï¬°¤£´¡¤J¤@¦æ¡Aª½±µ¸õ¨ì¤U¤@¦æªº¶}ÀY¡A¥i¤U def enter=[down] ¥t¥~©w¸q¥\&hibar;àÁä¤]¥iª½±µ¥HÁä½X¨Ó©w¸q¡A¤ñ¤è»¡¡A쥻±z¹w´Á ¥Î Ctrl-Z ¨Ó§R¦æ¡A¦ý«ö¤F Ctrl-Z ¥X²{ key code: [ 26 ] is not defined¡A«h±z¥i¥H¤U d 26=[dl] ¨Ó¹F¨ì¥Øªº¡A³oºØ¥\&hibar;à&hibar;S§O¾A¦X©ó¤@¨Ç function key: f1 ~ f12, home, end, pgup, pgdn ¤£ work ®É¡C
- Á{®É×§ïÀô¹Ò: ¥Î set «ü¥O¥i×§ïÀô¹Ò¡A¦p¼g Makefile ¤@©wn
set blankcompress on
- ·j´M: l/abc/ ¡B /abc ¡B /abc/ ©¹¤U·j´M¦³ abc ¦r¦êªº¦a¤è
l/def/- ¡B /def/- ©¹¤W·j´M¦³ def ¦r¦êªº¦a¤è lak/a ¡B l\k/\ ©¹¤U·j´M¦³ k/ ¦r¦êªº¦a¤è ^ ^ ^ ^ l/abc/m ¡B /abc/m ©¹¤U·j´M¦b¼Ð°O°Ï¦³ abc ¦r¦êªº¦a¤è l/abc/m- ¡B /abc/m- ©¹¤W·j´M¦b¼Ð°O°Ï¦³ abc ¦r¦êªº¦a¤è
- ·j´M/¨ú¥N: c/abc/def/ ©¹¤U·j´M¦³ abc ¦r¦ê§ï¬° def
cab/d\b# ©¹¤U·j´M¦³ ab/ ¦r¦ê§ï¬° d\b ^ ^ ^ c/abc/def/- ©¹¤W·j´M¦³ abc ¦r¦ê§ï¬° def c/abc/dev/m ©¹¤U·j´M¼Ð°O°Ï¦³ abc ¦r¦ê§ï¬° def c/abc/def/-m ©¹¤W·j´M¼Ð°O°Ï¦³ abc ¦r¦ê§ï¬° def
·j¸ß¨ì«á¡A·|¥X²{¦p¤Uªº°T®§ (³oÓ³¡¥÷©M pe2 ¤£¦P)
confirm change [y/n/q/a]:
Yes «ö y ªín change¡AµM«á§ä¤U¤@Ó
No «ö n ªí¤£§ï¡AµM«á§ä¤U¤@Ó
Quit «ö q ªí¤£§ï¡A¤]¤£¦A§ä¤F
All «ö a ªí¥þ§ï¡A¤£n¦A°Ý¤F
¦pªG·Q¦b©R¥O¦C¤U«ü¥O§ï¥þ³¡¦Ó¤£n¤@Ó¤@Ӹ߰ݡA«h¦b
³Ì«án¥[ * ¡A¦p:
c/abc/def/*
ª`·N: ¥Ø«e·j´M³£¬O¤j¤p¬O§_°Ï¤À¡A¥Ñ searchcase ¨M©w !!!!
¤K¡B¤w¤ä´©ªº¥¨¶°«ü¥O
¥Ø«e¤w¤ä´©ªº¥¨¶°«ü¥O¦³ (¤W¥b³¡¥÷»P PE2 ¬Û®e¡A¤U¥b³¡¥÷«h¬° QE ¦Û¤vªº¥¨¶°)
«ü ¥O ÁY¼g ¥\ &hibar;à ² z
[backtab word] [bw] ©¹¦^¸õ¤WÓ¦r
[beep] [bp] µo¥X beep Án
[begin line] [bl] ¨ì¦æªº¶}ÀY
[begin mark] [bm] ¸õ¨ì mark °Ïªº¶}ÀY
[begin word] [wb] ¸õ¨ì¦rªº¶}ÀY
[bottom] [bo] ¸õ¨ìÀɮתºµ²§ô
[bottom edge] [be] ¸õ¨ì¿Ã¹õ³Ì¤U¤@¦æ
[center line] [cl] ±N´å¼Ð©Ò¦b¦ì¸m½Õ¾ã¦b¤¤¶¡
[command toggle] [cg] ©R¥O°Ï©M¸ê®Æ°Ïªº¤Á´«
[copy from command] [cf] ±N©R¥O¦Cªº¸ê®Æ«þ¨©¨ì¸ê®Æ°Ï
[copy mark] [cm] ±N¼Ð°O°Ïªº¸ê®Æ«þ¨©¨ì´å¼Ð©Ò¦b¦ì¸m
[copy to command] [ct] ±N´å¼Ð©Ò¦b¸ê®Æ°Ïªº¤º®e«þ¨©¨ì©R¥O¦C
[cursor command] [cc] ¸õ¨ì©R¥O¦C
[cursor data] [ca] ¸õ¨ì¸ê®Æ°Ï
[delete char] [dc] §R°£¤@Ó¦r¤¸
[delete line] [dl] §R°£¤@¦æ
[delete mark] [dm] §R°£¼Ð°O°Ï
[down] [down] ´å¼Ð©¹¤U¤@®æ
[edit] [e] ½s¿è¤UÓÀÉ®×
[end line] [el] ´å¼Ð²¾¨ì¤@¦æªº³Ì«á
[end mark] [em] ´å¼Ð²¾¨ì¼Ð°O°Ïªº³Ì«á
[end word] [we] ´å¼Ð²¾¨ì¦rªºµ²§À
[erase begin line] [eb] §R°£´å¼Ð¥H«áªº¸ê®Æ
[erase end line] [ee] §R°£´å¼Ð¥H«eªº¸ê®Æ
[execute] [ex] °õ¦æ©R¥O¦Cªº©R¥O
[fill mark] [fm] ±N¼Ð°O°Ï¶ñ¤J¤@Ó¦r
[first nonblank] [fn] ¸õ¨ì´å¼Ð©Ò¦b¦æ²Ä¤@Ó«DªÅ¥Õªº¦r¤¸
[insert line] [il] ´¡¤J¤@¦æ
[insert mode] [im] ¿é¤J¼Ò¦¡¤Á´«¦¨´¡¤J¼Ò¦¡
[insert toggle] [it] ¤Á´«¿é¤J¼Ò¦¡
[join] [jo] ±N¤U¤@¦æ±µ¨ì¥»¦æ«á±
[left] [left] ´å¼Ð©¹¥ª¤@®æ
[lowercase] [lc] ±N¼Ð°O°Ïªº©Ò¦³¦rÂন¤p¼g
[mark block] [mb] °µ block §Î¦¡ªº¼Ð°O°Ï
[mark line] [ml] °µ¦æ§Î¦¡ªº¼Ð°O°Ï
[move mark] [mm] ·h°Ê¼Ð°O°Ï¦Ü´å¼Ð¦ì¸m
[overlay block] [ob] ¥Î½Æ»\ªº¤è¦¡½Æ»s block §Î¦¡ªº¼Ð°O°Ï
[page down] [pd] ¸õ¤U¤@¶
[page up] [pu] ¸õ¤W¤@¶
[pop mark] [po] ±q°ïÅ|¨ú¥X¼Ð°O°Ï
[push mark] [ps] ±N¼Ð°O°Ï©ñ¶i°ïÅ|
[replace mode] [rm] ¿é¤J¼Ò¦¡¤Á´«¦¨¨ú¥N¼Ò¦¡
[right] [right] ´å¼Ð©¹¥k¤@®æ
[rubout] [ro] §R°£´å¼Ð«e¤@Ó¦r¤¸
[scrolldown] [scrolldown] ¿Ã¹õ¤W±²
[scrollup] [scrollup] ¿Ã¹õ¤U±²
[scrollleft] [scrollleft] ¿Ã¹õ¥ª±²
[scrollright] [scrollright] ¿Ã¹õ¥k±²
[shift left] [sl] ±N¼Ð°O°Ï¸ê®Æ©¹¥ª±À¤@®æ
[shift right] [sr] ±N¼Ð°O°Ï¸ê®Æ©¹¥k±À¤@®æ
[split] [sp] ±N´å¼Ð«áªº¸ê®Æ²¾¨ì¤U¤@¦æ
[tab] [tb] ¸õ¨ì¤UÓ©w¦ìÂI
[tab word] [tw] ¸õ¨ì¤U¤@Ó¦r
[top] [to] ¸õ¨ìÀɮתº¶}ÀY
[top edge] [te] ¸õ¨ì¿Ã¹õ³Ì¤W¤@¦æ
[undo] [ud] ÁÙì¿ù»~ªº¿é¤J
[unmark] [um] ¨ú®ø¼Ð°O°Ï
[up] [up] ´å¼Ð©¹¤W¤@®æ
[uppercase] [uc] ±N¼Ð°O°Ïªº©Ò¦³¦rÂন¤j¼g
[?b] ¬d¸ß blankcompress ªºª¬ºA
[?s] ¬d¸ß searchcase ªºª¬ºA
[quit] [quit] Â÷¶}(¤£Àx¦s)
[clear marks] [ck] ²M°£¼Ð°O°ïÅ|
---------------------------------------------------------------------
[kill line] [kl] §R°£´å¼Ð«áªº¸ê®Æ¡AY´å¼Ð¤w¦b³Ì«á
«h±N¤U¤@¦æ±µ¤W¨Ó
[search] [search] QE §Î¦¡ªº¸ê®Æ·j´M
[menu] [menu] ¤U©Ô¦¡¥\&hibar;àªí
[history] [history] ¥s¥X©R¥O¦C¾ú¥v°O¿ý
[quit all] [quit all] Ãö³¬©Ò¦³ÀÉ(¤£¸ß°Ý¡B¤]¤£Àx¦s)¸õ¥X QE
[file all] [file all] Àx¦s©Ò¦³³Q§ó°ÊªºÀɮסA¨ÃÂ÷¶}
[?k] ¬d¸ß Ctrl-K ªºª¬ºA
[?q] ¬d¸ß Ctrl-Q ªºª¬ºA
[?x] ¬d¸ß Ctrl-X ªºª¬ºA
[?5] ¬d¸ß¤¤¤å°T®§¶}Ãö
following Porting by Lechee.Lai
[next word] [nw] move cursor to next word
[mark word] [mark word] Mark word under cursor and transation in global for [search]
[search2] [search2] search base on search without wapped
[isearch] [isearch] Incremental Search
[set0] [set0] Drop Anchor 0
[set1] [set1] Drop Anchor 0
[set2] [set2] Drop Anchor 0
[go0] [go0] Go Anchor 0
[go1] [go1] Go Anchor 1
[go2] [go2] Go Anchor 2
[goto line] [goto line] Jump cursor to the specified line number
set insert-mode on/off
misc macro
def x-x = [mark word][search2][unmark] ;* search pattern under cursor
def x-x = [up][mb][down][cm][unmark][right] ;* duplicat upper line charactor for current line
def x-x = [set0][unmark][mark block][nw]+ ;* Deletes the "word" to the right of the cursor
[mark block][delete mark][go0
def x-x = [bl]'//'[down ;* Add C comment in begin of line
¤E¡B©|¥¼¤ä´©ªº PE2 ¥¨¶°
[backtab]
[center in margins]
[clear message]
[demo end]
[demo fast]
[demo slow]
[escape]
[left edge]
[left margin]
[mark char]
[next view]
[next window]
[paragraph margin]
[print]
[print mark]
[redraw]
[reflow]
[right edge]
[right margin]
[split screen]
[zoom window]
