如何创建Mac OS X全局热键以在vim“标记”处的MacVim.app中打开.txt文件?


1

我可以并且如何创建Mac OS X全局热键(可能映射到OS X服务,例如OmniFocus和Fantastical提供的功能分别在其收件箱/日历中输入新内容),以便在MacVim.app中打开特定的.txt文件。在特定的vim标志处

我怀疑我可以将Automator / AppleScript或类似的东西与vim的“全局”标记结合使用来完成此操作,但不确定。

Answers:


2

两种可能是Keyboard MaestroAlfred。Keyboard Maestro将设置全局键盘快捷键。

我假设有一个MacVim命令行实用程序,如BBEdit,也可以在特定的“ vim mark”处打开。例如,调用BBEdit的命令bbedit并使用“:xy”打开特定的行号,其中“ xy”是行号。您可以使用以下命令制作Keyboard Maestro快捷方式,该快捷方式将打开特定文件

/usr/local/bin/bbedit /path/to/filename:33

0

这是一个有趣的:),我想通了!

该解决方案基于3个步骤(您也可以在2个步骤上完成):

  1. 创建一个shell脚本,在特定的vim标记上打开所需的文本文件
  2. 创建一个Automator工作流程来运行此脚本
  3. 向工作流程添加快捷方式

开始了:

1. Shellscript在特定的vim标记上打开文本文件:launchlog.sh

# $HOME/bin/launchlog.sh
# This will open $HOME/test.txt on vim mark b
/Applications/mvim -c "execute 'normal! \`b'" $HOME/test.txt

2.创建一个Automator工作流程

关于如何制作Automator工作流,有很多教程。坚持一个最适合您的描述。

您需要创建一个执行Shell脚本的工作流。在此将路径粘贴到脚本。我的工作流程称为openJournal.workflow

运行Shell脚本的Automator工作流程(德语版)

提示:工作流存储在 $HOME/Library/Services

3.为工作流程分配快捷方式

可以在“系统偏好设置”>“键盘”>“快捷方式”下完成。在服务部分下,您可以为刚创建的工作流程分配键盘快捷键。在我的示例中,我添加了Shift + Ctrl + Jas快捷方式。 将键盘快捷方式添加到工作流程

现在,您可以b通过敲击Shift + Ctrl + J键盘在特定的vim标记(在我的示例中为vim标记)上打开特定的文本文件。

当然,仅当在文本文件上设置了vim标记b时,此方法才有效。

分两步做

您可以将外壳程序脚本的内容放入Automator工作流程中。

因此,您将跳过外壳脚本本身的创建。但这带来了一个缺点,即如果您想要其他行为,则必须更改自动化程序工作流程。我本人喜欢只更改shell脚本并具有所需行为的灵活性。

希望能有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.