Alfred Workflow 在终端中打开 vim 中的文件
Alfred Workflow to open a file in vim in the terminal
我们如何编写一个 alfred 工作流来将文件从 finder 打开到 vim 编辑器?
这是我第一次尝试在 Alfred 中创建工作流。
我还在学习,想从一个简单的工作流程开始。
在这里,我首先创建了热键和关键字。
Open the Alfred3
Go to Workflows
Click + sign at the bottom left sidebar
Choose Blak Workflow
Name: Vim Launcher
Description: Opens a file in the terminal inside vim editor
1. Right-click > Trigger > press cmd-alt-v
2. Right-click > Inputs > Keyword > open in vim and title also open in vim
3. Right-click > Actions > Run NSAppleScipt
复制粘贴以下内容到Run NSAppleScipt
on alfred_script(q)
tell application "Terminal"
activate
do script "vim '" & q & "'"
end tell
end alfred_script
此工作流程有效,但会打开两个终端而不是一个。
我们怎样才能修复这个 make,让它只打开一个 window?
工作流程总结如下。
你想要一个 Terminal Command 动作。
只需将此对象连接到您的触发器并在其上使用 vim "{query}"
。
编辑:
我正在编辑答案以回复询问后续问题的评论:
The workflow now create new termnial for each file, can we make it open in the same terminal if a terminal is already running?
在这种情况下,可以使用 Run NSAppleScript
对象,不同之处在于我们必须指定 do script
应该 运行 的位置,因为它总是打开一个新的 [=26] =] 如果没有指定位置:
on alfred_script(q)
tell application "Terminal"
if not (exists window 1) then reopen
activate
do script "vim '" & q & "'" in window 1
end tell
end alfred_script
我们如何编写一个 alfred 工作流来将文件从 finder 打开到 vim 编辑器?
这是我第一次尝试在 Alfred 中创建工作流。 我还在学习,想从一个简单的工作流程开始。
在这里,我首先创建了热键和关键字。
Open the Alfred3
Go to Workflows
Click + sign at the bottom left sidebar
Choose Blak Workflow
Name: Vim Launcher
Description: Opens a file in the terminal inside vim editor
1. Right-click > Trigger > press cmd-alt-v
2. Right-click > Inputs > Keyword > open in vim and title also open in vim
3. Right-click > Actions > Run NSAppleScipt
复制粘贴以下内容到Run NSAppleScipt
on alfred_script(q)
tell application "Terminal"
activate
do script "vim '" & q & "'"
end tell
end alfred_script
此工作流程有效,但会打开两个终端而不是一个。 我们怎样才能修复这个 make,让它只打开一个 window?
工作流程总结如下。
你想要一个 Terminal Command 动作。
只需将此对象连接到您的触发器并在其上使用 vim "{query}"
。
编辑:
我正在编辑答案以回复询问后续问题的评论:
The workflow now create new termnial for each file, can we make it open in the same terminal if a terminal is already running?
在这种情况下,可以使用 Run NSAppleScript
对象,不同之处在于我们必须指定 do script
应该 运行 的位置,因为它总是打开一个新的 [=26] =] 如果没有指定位置:
on alfred_script(q)
tell application "Terminal"
if not (exists window 1) then reopen
activate
do script "vim '" & q & "'" in window 1
end tell
end alfred_script