UltraEdit文字編輯器編寫強大的宏教程

roffey發表於2021-03-10

UltraEdit是一款功能強大基於磁碟的文字編輯器、程式設計師的編輯器和十六進位制編輯器。可以用於編輯HTML、PHP、javascript、Perl、C/C++、Python以及其他任何的編碼/程式語言。


編寫宏的最簡單方法不是從頭開始編寫宏,而是讓UltraEdit為您完成大部分工作。UltraEdit的商標功能之一是能夠使用功能強大的宏。

宏選單包含一項稱為快速記錄的功能,如果您瞭解宏的工作原理,則可以為您編寫大部分宏。快速記錄功能會記錄您的操作,直到您告訴它停止為止。

使用quickrecord編寫宏時,其想法是使用鍵盤,UltraEdit的本機功能,模板甚至其他宏來儘可能多地操作文字/資料,以便quickrecord可以記錄您的步驟。停止快速記錄後,您可以返回並手動編輯宏。

例如,您可以返回宏並新增迴圈,條件語句,正規表示式等。

我們多次使用此方法來建立非常複雜的宏,從而節省了我們數小時的工作時間。這只是UltraEdit功能的另一個示例!

讓我們開始...

寫一個宏

對於以下示例,我們將使用管道分隔的資料檔案(包含郵件地址),並將地址格式化為標準格式。此外,我們希望宏在整個檔案中執行,對每個記錄進行格式化。

我們正在使用的示例檔案如下所示:

æ ·æ¬æ°æ®

我們知道,這可能不是您要建立的確切宏,但是請注意用於建立自己的宏的方法。

1.評估“問題”

開啟資料檔案,首先考慮一下您的起點和終點。

最簡單的做法是隻記錄一條記錄,然後確定需要執行什麼操作,而後再擔心會重複該宏。

對於我的示例,這就是我們的開始:
凱文·史密斯| 109橡樹博士|沃克肖|威斯康星州| 53189 |美國
這就是我們要結束的事情:
凱文·史密斯
109紅橡樹
Waukesha博士,威斯康星州53189
美國

2.“Dry run”

逐步介紹如何僅使用鍵盤格式化資料。

請記住,如果您打算使用迴圈(稍後介紹),則需要仔細考慮如何遞增以滿足迴圈條件。

您不一定需要執行此操作,但是在使用快速記錄之前,我會嘗試執行一次步驟,以確保我知道如何獲得所需的結果。

3.快速記錄

轉到宏:快速記錄(CTRL SHIFT R)

4.根據需要逐步格式化資料

對於上面的示例,我在“ |”上進行了查詢。每次我按F3(或“查詢下一個”)時,這會將游標置於管道符號上。

Find Next

然後,在需要的地方按ENTER,空格鍵和','格式化資料,並以此結束:

Formatted

5.停止快速記錄

現在,已根據需要格式化了單個記錄,請在“宏”選單中停止快速記錄。

6.編輯宏

要編輯已錄製的宏,請轉到“宏:編輯宏”。然後,您將看到“編輯/建立宏”對話方塊。

Edit Macro

修改宏屬性

我首先要命名宏,然後為它分配一個熱鍵。單擊編輯宏對話方塊上的“修改”按鈕。

“修改宏”對話方塊將開啟,並允許您重新命名宏並分配熱鍵:

編輯宏

根據您希望宏執行的操作,命令部分列出了許多功能。您可以使用箭頭將其移至上方或手動輸入。有關可用命令功能的更多資訊,請參閱幫助。

您可能已經猜到了,您將在文字區域中進行編輯:

ç¼è¾å®

對於我的示例,我想遍歷整個檔案並設定每個記錄的格式。這稱為迴圈。 迴圈宏

在這裡,您可以方便地使用一些程式設計經驗,因為您可以新增迴圈,條件語句等。本技巧文章的範圍不包括迴圈和條件語句,因為它假定了一些先驗知識。

請記住,並不是每個宏都需要迴圈。但是對於我的示例,我將使用迴圈來遍歷所有資料,直到檔案結束。

迴圈的想法是繼續執行某些操作,直到滿足條件為止,此時迴圈將停止。使用迴圈時,必須確保滿足條件才能停止迴圈,否則迴圈將無限期地執行。

對於我們的示例,要滿足的迴圈條件是檔案的末尾。迴圈的基本邏輯是:'如果游標在檔案末尾,則退出迴圈;否則,請繼續執行這些步驟。IE:
Loop
IfEof
ExitMacro
Else
Action(s)
EndLoop

在記錄鍵盤操作時,在完成所有格式設定後,我有意將游標放在下一行的開頭。因此,我正在“增加”游標的位置,因此在每次迴圈時,我都將游標移到檔案末尾。如果我不這樣做,則迴圈將在第一條記錄上無限旋轉,從而建立“無限迴圈”。

現在,在何處放置迴圈以執行適當的操作。在編輯宏對話方塊中,我的宏如下所示:
ColumnModeOff
HexOff
UnixReOn
StartSelect
Find "|"
"
"
Find "|"
"
"
Find "|"
EndSelect
", "
StartSelect
Find "|"
" "
Find "|"
"
"
EndSelect
Key END
"
"

鍵向下箭頭

我要完成的主要動作是“ StartSelect”下的所有內容。因此,我編輯了宏,使其看起來像這樣:

ColumnModeOff
HexOff
UnixReOn
StartSelect
Loop 
IfEof
ExitMacro
Else
Find "|"
"
"
Find "|"
"
"
Find "|"
EndSelect
", "
StartSelect
Find "|"
" "
Find "|"
"
"
EndSelect
Key END
"
"

鍵向下箭頭
EndIf 
EndLoop
為了幫助您瞭解迴圈/條件語句的流向,請參見以下內容:

Edit Macro Dialog

7.儲存宏

要儲存您建立的宏,您可以切換到其他宏(在下拉選單中)或關閉宏。然後將提示您更新宏。回答“是”。這將更新宏,然後返回到編輯視窗。

您現在可以透過轉到“宏:全部儲存”來儲存宏(以供以後使用)。

Update Macro

8.播放宏

最後,要播放宏,請轉到“宏:多次播放”。

看一下執行宏的結果:

After

請注意,最好先在樣本資料上測試宏,以確保其按預期執行,這是一個好主意。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69995027/viewspace-2762125/,如需轉載,請註明出處,否則將追究法律責任。

相關文章