我最近从 OS X 10.6(我认为)升级到 10.9。从那时起,在 中编辑时vim
,箭头键似乎会“自发”停止工作。
有一次,我沮丧地“捣碎”了其中一个箭头键,最终显示“E388 找不到定义”错误。在我经历过的所有其他时间里,箭在工作了一段时间后,突然开始向我发出叮当声!
退出并重新打开可以暂时解决问题。但是,我想阻止它!
有谁知道这可能是什么?以及如何修复它?
看起来我的默认值vimrc
在更新过程中被修改了。如果我的记忆是正确的,它以前是一个相当大的文件。现在,它只包含这个:
" Configuration file for vim
set modelines=0 " CVE-2007-2438
" Normally we use vim-extensions. If you want true vi-compatibility
" remove change the following statements
set nocompatible " Use Vim defaults instead of 100% vi compatibility
set backspace=2 " more powerful backspacing
" Don't write backup file if vim is being called by "crontab -e"
au BufWrite …
Run Code Online (Sandbox Code Playgroud) 我想向 Makefile 添加一系列命令,当它们不存在时附加配置行。我过去曾这样做过:
grep -vq "keyword" /a/b/c.conf && echo "abc keyword" >> /a/b/c.conf
Run Code Online (Sandbox Code Playgroud)
但是,我显然忽略了一些东西。命令原样导致在重新运行时重复配置行。
手动测试显示该模式按预期工作:
grep -vq "keyword" /a/b/c.conf && echo "the line is absent"
Run Code Online (Sandbox Code Playgroud)
...仅当该行实际不存在 时才打印该行不存在。并且,echo
正确命令不是当线是执行本。
我错过了什么?
注意:上面的例子是为了可读性而精简的。现实中,类似的命令会有很多。这是我尝试过的特定命令:
grep -vq "md_module" /etc/httpd/conf.modules.d/00-ssl.conf && echo "LoadModule md_module modules/mod_md.so" >> /etc/httpd/conf.modules.d/00-ssl.配置文件