編集エリア

編集エリアは、空であるか、または「プログラムエディタの起動」のプログラムの例に示すように、コマンド EDIT または READ を使用してソースワークエリアに最後に読み込まれたソースコードが表示されます。

既存のオブジェクトのソースを読み込むと、ソースコード全体がソースワークエリアにロードされ、編集できるようになります。ただし、ソースのサイズによっては、ソース行の一部のみが編集エリアに表示される場合があります。その場合は、ソースを下方にスクロールして(「スクロール用エディタコマンド」を参照)、表示または編集する行へ移動することが必要です。

また、画面分割モード(関連セクションを参照)を使用する場合、編集エリアに表示されるソースコード行数が少なくなります。

ソースコードの作成または変更には、いくつかの方法を使用できます。

  • 関連するソース行で、テキストを直接入力または更新します。

  • 関連セクションの説明に従って、1 つ以上の行コマンドを使用します。

    行コマンドは、現在のソースコード内で、行の挿入や削除、変数定義やフィールド定義のコピーなどに使用します。

  • スクロール用エディタコマンド」、「エディタコマンド」、および「PA/PF キーの割り当ての表示および変更」の説明に従って、1 つまたは複数のエディタコマンドや代替 PF キーを使用します。

    エディタコマンドは、ソースのスクロール、テキスト文字列の検索と置換、編集操作の取り消し、エディタプロファイル機能の呼び出し、変数定義またはフィールド定義のコピーに使用するための別オブジェクトの表示などに使用します。

このセクションでは、次のトピックについて説明します。


テキストの挿入

このセクションでは、行コマンドを使用して現在のソースにテキストを挿入する手順例について説明します。

Start of instruction setテキストをソースに挿入するには

  1. 目的のソース行の横にある接頭辞エリアの左端の列に、I(挿入)コマンド(「行コマンド」を参照)を入力し、接頭辞エリアの文字を一時的に上書きします。

    例えば、次の行コマンドを入力します。

    I5

    挿入モードが有効になって一連のアポストロフィ('''''')が表示され、行コマンドを入力した行の下に空のソース行が 5 行挿入されます。カーソルは、最初の空ソース行の先頭に配置されます。

  2. 空のソース行にテキストを入力します。ENTER キーを押すと、空行がソースから削除されます。

    アポストロフィは行番号に置き換わり、新しいテキストがソースに組み込まれたことを示します。

ソース行番号の再設定

オブジェクトのソースコードに行を追加すると、追加された行に 10 単位の増分で番号が設定されます。ソースコードに行を挿入すると、最初の行を 000010 とする 10 単位の増分で、ソースコードのすべての行に番号が自動的に再設定されます。

増分は、『システムコマンド』ドキュメントで説明しているシステムコマンド RENUMBER を使用して変更できます。

Programming Guide』の「ソースコード行番号参照の変更」も参照してください。

テキストのコピーおよび貼り付け

このセクションでは、コピー機能と貼り付け機能を使用して現在のソース内でテキストをコピーする手順について説明します。現在のソースに別の Natural オブジェクトからテキストをコピーする手順については、「SPLIT を使用して定義を表示およびコピーするには」を参照してください。

Start of instruction setテキストを切り取るかコピーしてソースに貼り付けるには

  1. テキストを切り取るかコピーしてクリップボードに格納します。

  2. クリップボードに切り取るかコピーしたテキストを配置するために必要な数のソース行を追加します。このことは、例えば、次の手順を実行します。

    • I 行コマンドを使用して行を挿入します。

    • 新しい行に何か文字を入力します。

    • 新しい行を Rn 行コマンドを使用してコピーします。n は繰り返し数です。

  3. コマンド行で、次のように入力します。

    PROTECT ON

    このコマンドは接頭辞エリアを保護し、貼り付けられる行が 72 文字を超えている場合にソース行が上書きされないようにします。

  4. テキストの貼り付け先となるソース行の先頭行の先頭列にカーソルを置きます。

  5. 端末エミュレーションの貼り付け機能を選択するか、CTRL+V キーを押します。

    クリップボードに配置されたテキストが、カーソル位置からソースの末尾に向けて、ソース行に貼り付けられます。

    貼り付けられた行が、ソースからコピーされた 6 桁の行番号で始まっている場合は、次の手順で行番号を削除できます。

  6. コマンド行で、次のように入力します。

    PROTECT OFF

    接頭辞エリアが保護されなくなり、行コマンドの入力が可能になます。

  7. 貼り付けられた行のうち、コピーされた行番号を含む行の横で次の行コマンドを入力します。

    (7

    その行が 7 列左にシフトされ、行番号が削除されます。

データウィンドウを使用したテキストのコピーまたは移動

データウィンドウを使用すると、行の先頭や最後で始まったり終わったりしないテキストをコピーまたは移動できます。データウィンドウ機能は、行コマンドおよび/またはエディタコマンドを使用して実行できます。

ウィンドウを定義すると、そのウィンドウの開始から終了までの間にある画面上のすべてのテキストが、ウィンドウの一部となります。

データウィンドウの使用例

このセクションでは、行コマンドまたは対応するエディタコマンドを使用して、データウィンドウを持つテキストを定義または移動する例について説明します。

この例では、手順 1 に示すテキストを使用し、Note that when...(行 80)で始まる文全体を、...copy operations(行 30)で終わっている表示テキスト部分の最初の文の後ろに移動します。

Start of instruction set行コマンドを使用してウィンドウを定義および移動するには

  1. 次に示すように、テキストを入力します。

    >> -----------Columns 001 072 <<     Text WINEX    Lines  10     User MMO       
    Command ===>                                       Mode   Report Lib  SAGTEST   
    ****** ****************************** top of data ***************************** 
    000010 Copy a Window with Text                                                  
    000020                                                                          
    000030 You can specify a window with text for move or copy operations. This     
    000040 allows you to copy or move text that does not start or end at the        
    000050 beginning or end of a line. This function can be performed using         
    000060 line commands and/or editor commands.                                    
    000070                                                                          
    000080 Below are some examples of copying windows with text. Note that when     
    000090 you define a window, all text on your screen between start and end of    
    000100 the window become part of the window. Available line commands are:       
    ****** **************************** bottom of data **************************** 
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
                                                                                    
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- 
          Help  Save  Exit  Run   Rfind Stow              Check Home  Undo  Canc
    
  2. 移動するテキストの先頭行である行 80 に行コマンド WS を入力し、対象とする列(単語 NoteN)にカーソルを置いて ENTER キーを押します。

    行 80 の接頭辞エリアにメッセージ「WS55」が表示され、この列番号が選択されたことを示します。

    >> ----------Block is pending <<     Text WINEX    Lines  10     User MMO      
    Command ===>                                       Mode   Report Lib  SAGTEST  
    ****** ****************************** top of data *****************************
    000010 Copy a Window with Text                                                 
    000020                                                                         
    000030 You can specify a window with text for move or copy operations. This    
    000040 allows you to copy or move text that does not start or end at the       
    000050 beginning or end of a line. This function can be performed using        
    000060 line commands and/or editor commands.                                   
    000070                                                                         
    WS55   Below are some examples of copying windows with text. Note that when    
    000090 you define a window, all text on your screen between start and end of   
    000100 the window become part of the window. Available line commands are:      
    ****** **************************** bottom of data ****************************
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Save  Exit  Run   Rfind Stow              Check Home  Undo  Canc
    
  3. 移動するテキストの最終行である行 100 に行コマンド WE を入力し、移動する最後の列(window の後のピリオド(.))にカーソルを移動して ENTER キーを押します。

    行 100 の接頭辞エリアにメッセージ「WE37」が表示されます。

    >> ----------Block is pending <<     Text WINEX    Lines  10     User MMO      
    Command ===>                                       Mode   Report Lib  SAGTEST  
    ****** ****************************** top of data *****************************
    000010 Copy a Window with Text                                                 
    000020                                                                         
    000030 You can specify a window with text for move or copy operations. This    
    000040 allows you to copy or move text that does not start or end at the       
    000050 beginning or end of a line. This function can be performed using        
    000060 line commands and/or editor commands.                                   
    000070                                                                         
    WS55   Below are some examples of copying windows with text. Note that when    
    000090 you define a window, all text on your screen between start and end of   
    WE37   the window become part of the window. Available line commands are:      
    ****** **************************** bottom of data ****************************
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
                                                                                   
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Save  Exit  Run   Rfind Stow              Check Home  Undo  Canc
    
  4. 行コマンド WM を行 30 に入力し(テキストは次の行である行 40 に移動)、行 30 を分割する列(単語 This の前の空白)にカーソルを移動します。ENTER キーを押します。

    指定されたテキストセクションが移動します。

    >> -----------Columns 001 072 <<     Text WINEX    Lines  13     User MMO      
    Command ===>                                       Mode   Report Lib  SAGTEST  
    ****** ****************************** top of data *****************************
    000010 Copy a Window with Text                                                 
    000020                                                                         
    000030 You can specify a window with text for move or copy operations.         
    000040 Note that when                                                          
    000050 you define a window, all text on your screen between start and end of   
    000060 the window become part of the window.                                   
    000070 This                                                                    
    000080 allows you to copy or move text that does not start or end at the       
    000090 beginning or end of a line. This function can be performed using        
    000100 line commands and/or editor commands.                                   
    000110                                                                         
    000120 Below are some examples of copying windows with text.                   
    000130                                       Available line commands are:      
    ****** **************************** bottom of data ****************************
                                                                                   
                                                                                   
                                                                                   
                                                                                   
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Save  Exit  Run   Rfind Stow              Check Home  Undo  Canc
    

次に示すコマンドシーケンスを使用すると、上記の手順と同じ結果が得られます。

Start of instruction setエディタコマンドを使用してウィンドウを定義および移動するには

  1. 上記の手順 1 に示すテキストを入力します。

  2. コマンド行で、次のように入力します。

    WINDOW 80 100 55 37;MWINDOW 30 64

    指定されたテキストセクションが、上記の手順 4 に示すように移動します。

テキストの検索および置換

このセクションでは、現在のソースで文字列を検索および置換する手順について説明します。

Start of instruction setソースに含まれている文字列を検索および置換するには

  1. 次のエディタコマンドを使用して、文字列を検索します。

    FIND 'string'

    string は任意の英数字文字列です。

    指定した文字列の最初のオカレンスが検索されます。

  2. 次のコマンドを使用して、検索された文字列を置換します。

    CHANGE 'string'  'new-string'

    または:
    PF5 キーを押して、次のオカレンスを検索します。

    使用するコマンドに応じて、文字列の最初のオカレンスが置換されるか、文字列の次のオカレンスがあればそれが検索されます。

  3. PF17 キーを押して、検索された文字列を置換します。

    または:
    PF5 キーを押して、次のオカレンスを検索します。

    使用する PF キーに応じて、文字列の次のオカレンスが置換されるか、文字列の次の次のオカレンスがあればそれが検索されます。

ソースコードのフォーマット

ソース行を段落付けすることにより、ソースコードをフォーマットできます。段落付けは、レポーティングモードで作成されたソースの場合とストラクチャードモードで作成されたソースの場合では、異なる方法で実行されます。

Start of instruction setソースコードをフォーマットするには

  1. コマンド行で、次のシステムコマンドを入力します。

    STRUCT

    ソースコードの行が段落付けされます。

詳細については、『システムコマンド』ドキュメントの STRUCT の説明を参照してください。

ソースコードのチェック

Start of instruction set現在のソースコードの構文エラーをチェックするには

  • エディタ画面で PF9 キーを押します。

    または:
    コマンド行で、次のように入力します。

    CHECK

    ソースワークエリアに現在表示されているソースコードの構文エラーがチェックされます。構文エラーが検出されるとエラーメッセージが表示され、エラーがある行番号と定義が示されます。