最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

管理程式碼片段 (Snippet) 的 yasnippet 套件

XAMPP下载 admin 943浏览 0评论
 程式碼片段 (snippet)
當編輯程式時,有時候會有一些固定的程式碼當作範本,然後在依照自己想要的部分加入,舉個例子,寫 HTML 時,最常用的片段就是
<!doctype html>
<html>
<head>
<meta charset=”UTF-8″/>
<meta name=”viewport” content=”width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scal\e=1.0″/>
<meta http-equiv=”X-UA-Compatible” content=”IE=edge,chrome=1″/>
<title></title>
</head>
<body></body>
<ml>
如果每次寫一個這種檔案,每次都要重新打一次,真的是浪費生產力,因此每個編輯器都會有讓使用者自己定義 Snippet 的功能,只要定義一次,配合所需要的關鍵字 (key),編輯器就會帶出相對應得程式碼,這就是 Snippet 的功能
安裝 Yasnippet
前面 介紹過 Emacs 的套件管理,我們之後的套件都會使用 use-package 來做管理
加入以下程式到 ~/.emacs.d/init.el
(use-package yasnippet
:ensure t
:config
(yas-global-mode)
(use-package yasnippet-snippets :ensure t)
)
將 yasnippet 次模式設定為全區 (global) 模式,意思是不管什麼主模式,我們都會使用這個次模式,當然這個設定看使用者習慣,因為我用 Emacs 主要來寫程式,所以我會把這個選項開啟。
yasnippet 這個套件並沒有帶現成的 snippet, 因此我們會加入 yasnippet-snippets 這個套件,這個套件包含了相當多的程式預設 snippets
QQ截图20181012165116
 不同的主模式,可以定義自己的 snippet,舉個例子,在 C++模式 下的 main 跟 Python 模式 下的 main 當然會不同
我們也可以自己定義 snippet,或者使用別人定義過的
使用 yasnippet
當進入一個新的模式時,你可以使用 Meta-x yas-describe-tables 來看在這個模式下現存的 snippets ,例如在 Emacs Lisp 模式下
QQ截图20181012165128
 要看它的定義時,只要將游標移到要看的目標的反白部分,按 Enter,就可以進入他的定義
QQ截图20181012165138
 # -*- mode: snippet; -*-
#contributor: Xah Lee (XahLee.org

)
#name: add-hook
#key: add-hook
#key: ah
# —
(add-hook ‘${1:name}-hook ${2:’${3:function}})$0
用 # 來區分表頭,key 就是讓使用者啟動這個 snippet 的關鍵字
$1 或者 ${1:name} 是只游標停留的第一個位置,按 Tab 鍵會到 $2 或者 ${2: …},$0 是完成輸入後游標預設的位置
試試看,在 test.el 下,打入 ah,然後按 Tab 鍵,就會帶出如下

QQ截图20181012165256
 因為定義了 name,會將 name 選起來,等待使用者來打入新的字,打完後按一下 Tab 鍵會到下一個位置如下
QQ截图20181012165305
 因為使用者可能會使用匿名函數,所以讓使用者停在第一個位置,如果直接打的話,就會將 ‘function 取代,如果的確要使用 function,那就再按一次 tab,就會停在 function 上,讓使用者來取代 function 的字,打完後再按一次 tab 就會將游標移到最後
QQ截图20181012165314
 自己定義 Snippet
自己定義的 snippet 預設會在 ~/.emacs.d/snippets 下,如果你在 C模式 下定義,它會為你開一個 c-mode 的目錄,底下存放這些定義
Emacs 定義的方式,使用M-x yas-new-snippet 或者快速鍵 Ctrl-c & Ctlr-n,進入
QQ截图20181012165325
 自己可以定義 name 跟 key 以及要使用的程式片段,例如
QQ截图20181012165554
 按 Ctrl-c Ctrl-c 來儲存,它會猜你要存放的主模式,當然你也可以自己設定
QQ截图20181012165603
 接著會存放這個 snippet,系統會有建議的目錄
QQ截图20181012165646
 如果目錄不存在,會問使用者要不要建立目錄,

QQ截图20181012165651
 按 y,後就可以存檔
接著就可以使用

转载请注明:XAMPP中文组官网 » 管理程式碼片段 (Snippet) 的 yasnippet 套件

您必须 登录 才能发表评论!