SEU命令

說明:
1. 這是從網上看到的英文文章翻譯的,原作:David George,翻譯:楊強.
2. 在文中有一些術語直接使用原文中的英文術語或在中文翻譯後面加上英文原術語說明,這樣便於我們以後閱讀英文資料.這些術語有:
    . Specification(可譯爲表,RPG中我們經常用到D表,C表,F表,H表,O表)
    . display(顯示:AS/400中經常會用到顯示(Display)和屏幕(Screen)兩個詞,很多語境下意義相同)
    . previous search(預定義查找)
 
"SEU命令"是功能強大的快捷方法,它可以讓你在同一個會話(session)中,進行各種操作而不用退出到PDM中去.這些命令還提供了快捷的執行其他顯示(display)中的選項的方法.
我經常用全屏的方式使用SEU,或者用專家模式使用SEU(也就是在屏幕底端不顯示命令鍵的模式).有時我甚至忘記了那些命令鍵的功能,但是我從沒有忘記FILE,SAVE等命令.
我在學校的時候,並沒有學習到SEU命令.這些SEU命令的思想就是:讓你儘量快速的進行編碼.現在,我喜歡儘量快的編碼,並且我發現這些命令很簡單而且節省時間.
SEU的命令行在屏幕上方,在"SEU==>"的後面,你可以在這裏輸入你的SEU命令.在這裏按下F1,就可以看到所有你需要的幫助,但是我這裏有一個你可以使用的命令的quick summary:

HIDE
hide命令從視圖上隱藏源代碼行.當你想要略過特定類型的specification或者其它一些行,只想要看到你關心的代碼的時候,這個hide命令是非常有用的.而且如果在你開始編輯之前,你只看到你關心的代碼,這將會減少你出錯的機會.
這個命令的語法是HIDE {String} {Columns} {Area}
String是想要找的字符串.如果這個字符串包含開頭的,嵌在中間的或者託尾的空格,或者是引號;那就用撇號(')把整個字符串括起來.
Columns表示想要在其中進行查找的開始列和結束列(用一個空格分隔).如果只輸入了一個列號,那麼就認爲從第一列找到這一列.如果沒有輸入列號,就認爲查找所有列.
Area是要在其中進行查找的源代碼行.這個Area可以是A或ALL,B或BOTTOM,T或TOP.
A或ALL是指所有的代碼行.
T或TOP是指從當前位置處到正在編輯的這個源代碼成員的最上面一行代碼.
B或BOTTOM是指從當前位置到正在編輯的源代碼成員的最下面一行代碼.
例如,爲了隱藏所有/copy語句,你可以鍵入HIDE / 7 7 A並回車.
爲了隱藏所有註釋,鍵入HIDE * 7 7 A
爲了隱藏從當前位置到source member末尾的所有包含空格的行,鍵入HIDE ' ' B
爲了把被隱藏的行再顯示出來,按F5(Refresh).

FIND
FIND命令可以用來在源代碼成員裏面查找字符串.FIND命令可簡寫成F,後面跟上要查找的字符串.
例如F UPDATE(回車)將會查找源代碼成員中第一個出現UPDATE的地方.爲了查找下一個出現UPDATE的地方,只要按F16(Repeat Find)就可以了.
你甚至不需要輸入F或FIND命令,只要輸入UPDATE並按F16就可以執行相同的查找功能了.
如果你想查找的字符串本身是一個命令的名字,比如C,CHANGE,F,FIND,那麼你就用撇號把它括起來.例如查找FIND就是'FIND'.
查找命令的語法是:
FIND {String} {Direction} {Search lines} {columns}
String是要被查找的字符串.如果它包括空格,或者特殊符號,撇號或雙引號,那麼必須用引號把此字符串括起來.如果你想執行previous search,就使用*,不要帶引號.你可以使用*ERR來查找語法錯誤.
Direction可以是NEXT或N(向下查找),或者PREV或P(向上查找),F或FIRST(查找第一個),L或LAST(查找最後一個),ALL(查找所有的).
Search lines中,你可以指定只查找隱藏的行(用X),或者只查找非隱藏的行(用NX),或者查找所有行(不填Search lines參數).
Columns表示被查找的開始和結束的列(用空格分隔).如果只輸入一個列號,則從第一列開始找到這一列.如果沒有輸入列號,則查找所有列.

CHANGE
CHANGE命令用來在源代碼成員裏面查找並替換字符串.這個命令可以縮寫成C,後面跟上查找和替換用的串.
例如C UPDATE DELETE(回車)將查找源代碼成員中第一個出現的UPDATE.按F16(Repeat Find)查找下一個出現的UPDATE.當找到的時候,用F17(Change)來改變你找到的值.你還可以使用F17一步完成定位和替換的功能.
如果你想要查找一個串本身是一個命令的串,例如C,CHANGE,F,FIND,那麼你就必須用撇號把它括起來.例如,CHANGE 'FIND' 'CHANGE'
這個命令的語法是:
CHANGE {Search string} {Replacement string} {Direction} {Search lines} {Columns}
Search string是要查找的串,Replacement String是一旦找到Search string後,用來替換它的.如
果查找中包含空格,特殊字符,撇號或引號,就必須用引號括起來.如果你想使用previous search就使用*,不要帶引號.
Direction可以是NEXT或N(向下查找),PREV或P(向上查找),F或FIRST(查找第一個),L或LAST(查找最後一個),ALL(查找所有的).
Search lines,如果想只查找隱藏的行,就指定X;如果想只查找非隱藏的行,就指定NX;如果想查找所有行,就忽略這個參數.
Columns表示要進行查找的開始和結束的列(用一個空格分隔).如果只輸入一個列號,則從第一列開始查找.如果沒有輸入列號,則查找所有的列.

SET
SET命令允許你改變你的SEU的缺省設置.
SET的參數有:
CAPS - ON或OFF,用來指定是否全都用大寫字母.
TABS - ON或OFF,用作允許在源代碼行上使用tabs的開關
EXPERT - ON或OFF,設置專家模式(沒有命令鍵顯示在屏幕底端)或非專家模式
ROLL - FULL或F,滾動整個頁
       HALF或H,一次滾動半頁
       CSR或C,滾動到光標的位置
       DATA或D,滾動整個顯示(display)減去一行或列
       Nnn,指定滾動n行
MATCH - ON或OFF,大小寫匹配開關
SHIFT - ON或OFF,指定使用替換功能時是否移動數據

SAVE
SAVE命令用來保存當前源代碼成員的改變.鍵入SAVE(回車)將會立即保存打開的成員到library/file(member)中.
這個命令的語法是:
SAVE {Library/} {file} {member}
Library後面跟着一個/.如果你指定了庫,那你還必須指定文件.缺省是當包含這個正在編輯的成員的庫.
File.如果指定了一個庫,則必須在/後面緊跟着一個文件名.缺省是包含正在編輯的成員的文件.
Member.如果指定了文件名,就必須在一個空格之後跟着一個成員名.
注意:
1. 你輸入的SAVE命令的參數也會出現在Exit顯示的對應的提示中.
2. System/38的方式(FILE.LIBRARY)不被支持.
3. 如果你正在從SDA中編輯DDS註釋,那麼你不可以指定這些參數.

FILE
FILE命令保存成員並從編輯會話中退出.你可以在Edit顯示(display)或分屏的Edit/Browse顯示的頂端命令行處使用FILE命令.如果你在分屏的Edit/Browse顯示中使用這個命令,那這兩個會話都會退出.
這個命令的語法是:
FILE {Library/} {file} {member}
Library參數,同SAVE命令.
File參數,同SAVE命令.
Member參數,同SAVE命令.
注意:
 同SAVE命令.

CANCEL命令
取消編輯或瀏覽會話,並退出.可簡寫爲CAN.
如果在分屏顯示中上面屏幕的命令行中輸入CANCEL,則兩個會話都會退出.如果在下面屏幕的命令行輸入CANCEL,則只有下面的會話會退出.
如果你改變了一個成員,然後輸入CANCEL,系統會提示你,要你確認不想保存這些改變.如果你想要保存,按F12以繼續編輯.
 
 
 
SEU的使用介紹
 
SEU是AS/400系統上的源代碼編輯器,好比UNIX操作系統上的vi編輯器一樣,英文全稱Source Entry Utility。啓動該編輯器的命令爲STRSEU。下面針對該編輯器的使用做一個概括的介紹。
一、SEU的編輯命令
順序號提示顯示記錄的順序號,並且行命令在此輸入。欲輸入行命令,請將它輸入覆蓋構成順序號的數字。若該順序號區域不包含順序號,則請在後隨空格的順序號區域的第一個位置開始輸入命令。                
當 SEU 只展示部分的 DBCS 數據字串時 ( 該數據超出屏幕上行的長度),它會暫時插入移出 (SO) 或移入 (SI) 字符,必要時,則插入一個暫時的 DUP(*) 字符作爲填入字符。 順序號提示顯示 SOSI 指示符,該指示符會告訴您未顯示整個字串。請使用換檔鍵以察看當前屏幕上左邊或右邊的信息。
下面是一些編輯命令的基本用法:
A= 後
請在順序號提示中輸入 A ,以便移動或複製在此記錄之後的記錄。
An= "後"重複 N 次
請在順序號提示中輸入 An ,以便移動或複製在此記錄之後的記錄,並重復這些記錄 n 次。
B= 前面
請在順序號提示中輸入 B ,以便移動或複製記錄在此記錄之前的記錄。
Bn= 前重複 N 次 
請在順序號提示中輸入 Bn ,以便移動或複製在此記錄之前的記錄,並重復這些記錄 n 次。 
C= 複製一行 
將此行復制到指定的目標。 
Cn= 複製 n 行
將此行再加上下 n-1 行復制到指定的目標。
CC= 複製塊 
   複製由兩個 CC 命令所構成的二條邊界之間的所有的行。
CR= 複製記錄和保留命令   
將此記錄複製到指定的目標,並在屏幕上保存此命令。
CRn= 複製 n 個記錄和保留命令   
複製 n 個記錄到指定的目標,並在屏幕上保存此命令。
CCR= 複製記錄塊和保留命令
將 CCR 命令對所定義的記錄塊複製到指定的目標,並在屏幕上保存此命令。
COLS= 列
輸入 COLS 以使自由形式的格式行只在輸入命令的行之前出現。
D= 刪除一行
輸入 D 以刪除此行。
Dn= 刪除 n 行
請輸入 Dn 以刪除此行及之下 n-1 行。 
 
DD= 刪除塊                              
刪除介入兩個 DD 之邊界內的所有行。  
F= 顯示格式行  
輸入 F 以顯示格式行。 
Fxx= 顯示 xx 格式行  
輸入 Fxx 以顯示 xx 格式行。
   
F?= 顯現選擇格式屏幕                                            
請輸入 F? 以顯示"選擇格式"屏幕。並在此屏幕上選擇欲使用的格式。
I= 插入一行 
輸入 I 以在此記錄之後插入一空白行。
In= 插入 n 行
輸入 In 以在此記錄之後插入 n 個空白行。  
IF= 插入一行和顯示格式 
輸入 IF 以插入一空白行,並在此新行前顯示當前格式。        
IFn= 插入 n 行和顯示格式
輸入 IFn 以插入 n 個空白行,並在第一個新行前顯示當前格式。
IFxx= 插入一空白行並顯示 xx 格式     
輸入 IFxx 以便插入一行並在此新行前顯示 xx 格式。
IFxxN= 插入 n 個空白行並顯示 xx 格式 
輸入 IFxxn 以便插入 n 行和在這些新行前顯示 xx 格式。
IF?= 顯示選擇格式屏幕    
輸入 IF? 以顯示"選擇格式"屏幕,並在此新行前以選自該屏幕的格式插入一行。
IF?n= 顯示選擇格式屏幕並插入行 
輸入 IF?n 以顯示"選擇格式"屏幕,並在此新行前插入具有選自該屏幕的格式 n 行。
IP= 插入一行和提示 
輸入 IP 以插入一空白行,並在提示中顯示該行。前記錄的格式會決定欲顯示的提示類型。
  
IPxx= 插入帶有 xx 提示的行    
輸入 IPxx 以插入一行,並在   xx   提示中顯示該行,其中的XX是與 IBM 提供的或用戶定義的提示相關的名稱。 
 
IP?= 顯示選擇提示屏幕   
輸入 IP? 以顯示"選擇提示屏幕"。將會在此屏幕所挑選的提示中顯現插入行。
IS= 插入骨架行
輸入 IS 以插入一行,並初始化該行成爲骨架行保存的數據。
ISn= 插入 n 行骨架行
輸入 ISn 以插入 n 行,並初始化該 N 行到作爲骨架行保存的數據。
L= 將數據向左移 1 個字符
輸入 L 以在此記錄中將數據向左移一個位字符位置。若該記錄第一列中有任何數據,則該記錄只要左移至數據之開始處。
Ln= 將數據向左移 n 個字符 
輸入 Ln 以便將此記錄中的數據向左移 n 個字符位置。若在最前面n列內有任何數據,則該記錄只會左移至數據之開始處。  
LL= 將塊向左移 1 個字符 
由包括行命令本身的兩個 LL 行命令之間的邊界線所定義的數據向左移一字符的位置。若第一列中有任何數據,則該記錄只左移至數據開始處。
LLn= 將塊向左移 n 個字符 
由包括行命令本身的 LLn 和 LL 行命令之間的邊界線所定義的數據向    左移 n 個字符位置。若在最前面 n 列內有任何數據,則該記錄只左移至數據開始處。
LP= 行打印一行 
打印該行。   
LPn= 行打印 n 行 
打印此行和下一個 n-1 行。
LLP= 塊行打印  
在由兩個 LLP 命令形成的邊界之間打印所有行。
LT= 將數據向左移 1 個字符並截斷  
輸入 LT 以在此記錄中將數據向左移 1 個字符的位置。原出現在第一列的任何數據將被除去。
LTn= 將數據向左移 n 個字符並截斷
輸入 LTn 以在此記錄中將數據向左移 n 個字符的位置。原出現在第一列至第 n 列的任何數據將被除去。
    
LLT= 將塊向左移並截斷
由包括行命令本身的兩個 LLT 行命令之間的邊界所限定義的數據向左     移一個位置。原出現在第一列的任何數據將被除去。
                          
LLTn= 將塊向左移 n 個字符並截斷 
把由包括行命令本身的 LLTn 及 LLT 行命令之間的邊界所限定的數據     向左移 n 個位置。所出現的第一列至第 n 列的任何數據將被除去。
M= 移動一行
輸入 M 以移動一行至指定的目標。
Mn= 移動 n 行
輸入 Mn 以移動此行及隨後的 n-1 行至指定的目標。
MM= 移動塊 
在包括邊界本身的由 MM 行命令所定義的邊界之間,將所有的記錄移到指定的目標。
    
O= 覆蓋
輸入 O 以用移動、複製或重複複製行命令所定義的第一行覆蓋此行。
On= 覆蓋 n 行                                                    
輸入 On 以用移動、複製或重複複製行命令所定義的前 n 行,覆蓋此行及隨後的 n-1 行。
OO= 覆蓋塊                                                       
用移動、複製或重覆複製行命令所定義的行覆蓋在包括邊界本身由兩個 OO 行命令所定義的邊界之間的所有的記錄。     
  
P= 顯示提示      
輸入 P 以便顯示在提示中的此行。
Pxx= 顯示 xx 提示   
輸入 Pxx 以顯示   XX   提示中的此行,其中   XX   是與 IBM 提供或用戶定義的提示相關的名稱。
P?= 顯示選擇提示屏幕
輸入 P? 以顯示"選擇提示"屏幕,並查看選自此屏幕的提示中的行。 
R= 將數據向右移 1 個字符  
輸入 R 以在此記錄中將數據向右移一個字符的位置。若該記錄最後一列中有任何數據,則該記錄只會右移至數據之末端。

Rn= 將數據向右移 n 個字符                                   &n   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章