小编Tim*_*imo的帖子

如何在 zsh 中将编辑器命令设置为 *only* 用于编辑命令行?

当我点击Ctrl+ xCtrl+ ein 时zsh,我可以通过$EDITOR或编辑当前命令行$VISUAL。但是,我想使用nano, 并在那里获得 shell 语法的语法高亮显示,我必须通过-Y sh,因为nano在编辑命令行时不会自动识别 shell 语法(zsh创建时/tmp/random-name没有.sh扩展名传递给nano)。

我可以执行

EDITOR='nano -Y sh'
VISUAL="$EDITOR"
Run Code Online (Sandbox Code Playgroud)

然后按Ctrl+ x, Ctrl+e以获得所需的结果。但是,其他程序也使用$EDITOR/ $VISUAL。如果我设置$EDITOR/$VISUAL如上所述,然后执行(例如)git commit,则提交消息将突出显示为 shell 语法,这是我想避免的。

我也试过

EDITOR='nano -Y sh' fc
Run Code Online (Sandbox Code Playgroud)

确实有效,但是每次输入似乎有点冗长(尽管我可能会将它放在一个函数中)。此外,fc使用最后一个历史命令行预填充命令行,要使用它,我必须输入命令。这意味着我无法输入一些长命令zsh,然后决定nano像使用键盘快捷键一样编辑它。

那么,有没有办法让我告诉 …

zsh

4
推荐指数
1
解决办法
357
查看次数

标签 统计

zsh ×1