Matchit ne fonctionne pas
Je suis en utilisant Macvim 7.3 instantané 57. Je n'arrive pas à obtenir matchit travailler dans l'un de mes fichiers.
J'appuyez sur % sur une balise d'ouverture. Il ne me prend pas pour la balise de fermeture...
Mes fichiers vimrc:
" Pathogen settings
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()
set nocompatible
set number
set ruler
set cursorline
syntax on
" Disable all blinking
set guicursor+=a:blinkon0
" Whitespace stuff
set nowrap
set tabstop=2
set shiftwidth=2
set expandtab
set cindent
set smartindent
set autoindent
set list listchars=tab:\ \ ,trail:·
" Searching
set hlsearch
set incsearch
set ignorecase
set smartcase
" Status bar
set laststatus=2
" Start without the toolbar
set guioptions-=T
" Default gui color scheme
" "color default
" color molokai
color railscasts+
" Command-/to toggle comments
map <D-/> :TComment<CR>j
" Remember last location in file
if has("autocmd")
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal g'\"" | endif
endif
" Thorfile, Rakefile and Gemfile are Ruby
au BufRead,BufNewFile {Gemfile,Rakefile,Thorfile,config.ru} set ft=ruby
" Open split buffers below instead of above current buffer
set splitbelow
" Session options
let g:session_autoload = 1
let g:session_autosave = 1
" Buffer navigation
map <C-K> <C-W><C-K>
map <C-J> <C-W><C-W>
map <C-H> <C-W><C-H>
map <C-L> <C-W><C-L>
" Rails navigation options
nmap <leader>rc :Rcontroller
nmap <leader>rv :Rview
nmap <leader>rm :Rmodel
" Tab completion
" Also needed for better Rails navigation auto-completion
set wildmode=list:longest,list:full
" Open up side panel left (NERDTree) and right(Tagbar)
" nmap <leader>\ :NERDTreeToggle<CR> :TagbarToggle<CR>
nmap <leader>\ :call ToggleNERDTreeAndTagbar()<CR>
" Allow single click for NERDTree
let NERDTreeMouseMode = 3
let g:NERDTreeWinSize = 30
" autocmd VimEnter * NERDTree
" Tagbar options
let tagbar_singleclick = 1
let g:tagbar_sort = 0
let g:tagbar_width = 30
" autocmd VimEnter * nested TagbarOpen
" The Janus plugin sets this to noequalalways for the Zoominfo plugin
" However, we want to set this to equalalways instead, since we want to
" have equal window height when a new window is opened. i.e. via ctrl+w+s
set equalalways
" Matchit already installed in newer versions of vim.
" Don't need to add this onto pathogen bundle folder. We only need
" to configure it.
" Configure matchit so that it goes from opening tag to closing tag
au FileType html,eruby,rb,css,js,xml runtime! macros/matchit.vim
" Set backup and swp dir. Don't forget to clear tmp dir out once in a while
set backupdir=~/.vim/tmp/backup
set directory=~/.vim/tmp/swp
" Detect if a tab was closed, and ensure that height of main window fills the screen (100% height)
au TabEnter * let &lines = 100
" <leader>\ to open or close NERDTree and Tagbar, under the following conditions:
" 1) Only close both if NERDTree and Tagbar are both opened
" 2) Open both if NERDTree and Tagbar are closed OR if one is already opened
function! ToggleNERDTreeAndTagbar()
let w:jumpbacktohere = 1
" Detect which plugins are open
if exists('t:NERDTreeBufName')
let nerdtree_open = bufwinnr(t:NERDTreeBufName) != -1
else
let nerdtree_open = 0
endif
let tagbar_open = bufwinnr('__Tagbar__') != -1
" Perform the appropriate action
if nerdtree_open && tagbar_open
NERDTreeClose
TagbarClose
elseif nerdtree_open
TagbarOpen
elseif tagbar_open
NERDTree
else
NERDTree
TagbarOpen
endif
" Jump back to the original window
for window in range(1, winnr('$'))
execute window . 'wincmd w'
if exists('w:jumpbacktohere')
unlet w:jumpbacktohere
break
endif
endfor
endfunction
Vous devez vous connecter pour publier un commentaire.
Depuis Vim est livré avec matchit plugin, tout ce que j'avais à faire était de les activer:
Puis ajouter la ligne suivante dans votre .vimrc:
.vimrc
). Merci!~/.vimrc
fichier s'éteint automatiquement Vi de compatibilité. C'est ce que dit:help compatible
, ainsi: "Quand un |vimrc| ou |gvimrc| fichier est trouvé alors que Vim est en cours de démarrage, cette option est désactivée." En effet, j'ai omis leset nocompatible
ligne de mon~/.vimrc
fichier et il était encore en mesure d'utilisermatchit.vim
en ajoutant les deux lignes suivantes.La page des
matchit
plugin dit:Assurez-vous d'avoir une ligne comme
dans votre
vimrc
fichier. Cela permet à un type de fichier plugins, qui sont nombreux à dirematchit.vim
qui paires à utiliser.Cette ligne
est la façon standard de l'activation de matchit et il fonctionne sur toutes mes machines.
Ne matchit travail après
en mode normal ?
html,eruby,rb,css,js,xml
, pensez-vous, par hasard, essayez de l'utiliser avec un autre type de fichier?:help matchit-install
, il est spécifiquement écrit avec le plugin de documentation de l'esprit, mais il pourrait vous aider.:runtime macros/matchit.vim
en mode normal ne fonctionne pas tout de suite ce qui m'a jeté. Vous devez également faire un:filetype detect
à activer pour ouvrir les fichiers.runtime macros/matchit.vim
dans vimrc ne fonctionne en effet.J'ai commencé à avoir le même problème après j'ai mis à jour certains de mes vim plugings à la dernière version 7.3.
Mais quand je lance
:MatchDebug
il résout le problème pour moi.
:MatchDebug
appelss:Match_debug()
, la première ligne de ce qui estlet b:match_debug = 1 " Save debugging information.
. (Le reste de la fonction ne définit que certains menus.) Si vous recherchezb:match_debug
, vous verrez que, si elle est définie, le script ne sera pas l'utilisation de ses données en cache.Pour info: dans vim 8
runtime macros/matchit.vim
devientpackadd! matchit
. Cette site m'a beaucoup aidé.J'ai eu un problème avec matchit trouver la bonne correspondance corset en C++/C, quand il ont fait des observations des accolades. Les étapes suivantes, prises de ce post sur le forum écrit par ce mec, résolu pour moi et aussi assez bien expliqué la façon dont le tout fonctionne:
Créer le dossier ~/.vim/plugin si elle n'est pas déjà là:
Créer un fichier avec le nom de
~/.vim/plugin/matchit.vim :
et le contenu suivant:
Créer le répertoire ~/.vim/doc si elle n'est pas déjà là:
Copie /usr/share/vim/vim73/macros/matchit.txt dans ~/.vim/doc/:
Ouvrir vi
et d'exécuter ce qui suit:
Assurez-vous que votre ~/.vimrc comprend l'une des opérations suivantes:
ou
ou
ou
Ajouter le suivant autocommand dans votre vimrc:
Redémarrer Vim.
let b:match_words = &matchpairs
faire?J'ai eu le même problème. J'ai essayé
runtime macros/matchit.vim
avec VIM-script et ça ne fonctionne pas.J'ai donc téléchargé ce script dans la version 1.13.2 de http://www.vim.org/scripts/script.php?script_id=39, décompressé dans ~/vimfiles et ça marche!!!