我可以使用 f {char} 扫描下一个字符的行,并用; 重复或用反转,
但是当我使用 t {char} 时,它不能用作 f {char} 。它找到第一个但不能用; 重复它。
为什么会这样?
.vimrc
execute pathogen#infect()
syntax on
"filetype plugin indent on
set expandtab
set shiftwidth=2
set softtabstop=2
colorscheme darkblue
set cursorline
hi Comment ctermfg=103
hi CursorLine term=none cterm=none ctermbg=17 guibg=236
set hlsearch
set number
set nowrap
set omnifunc=pythoncomplete#Complete
set omnifunc=javascriptcomplete#CompleteJS
set omnifunc=htmlcomplete#CompleteTags
set omnifunc=csscomplete#CompleteCSS
set omnifunc=xmlcomplete#CompleteTags
set omnifunc=phpcomplete#CompletePHP
set cmdheight=1
set laststatus=2
set statusline=%<%F\ %m%r%h%w%{'['.(&fenc!=''?&fenc:&enc).']['.&ff.']'}%=%l,\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ %c%V%8P
nmap <C-l> <C-l>:nohlsearch<CR>
" http://kien.github.io/ctrlp.vim/#installation
" ctrlp
set runtimepath^=~/.vim/bundle/ctrlp.vim
答案 0 :(得分:6)
要完成这项工作,您至少需要vim-7.3.235并确保;
设置中没有cpoptions
标记。提交对vim-7.3.235的评论:
updated for version 7.3.235
Problem: ";" gets stuck on a "t" command, it's not useful.
Solution: Add the ';' flag in 'cpo'. (Christian Brabandt)
顺便说一下:你的vimrc中存在问题:
以下内容:
set omnifunc=pythoncomplete#Complete
set omnifunc=javascriptcomplete#CompleteJS
set omnifunc=htmlcomplete#CompleteTags
set omnifunc=csscomplete#CompleteCSS
set omnifunc=xmlcomplete#CompleteTags
set omnifunc=phpcomplete#CompletePHP
完全等同于
set omnifunc=phpcomplete#CompletePHP
并且没用,因为omnifunc
应该在ftplugin/php.vim
中设置并确实在那里设置(尽管setlocal
而不是set
)。我建议你擦掉所有这些线条。
nnoremap
应优先于nmap
,除非您有充分理由反对:link。
答案 1 :(得分:0)
我怀疑你对某些插件有负面影响。您可以通过在命令行中运行vim而不调用任何插件和。vim -u NONE -N
之类的.vimrc来检查此猜测。如果您能够在t
命令后使用分号进行跳转,则会逐个关闭插件以查找问题。
如果无效,请发布.vimrc。