当我在这里使用我的vimrc:
set tabstop=2
set shiftwidth=2
set softtabstop=2
set expandtab
set smarttab
Run Code Online (Sandbox Code Playgroud)
我安装了supertab插件.每当我处于插入模式时,我按Tab键,它会显示自动完成,但有时我想在字符串文字中插入一个真正的制表符.所以我的意思是每当我在双引号字符串文字中按Tab键时,它应该输入一个真正的制表符.
在我的.vimrc我有以下几行:
" .vimrc
let g:virtualenv_directory="/Users/Kit/Development/virtualenv"
Run Code Online (Sandbox Code Playgroud)
然后在~/.vim/ftplugin/python/virtualenv.vim我有这些:
py << EOF
import os.path
import sys
import vim
if 'VIRTUAL_ENV' in os.environ:
project_base_dir = os.environ['VIRTUAL_ENV']
sys.path.insert(0, project_base_dir)
activate_this = os.path.join(project_base_dir, 'bin/activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
print "virtualenv in os.environ!"
EOF
VirtualEnvActivate my-virtualenv-python-2.7
Run Code Online (Sandbox Code Playgroud)
在~/.vim/ftplugin/python/virtualenv.vim我有这些SuperTab设置:
setlocal omnifunc=pythoncomplete#Complete
setlocal completeopt=menuone,longest,preview
let g:SuperTabDefaultCompletionType="<c-x><c-]>"
Run Code Online (Sandbox Code Playgroud)
在我的工作目录中,我一直在工作,我执行了以下bash命令TAGS为我的所有.py文件生成一个文件
find . -name '*.py' -type f -print0 | xargs -0 etags -l python
Run Code Online (Sandbox Code Playgroud)
例如,我有一个在main.py其中有一个对象app,以便以下脚本正常工作:
import main
new_app = main.app() …Run Code Online (Sandbox Code Playgroud) 我刚刚在vim中启用了SuperTab,如果我尝试缩进空行,SuperTab会尝试插入字符串.我想,我想,只有当光标左边有非空格时,才会让SuperTab提供完成.
我不想使用Ctrl-V或Ctrl-Q或任何东西.
当我在SuperTab的弹出建议中按Enter键时,它会自动在inserted关键字的末尾创建一个新行.
是否可以在SuperTab弹出窗口中选择一个选项而无需创建新行?
更具体地说,有没有办法让我配置space为选择代码完成建议的方法?
我正在使用bépo键映射(http://bepo.fr)并寻求完美的vim映射.
到目前为止,我使用了很长的noremap列表,但是对于许多绑定(例如,运动aw或Ctrl+ r),第一次击键很好地重新映射而不是其他的,我认为这是预期的行为,但这不是我需要的.
理想情况下,map除了键入文本(在插入模式下和键入替换例程)时,我的键盘将在更高级别(命令之前)完全重新映射.我正在寻找的似乎是langmap,但我使用它有问题.
我将这个langmap添加到我的.vimrc中,看起来很完美,但它破坏了我的一些插件.SuperTab现在插入<Plug>SuperTabForward时Tab在插入模式下按下,我t<SNR>24_SelectCompletion(1)按下回车键时.
有人知道如何解决这个langmap问题或更好地重新映射我的键盘吗?
正如标题所述,我如何检查插件是否已加载?
当我点击tab(对于SuperTab)时,我得到的是在我的文件中插入的普通字符"tab",当我点击ctrl-space时,我只是被抛出插入模式(与点击ESC的行为相同)
发布作为后续如何检查SuperTab和jedi-vim是否被激活?并完成了Ingo Karkat提出的建议.现在我想知道什么是破碎的以及我如何解决它.
这是输出:
:verbose imap <tab>
i <Tab> <Plug>SuperTabForward
Last set from ~/.vim/bundle/supertab/plugin/supertab.vim
Run Code Online (Sandbox Code Playgroud)
哪个看起来对我好,并且......
:scriptnames
1: /etc/vimrc
2: /usr/share/vim/vim72/syntax/syntax.vim
3: /usr/share/vim/vim72/syntax/synload.vim
4: /usr/share/vim/vim72/syntax/syncolor.vim
5: /usr/share/vim/vim72/filetype.vim
6: /usr/share/vim/vimfiles/ftdetect/puppet.vim
7: /usr/share/vim/vim72/ftplugin.vim
8: /home/johannesw/.vimrc
9: /usr/share/vim/vim72/ftoff.vim
10: /home/johannesw/.vim/bundle/vundle/autoload/vundle.vim
11: /home/johannesw/.vim/bundle/vundle/autoload/vundle/config.vim
12: /usr/share/vim/vim72/indent.vim
13: /usr/share/vim/vim72/syntax/nosyntax.vim
14: /home/johannesw/.vim/bundle/vim-fugitive/plugin/fugitive.vim
15: /home/johannesw/.vim/bundle/vim-easymotion/plugin/EasyMotion.vim
16: /home/johannesw/.vim/bundle/vim-easymotion/autoload/EasyMotion.vim
17: /home/johannesw/.vim/bundle/vim-rails/plugin/rails.vim
18: /home/johannesw/.vim/bundle/L9/plugin/l9.vim
19: /home/johannesw/.vim/bundle/L9/autoload/l9.vim
20: /home/johannesw/.vim/bundle/FuzzyFinder/plugin/fuf.vim
21: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf.vim
22: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/buffer.vim
23: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/file.vim
24: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/coveragefile.vim
25: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/dir.vim
26: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/bookmarkfile.vim
27: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/bookmarkdir.vim
28: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/tag.vim
29: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/buffertag.vim
30: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/taggedfile.vim
31: /home/johannesw/.vim/bundle/FuzzyFinder/autoload/fuf/jumplist.vim
32: …Run Code Online (Sandbox Code Playgroud) 我正在使用Vim和一堆插件(病原体,ctags,snipmate,supertab,...),一切都适用于所有类型的文件扩展名.
但是,当我尝试编辑.tex文件时,它会出现两个看似相关的问题.首先,Vim开始工作非常慢,其次,当我按下"任何字母+标签"时,它会尝试使用之前在文本中写入的单词自动完成.
我尝试解决这些问题的一种方法是从我的bundle文件夹中删除supertab插件,但这是一个不太令人满意的解决方案.
supertab ×8
vim ×8
autocomplete ×2
jedi-vim ×2
plugins ×2
keymapping ×1
latex ×1
pathogen ×1
performance ×1
python-jedi ×1
tags ×1