小编zen*_*ith的帖子

为什么在 zsh 中将 vim 导出为 EDITOR 会禁用键盘快捷键?

我的.zshrc看起来像这样:

export EDITOR="/usr/bin/vim"
Run Code Online (Sandbox Code Playgroud)

现在,当我打开终端并输入键盘快捷键(例如ctrla转到行首)时,它不起作用。相反,字符串^A(或其他一些字符串,取决于我输入的快捷方式)被输入到终端:

emlai:~ % ^A
Run Code Online (Sandbox Code Playgroud)

export从 my 中删除单词.zshrc会使键盘快捷键正常工作:

EDITOR="/usr/bin/vim"
Run Code Online (Sandbox Code Playgroud)

导出EDITOR为其他东西而不是vim使键盘快捷键也可以工作,例如:

export EDITOR="/usr/bin/nano"
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况?

我也对此进行了测试bash,键盘快捷键在所有情况下都能正常工作。

vim keyboard-shortcuts zsh environment-variables

25
推荐指数
1
解决办法
6087
查看次数

如何防止automake覆盖INSTALL?

我正在处理一个具有自定义INSTALL文件的项目。运行automake --add-missing(或更准确地说,autoreconf -i)将生成 GNU 默认INSTALL文件,并用它覆盖我们的文件。

我怎样才能防止这种行为?我希望它要么根本不生成 GNUINSTALL文件,要么用不同的名称创建它。

另外,我不想禁用automake可能生成的任何其他文件。


编辑1:automake手册

如果--add-missing给出该选项,automake将添加INSTALL文件的通用版本以及COPYING包含当前版本的 GNU 通用公共许可证 [...] 文本的文件。但是,现有COPYING 文件永远不会被automake.

它说现有COPYING文件不会被覆盖,但没有说明该INSTALL文件的任何内容,因此它似乎会被无条件覆盖。

编辑 2:根据要求,这是我的configure.acMakefile.am,以及autogen.sh我们运行到autoreconf项目的内容:

configure.ac

AC_INIT([program name], [version number], [bug report], [short name], [url])
AC_CONFIG_SRCDIR([Main/Source/main.cpp])

AM_PROG_AS 
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_PROG_CXX

CFLAGS="$CFLAGS $SDL_CFLAGS "
LIBS="$LIBS $SDL_LIBS" …
Run Code Online (Sandbox Code Playgroud)

gnu automake autoreconf autotools

6
推荐指数
2
解决办法
1435
查看次数