macOS下如何让Python REPL按<Esc>v启动Vim而非vi?
解决Python REPL中
<Esc>v启动指定Vim而非vi别名的问题 好问题!我之前也碰到过类似的需求——既要保留vi作为旧版Vim 7.3的别名,又想让依赖editline的工具(比如Python REPL)在按<Esc>v时启动目标Vim。咱们可以通过editline的专属配置直接指定编辑器路径来实现,具体步骤如下:
步骤1:找到目标Vim的真实路径
首先得确定你想启动的Vim的实际可执行文件路径,避开别名的干扰。在终端里执行:
which vim
比如会得到类似/usr/bin/vim或者/usr/local/bin/vim的输出,把这个路径记下来。
步骤2:修改~/.editrc配置文件
打开你的~/.editrc,在已有的bind -v那一行下面,添加一行指定编辑器的配置,把刚才拿到的Vim路径填进去:
bind -v set editor /usr/bin/vim # 替换成你实际查到的Vim路径
原理说明
editline默认会调用系统的vi命令响应<Esc>v操作,而通过set editor配置项,我们可以直接指定具体的可执行文件路径,完全绕过vi别名的指向。这样既保留了vi作为旧版Vim 7.3别名的设置,又能让Python REPL(以及其他基于editline的工具,比如bc、ftp等)在触发编辑时启动你想要的Vim。
至于Bash那边依赖$EDITOR变量的机制,完全不受这个配置的影响,会继续正常工作。
内容的提问来源于stack exchange,提问作者A S
相关产品推荐
相关产品推荐

