【问题标题】:Unable to change the default editor in the terminal无法更改终端中的默认编辑器
【发布时间】:2009-03-15 00:50:05
【问题描述】:

我的服务器上的默认编辑器是Pico。我使用 Bash 和 Linux。

我尝试通过以下方式将 Vim 更改为我的默认编辑器,但未成功:

echo vim > $EDITOR

如何将 Vim 更改为我的默认编辑器?

以下代码在文件.bashrc中不起作用:

export EDITOR='vim'

【问题讨论】:

  • 您使用的是什么 unix/linux,特别是什么外壳? Bash、csh 还是其他?
  • 你安装了vim吗?如果是的话,它在你的路径上吗?
  • @Neil:我已经安装了 Vim。它显然也在我的 PATH 中,因为我可以通过终端中的命令 vim 启动 vim。
  • 此外,如果您只想临时更改一个命令的默认编辑器(对于 git,不想使用 vi),您可以执行 EDITOR=nano git commit --amend 或任何命令,并且 EDITOR 将被设置为 nano 仅用于该命令。

标签: bash vim


【解决方案1】:

添加

export EDITOR=vim

到你的 .bashrc 文件应该真的可以解决问题。 (那里不需要引号,根据您使用的引号,它们可能是您问题的原因。)

修改文件.bashrc后必须打开一个新的shell(或在提示符处输入source ~/.bashrc)才能使修改生效。

您希望从哪个程序启动 Vim?

我没用过 Git,但是the documentation 写着:

用于编辑提交日志消息的编辑器将从 GIT_EDITOR 环境变量、core.editor 配置变量、VISUAL 环境变量或 EDITOR 环境变量(按此顺序)中选择。

所以检查是否设置了这些变量之一:

echo $GIT_EDITOR $VISUAL $EDITOR
git config --get-all core.editor

对我来说,

export VISUAL=vim

解决了问题。

【讨论】:

  • @Jochen:上面的命令不起作用。该程序是 Git,我希望从中启动 vim。
  • 只是出于好奇:使用 VISUAL 环境变量是否解决了您的问题?
  • echo $GIT_EDITOR $VISUAL $EDITOR 给了我 pico pico。如何更改这些变量?
  • 您可以使用 export GIT_EDITOR=vim export VISUAL=vim export EDITOR=vim 更改它们(如果变量已经导出,您可以省略“export”)。
  • 我在 MacOs Mojave 上,我可以确认我在设置系统默认编辑器时遇到了问题,但这个解决方案效果很好,即 laravel tinker 在编辑模式下
【解决方案2】:
vim=/usr/bin/vim # Or wherever the Vim binary is
export EDITOR=vim

应该做的工作。

【讨论】:

  • 您的命令不起作用。我也用 $EDITOR 尝试过,但没有成功。
  • 它必须是:EDITOR=vim export EDITOR 或者如果你使用 bash 只需 export EDITOR=vim
【解决方案3】:

您可以使用 Git 配置选项 core.editor 来设置您喜欢的编辑器,例如,nano:

git config [--global] core.editor "nano"

如果您没有 shell 访问权限,您也可以通过编辑主目录(全局)或 git 存储库(如果不存在,则创建它)中的 .gitconfig 文件来更改此设置:

...
[user]
  name = Your Name
  email = your@email.address
[core]
  editor = nano
...

【讨论】:

    【解决方案4】:

    我没有EDITOR 环境变量。我的.bashrc 文件确实定义了这个:

    alias vi='vim'
    

    假设,如果 Vim 在您的主目录中找不到名为 .vimrc 的文件,它会以“兼容模式”运行,并且您只能获得 vi 功能,直到您输入 :nocp

    如果它基于您的 EDITOR 环境变量,您可以在 Bash 中这样设置:

    export EDITOR='vim'
    

    【讨论】:

    • 您不需要 EDITOR 环境变量来创建一个;)
    【解决方案5】:

    检查这个命令:

    sudo update-alternatives --config editor
    

    【讨论】:

    • 是的,这是默认编辑器的正确答案。我保留接受的答案,因为这里的重点是关于 Git 和服务器端。就像通过变量 $GIT_EDITOR 设置它的编辑器一样,...
    【解决方案6】:

    由于 Mac OS X 中的情况发生了变化,您必须在用户基本目录的 .profile 文件中添加以下内容:

    export EDITOR='vim'
    

    您可以按照以下说明进行操作:

    1. 打开终端

    2. 键入cd(按ReturnEnter(这将带您进入基本目录)

    3. 键入echo "export EDITOR='vim'" >> .profile(按ReturnEnter 即可完成)

    4. (重启终端)

    ===========================

    或者只需输入:

    echo "export EDITOR='vim'" >> ~/.profile
    

    点击 Enter 并重新启动。

    【讨论】:

      【解决方案7】:

      如果您希望 vi 成为您的默认历史编辑器(这就是我在这里的原因):

      编辑文件~/.bashrc并添加

      设置-o vi

      文件中的任何位置。然后所有可爱的 vi 命令历史都可用(Esc + K 等)。

      【讨论】:

        【解决方案8】:

        因为这些答案都没有帮助我:

        这是 Git 文档的内容,git-commit(1) Manual Page

        用于编辑提交日志的编辑器 消息将从 GIT_EDITOR 环境变量, core.editor 配置变量, VISUAL 环境变量,或 EDITOR 环境变量(在 那个顺序)。

        这是导出时的 Bash man page 摘录(括号是可选的):

        export [-fn] [name[=word]]
        

        【讨论】:

          【解决方案9】:

          在设置我的新 MacBook Pro 时,我遇到了同样的挑战。

          我是这样解决的

          要在 MacBook 上切换到您选择的编辑器(例如 nano),如果您的默认 shell 是 zsh,则需要将以下行添加到您的 ~/.zshrc 文件中;如果您的默认 shell 是 ~/.bash_profile,则需要添加以下行bash:

          export EDITOR=nano
          export VISUAL="$EDITOR"
          

          但是,如果您的默认 shell 是 zsh,则更简单的方法是使用 echo 命令将它们插入到您的 ~/.zshrc 文件中:

          echo 'export EDITOR=nano' >> ~/.zshrc
          echo 'export VISUAL="$EDITOR"' >> ~/.zshrc
          

          如果您的默认 shell 是 bash,则为 ~/.bashrc

          echo 'export EDITOR=nano' >> ~/.bash_profile
          echo 'export VISUAL="$EDITOR"' >> ~/.bash_profile
          

          运行以下命令激活新配置:

          source ~/.zshrc
          

          或者

          source ~/.bash_profile
          

          如果您需要切换到其他编辑器,您可以将nano 替换为您喜欢的编辑器:

          • Vim - vim
          • Vi - vi

          就是这样。

          【讨论】:

            猜你喜欢
            • 2017-11-10
            • 2012-01-06
            • 2014-07-18
            • 1970-01-01
            • 2011-03-28
            • 1970-01-01
            • 2016-01-30
            • 2018-09-30
            • 1970-01-01
            相关资源
            最近更新 更多