Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何指定一个编辑器来打开crontab文件&引用;导出编辑器=vi";不起作用_Linux_Vim - Fatal编程技术网

Linux 如何指定一个编辑器来打开crontab文件&引用;导出编辑器=vi";不起作用

Linux 如何指定一个编辑器来打开crontab文件&引用;导出编辑器=vi";不起作用,linux,vim,Linux,Vim,我使用的是Red Hat Enterprise Linux 5,我想设置vim编辑器来编辑crontab文件 如果我运行echo$EDITOR,我就会得到vim。但是当我运行crontab-e时,我得到了不同的编辑器。我认为您可能需要使用完整路径: export EDITOR=/usr/bin/vim 引用这位男子的话: -e选项用于使用VISUAL或editor环境变量指定的编辑器编辑当前crontab 通常,如果从X运行crontab-e,则设置了VISUALset;这就是我们所用的。试试

我使用的是Red Hat Enterprise Linux 5,我想设置vim编辑器来编辑crontab文件


如果我运行
echo$EDITOR
,我就会得到vim。但是当我运行
crontab-e
时,我得到了不同的编辑器。

我认为您可能需要使用完整路径:

export EDITOR=/usr/bin/vim
引用这位男子的话:

-e选项用于使用VISUAL或editor环境变量指定的编辑器编辑当前crontab

通常,如果从X运行
crontab-e
,则设置了
VISUAL
set;这就是我们所用的。试试这个:

VISUAL=vi-crontab-e


它刚刚对我起了作用:)

很可能您的
VISUAL
环境变量被设置为其他变量。尝试:

export VISUAL=vi

如果上述方法不起作用(因为它们在我的Ubuntu 13.04安装中不起作用),请尝试:

有许多替代方法:

1)运行选择编辑器

select-editor
2)手动编辑文件:
~/。选择编辑器
指定首选编辑器。使用此选项,您可以指定编辑器参数。

# Generated by /usr/bin/select-editor
SELECTED_EDITOR="/usr/bin/emacs -nw"
3)您可以使用以下命令行动态指定:

env VISUAL="emacs -nw" crontab -e

这对我不起作用。我使用sudo运行crontab,因此我切换到root,执行了上述建议,crontab将在vim中打开,但它仍然不会从我的用户帐户打开。最后,我从用户帐户运行了
sudo select editor
,这就成功了。

export editor=vim
为我工作了

您可以使用下面的命令在vim editor中打开它

export VISUAL=vim; crontab -e
注意:请确保您的服务器上安装了VIM editor。

这对我来说很有效:

EDITOR="/usr/bin/vim"
export EDITOR

将此项添加到~/.bash_配置文件或~/.bashrc中,以便为当前用户启用此项。

陷阱在于首先选中了
VISUAL
。因此,像您这样完美的建议在SSH会话中效果很好,但在桌面机上却神秘地失败了。首先分配,然后导出,这样对我有效:EDITOR=/usr/bin/vi;导出编辑器。在SSH下使用SunOS here.setting变量
export-VISUAL=vim
setenv-VISUAL“vim”
用于tcsh shell)非常有效@lwpro2:如果未设置
VISUAL
,则使用
编辑器
变量。但是
VISUAL
的优先级高于
EDITOR
。如果crontab由多个人和一个用户管理,我建议在子shell中执行此操作,因此默认编辑器保持不变。您知道为什么在vi而不是nano中打开文件时会有所不同吗?感谢您的解释,事实上,我是从X运行我的终端。如果您使用sudo运行crontab-e,最好的选择是:)
sudo VISUAL=vi crontab-e
第一次打开crontab时,我错误地将默认编辑器设置为
nano
。然后我不得不使用
sudoselecteditor
让它工作。提示:如果仅
selecteditor
不起作用,则不应在个人配置中使用“sudo”。它可能会破坏一些东西,迫使你在正常的计算机使用中保持高位运行。sudo(提升的命令)用于在您的个人区域(~用户区域)之外使用系统范围的功能。如果您必须运行sudo来配置您的用户环境,这意味着您应该解决的问题。您在个人空间上运行了sudo,并失去了对本应属于您的文件的权限。您可以通过运行以下命令来检查您的空间:
find~/-mount-用户$(whoami)
。您可以通过运行以下命令来更正此问题:
sudo chown-R$(whoami):$(whoami)~/
@L.D.James您是对的,谢谢。事实证明,它只是root拥有的.select_编辑器文件。