Parinfer
Sublime Text 的 Parinfer 插件
详情
安装次数
- 总计 3K
- Win 550
- Mac 1K
- Linux 666
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
Linux | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
说明
Sublime Text 的 Parinfer
A Parinfer package for Sublime Text.
什么是 Parinfer?
Parinfer 是一种文本编辑模式,可以从缩进推断 Lisp 代码结构(反之亦然)。有关 Parinfer 的详细解释,请参见 这里。
简单来说,Parinfer 的目标是让您在编写或修改 Lisp 代码时,永远不需要考虑“平衡括号”。只需像平时一样缩进代码,Parinfer 就能推断出预期的括号结构。
安装
包控制
如果您已安装 包控制,则可以轻松安装 Parinfer 软件包
- 在 Sublime Text 中,通过按 Ctrl+Shift+p(在 Mac 上为 Cmd+Shift+p)打开命令面板
- 键入
install
,然后选择Package Control: Install Package
- Package Control 加载来自互联网的软件包列表后,应会短暂出现一个文本提示
- 键入
parinfer
并按 Enter - 这就是全部!Parinfer 已经安装。
Linux / OSX
您可以将此仓库链接到 Sublime Text 软件包目录
cd ~
git clone [email protected]:oakmac/sublime-text-parinfer.git
ln -s ~/sublime-text-parinfer ~/Library/Application\ Support/Sublime\ Text/Packages/Parinfer
Windows
cd %APPDATA%\Sublime Text 2\Packages
git clone https://github.com/oakmac/sublime-text-parinfer.git Parinfer
使用方法
文件扩展名
安装完成后,当您打开具有已知文件扩展名的文件时,Parinfer 会自动激活。
您可以通过转到“首选项”->“包设置”->“Parinfer”->“设置”来更改要监视的文件扩展名列表。
打开文件
当打开具有识别扩展名的文件时,Parinfer 将进入 Parinfer: 等待
模式,等待对缓冲区的第一次编辑。当第一次编辑发生时,Parinfer 将进入 Parinfer: 缩进
模式并开始根据缩进控制闭合括号。
v1.0.0 版本的行为变化
在 v1.0.0 之前,当打开文件时,Parinfer 会首先在整个文件上运行括号模式,然后再进入缩进模式(更多详情请参见 修复现有文件)。对于 Parinfer 的普通用户来说,这并不成问题,因为使用 Parinfer 编写的文件运行括号模式将不会导致任何变化。
然而,当用户打开的不是使用 Parinfer 编写的文件时,这可能会对 Parinfer 新手造成 一些混淆,他们可能会看到他们本不想编辑的地方发生了编辑。
从 v1.0.0 开始,Parinfer 将首先进入“等待”模式,并且在第一次修改缓冲区后才开始控制闭合括号。如果您希望使用 v1.0.0 之前的旧版本行为,请将配置设置 run_paren_mode_when_file_opened
设置为 true
。
此外,还有一个新的 Parinfer: 在当前缓冲区运行括号模式
命令,可以在任何时候执行,并将括号模式运行在整个活动缓冲区上。
快捷键和状态栏
命令 | Windows/Linux | Mac |
---|---|---|
开启/切换模式 | Ctrl+( | Cmd+( |
关闭 | Ctrl+) | Cmd+) |
状态栏将指示您所在的模式或如果 Parinfer 关闭则显示无内容。
父表达式黑客
出于性能原因,此扩展使用了可能在实际情况下导致奇特行为的黑客技巧。它假设位于行首的开放式括号后面跟着一个字母字符,即:正则表达式 ^\([a-zA-Z]
是一个新的“父表达式”的开始,并告诉 Parinfer 算法从该处开始分析,直到下一个与之匹配的行。这种假设在大多数情况下可能是正确的,但可能会在多行字符串或其他非常规环境中被打断。这已在 问题 #23 中跟踪;如果您遇到问题,请添加到该问题中。