Mac 老司机: Ulysses + KeyboardMaestro 快捷键:怎么实现如下功能:

2016-11-24 22:25:25 +08:00
 xx0219

<button class="num" id="num1">1</button>
<button class="num" id="num2">2</button>

~~ ~~~
~~ <button class="num" id="num1">1</button>
~~ <button class="num" id="num2">2</button>
~~ ~~~
~~ {: .language-ruby}

其实就是 在 MD 软件 按下一个快捷键 就自动实现 jekyll blog 里面的代码高亮而已....

也就是任意 一段代码
1.每行前面加上 两波浪号 (这个功能 ulysses 有自带快捷键可以实现.可能需要设置.)
2.代码首尾 加上 ~~ ~~~
3.最后一行 加上 ~~ {: .language-ruby}

之前我的解决方法是 把代码剪切 存到一个变量 ... 然后粘贴回去...
但是 不知道是系统问题 还是软件问题... 经常出错 但是有时候又是成功的...

强迫症 实在是受不了了....

2857 次点击
所在节点    macOS
7 条回复
laxapple
2016-11-25 00:23:08 +08:00
思路没问题,具体怎么出错?
我估计你需要在一些关键步骤间加个 0.x 秒的延迟
minamike
2016-11-25 09:33:01 +08:00
这个 shell script 应该可以:

pbcopy|pbpaste|sed -e 's#^#~~ #'|awk '1; BEGIN {print "~~ ~~~ "}'|awk '1; END {print "~~ ~~~ "}'|awk '1; END {print "~~ {:.language-ruby}"}'|pbcopy

选中需要格式的文本 运行这个 script 再粘贴应该就可以了
minamike
2016-11-25 10:01:49 +08:00
@minamike 我错了 把前面的 pbcopy| 去掉,改成

pbpaste|sed -e 's#^#~~ #'|awk '1; BEGIN {print "~~ ~~~ "}'|awk '1; END {print "~~ ~~~ "}'|awk '1; END {print "~~ {:.language-ruby}"}'|pbcopy
idigital
2016-11-25 10:19:45 +08:00
你看看是没复制上还是没粘贴上
xx0219
2016-11-29 19:27:44 +08:00
@minamike 你好 我自己研究了下 自己写了个
pbpaste | sed 's/^/~~ /; 1{x;p;x;}; $G' | sed '1s/^$/~~ ~~~/; $s/^$/~~ ~~~/' | sed '$G' | sed '$s/^$/~~ {: .language-ruby}/' | pbcopy

现在的问题是 英文 正常能高亮了. 但是中文 就全部显示成问好 ? 了..... 知道怎么弄么?
minamike
2016-11-29 19:58:55 +08:00
@xx0219 貌似是和 unicode 编码有关的 我也不清楚 我以前也遇到过 在 terminal 里运行输出就正常 其他地方运行输出就变问号 😂
minamike
2016-11-29 20:25:33 +08:00
@xx0219 试试这个
export __CF_USER_TEXT_ENCODING=0x1F5:0x8000100:0x8000100; pbpaste | sed 's/^/~~ /; 1{x;p;x;}; $G' | sed '1s/^$/~~ ~~~/; $s/^$/~~ ~~~/' | sed '$G' | sed '$s/^$/~~ {: .language-ruby}/' | pbcopy

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/323093

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX