From 97c56c8afea0ca27da5229315c0aa2ba3f351c06 Mon Sep 17 00:00:00 2001 From: Mathieu Maret Date: Thu, 17 Dec 2020 15:25:37 +0100 Subject: [PATCH] vim: use git for pydoc --- .vim/plugin/pydoc.vim | 111 ------------------------------------------ .vimrc | 35 ++++++++++++- 2 files changed, 33 insertions(+), 113 deletions(-) delete mode 100644 .vim/plugin/pydoc.vim diff --git a/.vim/plugin/pydoc.vim b/.vim/plugin/pydoc.vim deleted file mode 100644 index 0b8fb4d..0000000 --- a/.vim/plugin/pydoc.vim +++ /dev/null @@ -1,111 +0,0 @@ -"pydoc.vim: pydoc integration for vim -"performs searches and can display the documentation of python modules -"Author: Andr Kelpe -"Author: Romain Chossart -"Author: Matthias Vogelgesang -"http://www.vim.org/scripts/script.php?script_id=910 -"This plugin integrates the pydoc into vim. You can view the -"documentation of a module by using :Pydoc foo.bar.baz or search -"a word (uses pydoc -k) in the documentation by typing PydocSearch -"foobar. You can also view the documentation of the word under the -"cursor by pressing pw or the WORD (see :help WORD) by pressing -"pW. "This is very useful if you want to jump to a module which was found by -"PydocSearch. To have a browser like feeling you can use u and CTRL-R to -"go back and forward, just like editing normal text. - -"If you want to use the script and pydoc is not in your PATH, just put a -"line like - -" let g:pydoc_cmd = \"/usr/bin/pydoc" (without the backslash!!) - -"in your .vimrc - - -"pydoc.vim is free software, you can redistribute or modify -"it under the terms of the GNU General Public License Version 2 or any -"later Version (see http://www.gnu.org/copyleft/gpl.html for details). - -"Please feel free to contact me. - - -set switchbuf=useopen -function! ShowPyDoc(name, type) - if !exists('g:pydoc_cmd') - let g:pydoc_cmd = 'pydoc' - endif - - if bufloaded("__doc__") >0 - let l:buf_is_new = 0 - else - let l:buf_is_new = 1 - endif - - if bufnr("__doc__") >0 - execute "sb __doc__" - else - execute 'split __doc__' - endif - setlocal noswapfile - set buftype=nofile - setlocal modifiable - normal ggdG - " remove function/method arguments - let s:name2 = substitute(a:name, '(.*', '', 'g' ) - " remove all colons - let s:name2 = substitute(s:name2, ':', '', 'g' ) - if a:type==1 - execute "silent read ! " . g:pydoc_cmd . " " . s:name2 - else - execute "silent read ! " . g:pydoc_cmd . " -k " . s:name2 - endif - setlocal nomodified - set filetype=man - normal 1G - - if !exists('g:pydoc_wh') - let g:pydoc_wh = 10 - end - resize -999 - execute "silent resize +" . g:pydoc_wh - - if !exists('g:pydoc_highlight') - let g:pydoc_highlight = 1 - endif - if g:pydoc_highlight == 1 - call Highlight(s:name2) - endif - - let l:line = getline(2) - if l:line =~ "^no Python documentation found for.*$" - if l:buf_is_new - execute "bd!" - else - normal u - endif - redraw - echohl WarningMsg | echo l:line | echohl None - endif -endfunction - -"highlighting -function! Highlight(name) - execute "sb __doc__" - set filetype=man - "syn on - execute 'syntax keyword pydoc '.a:name - hi pydoc gui=reverse -endfunction - -"mappings -au FileType python,man map pw :call ShowPyDoc('', 1) -au FileType python,man map pW :call ShowPyDoc('', 1) -au FileType python,man map pk :call ShowPyDoc('', 0) -au FileType python,man map pK :call ShowPyDoc('', 0) - -" remap the K (or 'help') key -nnoremap K :call ShowPyDoc(expand(""), 1) - - -"commands -command! -nargs=1 Pydoc :call ShowPyDoc('', 1) -command! -nargs=* PydocSearch :call ShowPyDoc('', 0) diff --git a/.vimrc b/.vimrc index cdd9965..2793e0d 100644 --- a/.vimrc +++ b/.vimrc @@ -1,4 +1,4 @@ -""""""""""""" +""""""""""""""" " SHORTCUTS " """"""""""""" " F1 help @@ -29,7 +29,12 @@ " \-k Set Kernel Coding style " Use snippets with tab e.g : for (see .vim/bundle/vim-snippets/snippets for available " snippets) - +" look at :help index +" or +":redir! > vim_maps.txt +":map " Normal, visual, select and operator bindings +":map! "insert and command-line mode bindings +":redir END """"""""""" " GENERAL " """"""""""" @@ -53,6 +58,13 @@ filetype plugin on " enable file type detection and do language-dependent indenting filetype plugin indent on "set clipboard=unnamed +" Add to .vimrc to enable project-specific vimrc + +"set exrc +"set secure + +" exrc allows loading local executing local rc files. +" secure disallows the use of :autocmd, shell and write commands in local .vimrc files. """""""" " SAVE " """""""" @@ -487,6 +499,24 @@ inoremap u[s1z=`]au "set list "set listchars=eol:⏎,tab:▸·,trail:␠,nbsp:⎵ +"""""""" +" GPG +"""""""" + +augroup encrypted + au! + autocmd BufReadPre,FileReadPre *.gpg set viminfo= + autocmd BufReadPre,FileReadPre *.gpg set noswapfile noundofile nobackup + autocmd BufReadPre,FileReadPre *.gpg set bin + autocmd BufReadPre,FileReadPre *.gpg let ch_save = &ch|set ch=2 + autocmd BufReadPost,FileReadPost *.gpg '[,']!gpg --decrypt 2> /dev/null + autocmd BufReadPost,FileReadPost *.gpg set nobin + autocmd BufReadPost,FileReadPost *.gpg let &ch = ch_save|unlet ch_save + autocmd BufReadPost,FileReadPost *.gpg execute ":doautocmd BufReadPost " . expand("%:r") + autocmd BufWritePre,FileWritePre *.gpg '[,']!gpg --default-recipient-self -ae 2>/dev/null + autocmd BufWritePost,FileWritePost *.gpg u +augroup END + """"""""" " Plugin" """"""""" @@ -549,6 +579,7 @@ Plugin 'scrooloose/nerdtree' "Plugin 'scrooloose/syntastic' "Plugin 'majutsushi/tagbar' "Plugin 'Yggdroot/indentLine' +Plugin 'fs111/pydoc.vim' " Omni completion for cpp Plugin 'vim-scripts/OmniCppComplete'