用于重复下一个字符的Vim扫描线;不工作

时间:2013-12-02 00:17:18

标签: vim

我可以使用 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

2 个答案:

答案 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中存在问题:

  1. 以下内容:

    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)。我建议你擦掉所有这些线条。

  2. nnoremap应优先于nmap,除非您有充分理由反对:link

答案 1 :(得分:0)

我怀疑你对某些插件有负面影响。您可以通过在命令行中运行vim而不调用任何插件和。vim -u NONE -N之类的.vimrc来检查此猜测。如果您能够在t命令后使用分号进行跳转,则会逐个关闭插件以查找问题。

如果无效,请发布.vimrc。