我知道 MacVim,虽然它很好用,但我经常使用终端。如果我可以只使用一个程序,为什么要运行两个程序呢?
所以问题是,如何使 VIM(在 iTerm2 中运行)成为默认文本编辑器?
答案1
请参阅我的回答这里,但使用运行 AppleScript在 Automator 中执行操作并使用以下 AppleScript 代码:
on run {input, parameters}
if (count of input) > 0 then
tell application "System Events"
set runs to false
try
set p to application process "iTerm"
set runs to true
end try
end tell
tell application "iTerm"
activate
if (count of terminals) = 0 then
set t to (make new terminal)
else
set t to current terminal
end if
tell t
tell (make new session at the end of sessions)
exec command ("vim \"" & POSIX path of first item of input as text) & "\""
end tell
if not runs then
terminate first session
end if
end tell
end tell
end if
end run
如果没有,这将打开一个新的 iTerm 窗口,否则将打开一个新选项卡,并在其中打开文件。结果:
答案2
以下应该有效(对我有用):
如果使用 bash shell,则在 ~/.bashrc 中写入以下两个命令,或者在 ~/.zshrc 中写入以下两个命令
export EDITOR=nano
export VISUAL="$EDITOR"
参考: https://unix.stackexchange.com/questions/501862/how-can-i-set-the-default-editor-as-nano-on-my-mac
答案3
这是通过单击 iterm 命令在终端 vim 中打开文件的一种非常简单的方法。如果指定了行号,它还会跳转到行号。您需要下载其中一个夜间版本才能获得协同处理功能。
点击:首选项 -> 配置文件 -> 高级
在“语义历史”下,选择“运行协同进程...”。在文本字段中输入:echo vim \1 +\2
答案4
我不知道您是否仍在寻找这个,但这里有一个非常简单的方法可以在 macOS 上将您的默认编辑器设置为 Vi
只需执行 set -o vi