命令列
ctags.exe --options=ctags.cnf -l *
ctags.cnf內容(此檔案編寫最好是utf-8或ascii的,因為ctags.exe有時會因為編碼問題不能正確讀入此檔案)
--langdef=powershell
--langmap=powershell:.psm1.ps1
--regex-powershell=/^[\t ]*function[\t ]*([a-v]:)?([a-z_-]+)/\2/m, method/i
-f ctags.txt
正則稍微說一下吧:
([a-v]:)? 為匹配scope,如private, local, global, script
([a-z_-]+) 為匹配函式名稱,因沒有在函式中使用數字的習慣,所以沒有新增帶有數字的模式,如果要帶數字,則用([a-z0-9_-]+)
\2 讓ctags把第二個括號所匹配的內容當作函式名來記錄,如果改為\1後,當函式宣告帶有scope時,ctags認為函式名為scope,即把"private:", "local:", "scripts:"等等當作函式名稱來記錄
/i 代表忽略大小寫
這個檔名(ctags.cnf)可以隨便定義,不過預設ctags.exe會自動在當前路徑或環境變數%ctags%(如果存在的話)中載入ctags.cnf這個檔案,所以如果你用的此檔案儲存命令,在命令列可以這樣寫
ctags.exe -l*
哦,對了,使用檔案定義命令時,
-f 一定要寫在檔案裡,在命令列中新增這個命令是無效的,會被ctags.exe認為二次定義而報錯,從而使用
ctags為預設輸出檔案
如果沒用檔案來定義命令,在命令列寫入時,正則一定要用引號引起來,因為正則中帶有空格,會被ctags.exe認為是分隔符
此定義可以匹配的function格式:
function script:test-path
function test-path
function test
我在ultraedit中使用ctags時,要跳轉時需要選中完整的函式名稱,因為ultraedit認為
- 是隔離符號而非函式名稱的一部分
我只是定義了如何搜尋function,沒定義怎樣搜尋variable,因variable名字重複率高且定義格式又有很多種(主要是人太懶了)。
如果你想variable的正則,自ctags.cnt中另起一新行寫入下面的引數即可
--regex-powershell=你寫的variable正則
Windows指令碼初探之PowerShell初識
windows powershell是針對網路系統管理而開發出來的,是微軟開發的下一代命令列外殼以及指令碼語言,可以用於取代目前的cmd.exe命令列介面以及vbscript指令碼語言。cmd.exe命令列介面是dos命令列的繼任者,而vbscript最開始主要針對用於網頁設計。windows po...
在Centos 7上面安裝Powershell
powershell開源已經有一段時間了,在technet的blog上面也有簡單的介紹。powershell on linux and open source windows powershell blog 下面是在centos 7上面安裝powershell工具。安裝完成後,我們可以執行get c...
ctags使用簡介
linux下軟體開發者必備利器 ctags使用簡介 vi 大家都很熟悉,某些情況下它是我們在linux下唯一可用的文字編輯器。其實我們平時所指的vi其實是 vim viimproved,vi增強版 有人常常拿vim和emacs比較,vim儘管不象emacs那樣有那麼多的功能,但是比emacs更方便 ...