" modified by a plugin or other settings. Except for <Nop> which isn't
" affected by mappings.
-" Easy way to exit insert mode. jk is preferred because it's faster.
-inoremap jj <Esc>
+" Easy way to exit insert mode (jj is too slow).
inoremap jk <Esc>
" Also for command mode, thanks to http://github.com/mitechie/pyvim
" (2010-10-15).
-cnoremap jj <C-C>
cnoremap jk <C-C>
+" And fix my typos ...
+inoremap JK <Esc>
+inoremap Jk <Esc>
+cnoremap JK <C-C>
+cnoremap Jk <C-C>
" Disable arrow keys for all modes except command modes. Thanks to James Vega
" (http://git.jamessan.com/?p=etc/vim.git;a=summary).
\ :call <SID>TemporaryNostartofline("<Bslash><Lt>C-U>")<CR>
endif
+" Let Y yank to the end of the line, similar to D and C. Use yy if you want to
+" yank a line. This fixes a weird inconsistency in Vi(m).
+nnoremap Y y$
+
" Write before suspending, thanks to deryni in #vim on Freenode (2011-05-09
" 20:02 CEST). To suspend without saving either unmap this or use :stop<CR>.
" Only the current buffer is written, thus switching to another buffer works
nmap <Leader>sd <Nop>
endif
-" Add semicolon to the end of the line. Thanks to
-" http://www.van-laarhoven.org/vim/.vimrc for this idea and godlygeek in #vim
-" on Freenode for an improved version which doesn't clobber any marks.
-nnoremap <silent> <Leader>; :call setline(line('.'), getline('.') . ';')<CR>
-
if has('eval')
" * and # for selections in visual mode. Thanks to
" http://got-ravings.blogspot.com/2008/07/vim-pr0n-visual-search-mappings.html
endif
" Display a warning when editing a file which contains "do not edit" (ignoring
-" the case, \c), for example template files which were preprocessed or
-" auto-generated files. Especially useful when the header is not displayed on
-" the first screen, e.g. when the old position is restored. Not for vimrc
-" though.
+" the case) and similar messages in the first lines of the file, for example
+" template files which were preprocessed or auto-generated files. Especially
+" useful when the header is not displayed on the first screen, e.g. when the
+" old position is restored.
function! s:SearchForDoNotEditHeader()
- if search('\cdo not edit', 'n') == 0
- \ || expand('<afile>:t') =~# '^.\?vimrc$'
+ " Only search the first 20 lines to prevent false positives, e.g.
+ " in scripts which write files containing this warning and ignore
+ " the case (\c). (Can't use search()'s {stopline} as we might not
+ " start searching from the top.)
+ let l:search = '\c\(do not \(edit\|modify\)\|autogenerated by\)'
+ let l:match = search(l:search, 'n')
+ if l:match == 0 || l:match > 20
return
endif