On Thu, 27 Oct 2011, Eddine wrote:

Ben

this is my _vimrc file:

[...]

" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif

Should be non-problematic.

" vim -b : edit binary using xxd-format!
augroup Binary
au!
au BufReadPre *.bin *.bqy let &bin=1
au BufReadPost *.bin *.bqy if &bin | %!xxd
au BufReadPost *.bin *.bqy set ft=xxd | endif
au BufWritePre *.bin *.bqy if &bin | %!xxd -r
au BufWritePre *.bin *.bqy endif
au BufWritePost *.bin *.bqy if &bin | %!xxd
au BufWritePost *.bin *.bqy set nomod | endif
augroup END

All of those lines are wrong:

1. Should have commas between the patterns:

        au {event} {pat},{pat} {command}

E.g.:

        au BufReadPre *.bin *.bqy let &bin=1

Must be:

        au BufReadPre *.bin,*.bqy let &bin=1

(better, make it local):

        au BufReadPre *.bin,*.bqy let &l:bin=1

(shorter, but equivalently: [setl = setlocal])

        au BufReadPre *.bin,*.bqy setl bin


2. You can't split the command between two autocmds the way you have.

        au BufWritePre *.bin *.bqy if &bin | %!xxd -r
        au BufWritePre *.bin *.bqy endif

Needs to be (along with correction #1):

        au BufWritePre *.bin,*.bqy if &bin | %!xxd -r | endif


What I have noticed is that it occurs on that java log file that are being written while edited, and on where I often do string search.

Do your *.bin files change while you're editing them? Maybe you're hitting those malformed autocmds. Unfortunately, otherwise, nothing jumps out at me. You're under Windows? What version? What version of Vim?

--
Best,
Ben

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to