我的所有其他键绑定都工作正常,但由于某种原因,我无法绑定jj进行转义。Mashing jk或kj也不起作用。下面是我的整个.vimrc:
"Maps for jj to act as Esc
inoremap jk <Esc>
inoremap kj <Esc>
"inoremap jj <Esc>
ino jj <Esc>
cno jj <C-c>
set number
set nocompatible
set paste
"fix cygwin backspace problem
se
当我加载vim时,我得到以下消息,我无法知道如何调试。
4FNVHQ1|tmp
λ vim
default
Press ENTER or type command to continue
4FNVHQ1|tmp
λ
我已经运行了vim -V9myVimLog,并在输出中获得了这个结果,但是仍然没有任何有用的东西。
....
chdir(/c/Users/bjones/.vim/bundle/vundle/autoload/vundle)
fchdir() to previous dir
line 5: sourcing "/c/Users/bjones/.vim/bundle/vund
我尝试了我的vim的spf13,但得到了如下所示的错误。
Vundle error: Name collision for Plugin spf13/vim-colors. Plugin spf13/vim-colors previously used the name "vim-colors". Skipping Plugin spf13/vim-colors.
Press ENTER or type command to continue
我该如何解决这个问题呢?
我可以在gvim中使用taglist (从xterm中启动),但不能在vim中使用(在putty中打开)。当我尝试使用vim Taglist: Failed to generate tags for /home/abbcd/abcd/XXXX.c ctags: unrecognized option '--format=2'^@^ITry 'ctags --help' for a complete list of options.^@中的taglist时,我会看到下面的错误,不知道为什么它在gvim中工作得很好,而不是在vim中。
这是位于$HOME/.vimrc下的我的.vimrc。我已经安装了Vundle。
set nocompatible " be iMproved, required
filetype off " required
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
在等待了一段时间(2或3分钟)在vim中打开.hs文件后,我得到以下错误:
Error detected while processing ~/.vim/bundle/haskellmode-vim/ftplugin/haskell_doc.vim:
line 111:
haskell_doc.vim can't find locaton of html documentation (set g:haddock_docdir).
ghcmod: vimproc.vim is not installed!
即使我禁用了haskellmode、vimproc和ghcmod插件,我仍然会收
在vim插件中,我如何判断用户是否已经在其.vimrc文件中设置了变量?
例如,我在.vimrc中有
set shiftwidth=2
然后我加载一个插件,该插件具有
set shiftwidth=3
所以我认为修改插件的方法如下:
if !exists("shiftwidth")
set shiftwidth=3
endif
但是,当我加载一个新的vim窗口并加载了修改后的插件时,我的选项卡仍然设置为3,而不是2。
除非在.vimrc中另有说明,否则如何才能使它只设置shiftwidth=3
假设我有一个包含以下内容的文件test.c:
// line 1
// line 2
如果我在Vim中打开这个文件并在普通模式下导航到第一行,然后键入o,我将得到以下结果:
// line 1
//
// line 2
现在假设我有一个文件test.lhs (读写Haskell),其中包含
> data X = A | B
> data Y = C | D
如果我打开这个文件并在普通模式下导航到第一行,然后键入o,我将得到
> data X = A | B
> data Y = C | D
问题:如何使Vim在.lhs文件行的开头自动插入>,类似于如何为.c文
首先,我知道不建议使用vim编写二进制可执行程序。所以,我不想在这里谈论它的合理性。
我有一个具有755权限的二进制程序(所有者是root用户),所以作为用户root,我希望我可以给它写信。程序没有运行,命令lsof和fuser,没有输出返回,然后我用vi打开它,输入:wq只写和退出,然后vi警告我E45: 'readonly' option is set (add ! to override)。问题是谁设置了readonly选项?linux内核?
然后我添加了一个!,现在是:wq!,程序现在不能运行,这是预期的。
以及在具有相同操作系统和内核版本的另一台计算机上具有相同权限的
安装在/usr/share/vim上。
所有的文件夹都是在现有文件夹中添加到这个类别中的(之后,自动加载,插件,片段等等)。
从文档文件中:
For instance, to change the trigger
key to CTRL-J, just change this:
ino <tab> <c-r>=TriggerSnippet()<cr>
snor <tab> <esc>i<right><c-r>=TriggerSnippet()<cr>
to this:
ino <c-j
我经常使用gq将较长的注释包装到一定数量的字符中,如果我使用//或/* /*对代码进行注释,这很好:
// here is a simple comment that exceeds my line width
// across multiple lines
// here is a simple comment that
// exceeds my line width across
// multiple lines
但是,如果我有三重斜杠注释,例如doxygen,它就不起作用了:
/// here is a simple comment that exceeds my line w
我有问题让我的VIM正确语法突出显示php短标签。
let php_sql_query=1
let php_htmlInStrings=1
let php_noShortTags=0
let php_folding=0
let php_baselib=1
let php_asp_tags=0
let php_parent_error_close=1
let php_parent_error_open=1
"let php_sync_method=10 " Sync only 10 lines backwards
let php_alt_comparisons=1
let ph