为什么 Vim 上的 TeX 中的反引号消失了?

Why a backtick disappears in TeX on Vim?

当我在 Vim 上编辑 TeX 文件时,插入模式下的反引号 (`) 工作异常。 我期望当我键入 `a Vim 时显示 `a,当我键入 `b 时它显示 `b,依此类推。 但是,实际上,当我输入 `a 时,它只显示 a,而当我输入 `b 时,它只显示 b。 此外,当我键入 `j 时,它会如我所料显示 `j。 反引号后面的一些字母将显示有反引号(如我所料),而其他字母则没有反引号(奇怪的行为)。 以下是显示反引号后跟哪些字母以及替换反引号的字母的列表。

正在关注

// `j becomes `j

j o v B C H I J K M
N O R T V Z 1 2 3 4
5 7 9 ! @ # $ % ^ &
- _ + | ~ { } ; : '
" , / ?
Space(0x20)

正在替换

// `a becomes a

a b c d e f g h i k
l m n p q r s t u w
x y z A D E F G L P
Q S U W X Y 6 8 0 *
( ) = \ ` [ ] . < >

此行为仅在我编辑 TeX 文件并处于插入模式时出现。 在正常模式下,我会跳转到标记的位置,而在 Markdown 上,我的 Vim 会显示一定数量的反引号。

为什么它以这种方式工作,我应该怎么做才能让它以某种方式工作?


我的 vimrc:

if 0 | endif

if has('vim_starting')
    if &compatible
        set nocompatible
    endif

    set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

call neobundle#begin(expand('~/.vim/bundle/'))

NeoBundleFetch 'Shougo/neobundle.vim'

NeoBundle 'thinca/vim-quickrun'

NeoBundle 'Shougo/vimproc',{
            \'build' : {
            \  'windows' : 'make -f make_mingw32.mak',
            \  'cygwin' : 'make -f make_cygwin.mak',
            \  'mac' : 'make -f make_mac.mak',
            \  'unix' : 'make -f make_unix.mak',
            \  },
            \ }

NeoBundle 'Shougo/unite.vim'

NeoBundle 'osyo-manga/unite-quickfix'

NeoBundle 'osyo-manga/shabadou.vim'

NeoBundle 'lervag/vimtex'

NeoBundle 'Shougo/neosnippet'

NeoBundle 'Shougo/neocomplete'

NeoBundle 'Shougo/neosnippet-snippets'

NeoBundle 'nelstrom/vim-visual-star-search'

NeoBundle 'tpope/vim-fugitive'

NeoBundle 'vim-ruby/vim-ruby'

NeoBundle 'tpope/vim-endwise'

NeoBundle 'plasticboy/vim-markdown'

NeoBundle 'kannokanno/previm'

NeoBundle 'tyru/open-browser.vim'

NeoBundle 'derekwyatt/vim-scala'

NeoBundle 'scrooloose/nerdtree'

call neobundle#end()

filetype plugin indent on


NeoBundleCheck

syntax on


set spelllang=en,cjk
set spell

set expandtab
set shiftwidth=2
set softtabstop=2
set autoindent
set smartindent

set pumheight=10

set showmatch
set matchtime=1

set wrap

set ignorecase
set smartcase

set scrolloff=3
set ruler
set display=lastline

set cole=0

set backspace=indent,eol,start

au FileType * setl cole=0

nnoremap j gj
nnoremap k gk
nnoremap <Down> gj
nnoremap <Up> gk

nnoremap gj j
nnoremap gk k

nnoremap <silent><C-l> <C-w>l
nnoremap <silent><C-h> <C-w>h
nnoremap <silent><C-k> <C-w>k
nnoremap <silent><C-j> <C-w>j
nnoremap <silent><C-e> :NERDTreeToggle<CR>

nnoremap <Space>h ^
nnoremap <Space>l $

inoremap <C-j> <BS>
cnoremap <C-j> <BS>

imap <C-k>  <Plug>(neosnippet_expand_or_jump)
smap <C-k>  <Plug>(neosnippet_expand_or_jump)
xmap <C-k>  <Plug>(neosnippet_expand_target)

imap <expr><TAB> neosnippet#expandable_or_jumpable() ?
            \ "\<Plug>(neosnippet_expand_or_jump)"
            \: pumvisible() ? "\<C-n>" : "\<TAB>"

smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
            \ "\<Plug>(neosnippet_expand_or_jump)"
            \: "\<TAB>"


let g:tex_conceal = ''

let g:quickrun_config = {
            \ 'split' : '',
            \ 'runner' : 'vimproc',
            \ 'runner/vimproc/updatetime' : 10,
            \ 'tex' : {
            \ 'command' : 'latexmk',
            \ 'cmdopt' : '-pvc -pdfdvi',
            \ 'exec' : ['%c %o %s']
            \ },
            \}

检查你的文件类型、语法、键映射..

:set ft? syn?
:imap
:map

尝试禁用二合字母:

:set nodigraph

尝试删除可能在语法配置文件中定义的任何反引号映射:

:iunmap `