默认编辑器怎么设为emacs终端版?

  • bash里的VISUAL和EDITOR环境变量,怎么设为emacs终端版?

bash_profile把emacs做别名,用终端版,然后把VISUAL和EDITOR都设成emacs,如下:

alias emacs='emacs -nw'
export VISUAL='emacs'
export EDITOR='emacs'

但是其他程序弹出编辑器的时候还是弹出GUI版,我试过把-nw直接加到变量值里也不行。

有啥办法可以设为终端版?

emacs 26.1使用emacs -nw报错,25.3还可以用,现在该如何打开终端emacs啊

我这里 emacs -Q -nw 是正常在终端中打开的, M-x version

GNU Emacs 26.1 (build 1, x86_64-redhat-linux-gnu, GTK+ Version 3.22.30) of 2018-06-26
  1. 其他程序是什么程序?也是终端程序吗?

  2. 如果 export EDITOR='emacs -nw' 不起作用,试试:

    $ echo $EDITOR
    emacs-nw
    
    $ which emacs-nw
    /usr/local/bin/emacs-nw
    
    $ cat /usr/local/bin/emacs-nw
    #!/usr/bin/env bash
    emacs -nw "$@"
    
1 个赞

先回答问题 2. 别名无用,按你的方法,写成脚本是有用的。

再回答问题 1. 其他程序也是终端程序,我试过:

  • crontab -e 写成脚本有用,别名无用
  • git config -e 写成脚本有用,别名无用
  • pet edit 写成脚本也无用。

查了查,发现是pet不使用VISUAL变量,它有单独的配置文件。

另外,我试着把emacs写成函数也不行。

所以,VISUAL会跳过别名和函数,写成脚本可以解决问题。

1 个赞