我对vim脚本进行了如下尝试,以检查它是否已安装以及其版本是否最近(8+):
# Check if we have vim version 8.1+ installed
VIM_PATH=$(which vim)
VIM_VERSION=$(vim --version |grep '8.[123]')
if [ -z "$VIM_PATH" || -z "$VIM_VERSION" ]
then
...
fi
上面的脚本是否有效?有什么更好的方法来获取版本并检查是否
当我做一个交互式的rebase时,例如
git rebase -i HEAD~3
rebase交互式编辑器(在我的例子中是vim)打开,让我编辑rebase的提交
pick c843ea2 Set Vim column limit to 80 (OS X)
pick fc32eac Add Bash alias for `pbcopy` (OS X)
....
如果我现在决定中止rebase并使用:q退出vim,那么rebase无论如何都会启动。我在windows上使用的是git版本的1.9.0.msysgit.0。
当然,我可以删除所有的pick行,但如果我重新设置一个更长的历史基址,可能会
我只是尝试在DigitalOcean上设置一个用于教育目的的WHM/C面板。
我找到了这个链接来保护WHM -
将运行此命令
vi /etc/ssh/sshd_config
我得到下面的错误(我以前试过这个命令,但我没有保存就断开了连接)
E325: ATTENTION
Found a swap file by the name "/etc/ssh/.sshd_config.swp"
owned by: root dated: Tue Oct 16 13:18:49 2018
file name: /etc/ssh/sshd_config
我想使用Vim来查看history的结果(而不是在shell中)。我认为history | vim可以工作(使用history的结果作为vim的输入),但它返回如下内容:
$history | vim
Vim: Warning: Input is not from a terminal
Vim: Error reading input, exiting...
Vim: Finished.
有人能解释这个吗?
当我用Vim打开我的Capfile时,显示了以下错误:
"Capfile" 36L, 1302C
Error detected while processing BufRead Autocommands for "Capfile" :
E20: Mark not set
为什么会这样?
这是我的Capfile:
# Load DSL and Setup Up Stages
require 'capistrano/setup'
# Includes default deployment tasks
require 'capistrano/
作为初学者,我开始学习一些关于vim的新命令选项,在尝试Modeless vi时,我输入了命令vim -y [name of the file to edit],但没有找到返回终端的方法,而是关闭了它。
我知道上面的命令在插入模式下运行vim,而不使用命令模式,但是我的问题是,在同一终端中是否有办法退出vi?
我最近一直在过渡到GVim,因为我发现它比终端中的vim更美观,而且速度更快。我有一个非常坏的习惯,我想改掉它。当我从命令行使用vim时,我的工作流程是这样的:
vim filename.txt
# make some edits
ZZ
# do other stuff
vim otherfile.txt
# make some edits
ZZ
现在使用GVim,我最终过于频繁地关闭了编辑器。我想知道是否有一种方法可以在我执行:wq或ZZ时强制GVim要么提示我,要么打开一个空缓冲区。有什么想法吗?
编辑:我知道如何重新映射键,但我想知道是否有一种方法可以强制GVim具有与从命令行调用vim
我是一个笨拙的打字员,我不经常使用vi/vim,但我确实使用它来处理提交消息。但是,如果您在编辑提交消息时键入了错误的命令(比如:Wq,而不是:wq),那么当您使用:wq或:x在vim中正确关闭提交消息时,您会得到如下结果:
error: There was a problem with the editor 'vi'.
Please supply the message using either -m or -F option.
通常,像:W这样的错误命令是没有问题的-vim只是忽略它,你可以继续处理文件并保存它,但是在git提交消息中,只要我输入错误,我就会不可挽回地丢失提
我有点困惑于:
% vim tmp
zsh: suspended vim tmp
% kill %1
% jobs
[1] + suspended vim tmp
% kill -SIGINT %1
% jobs
[1] + suspended vim tmp
% kill -INT %1
% jobs
[1] + suspended vim tmp
所以我只好“自己动手”,然后想知道为什么以后:
% fg
[1] - continued vim tmp
Vim: Caught deadly signal TERM
Vim: Finished.
zsh: termi
我已经安装了来自GitHub的Syntastic,并且我正在尝试使用Syntastic来检查perl语法错误(并计划在短时间内为Python使用)。当我使用‘:退出’或':q‘时,只有原始文件窗口关闭。错误窗口没有关闭。下面是来自我的.vimrc文件的代码片段:
execute pathogen#infect()
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_perl_checkers = [