dotfiles/.vimrc_vundle

734 lines
28 KiB
Plaintext
Raw Normal View History

2024-06-19 08:46:00 +00:00
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | configuration vim + IDE |
" | pcht 2016-2024 |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
2024-06-19 09:40:26 +00:00
" Vundle https://github.com/VundleVim/Vundle.vim
" install with :
" git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
" set nocompatible be iMproved, required - Isnt it automatic with .vimrc??
2024-06-19 08:46:00 +00:00
" utf8
set encoding=utf-8
2016-11-03 09:08:32 +00:00
filetype off " required
2024-06-19 08:46:00 +00:00
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | Vundle |
" | |
" |https://github.com/VundleVim/Vundle.vim |
" |install with : |
" | git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim|
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
"
2016-11-03 09:08:32 +00:00
" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
2024-06-19 08:46:00 +00:00
" git
2016-11-03 09:08:32 +00:00
Plugin 'tpope/vim-fugitive'
2024-06-19 08:46:00 +00:00
" commentary
2024-06-19 09:40:26 +00:00
Plugin 'commentary.vim'
2016-11-23 10:06:05 +00:00
" Plugin 'Syntastic'
2024-06-19 08:46:00 +00:00
" set statusline+=%#warningmsg#
" set statusline+=%{SyntasticStatuslineFlag()}
" set statusline+=%*
" let g:syntastic_always_populate_loc_list = 1
" let g:syntastic_auto_loc_list = 1
" let g:syntastic_check_on_open = 1
" let g:syntastic_check_on_wq = 0
" let g:syntastic_auto_jump = 2
2024-06-19 09:40:26 +00:00
Plugin 'ctrlpvim/ctrlp.vim'
Plugin 'tpope/vim-surround'
2019-04-02 14:44:52 +00:00
Plugin 'tpope/vim-repeat'
2024-06-19 09:40:26 +00:00
" ys<target><obj> : ajoute <ojb> autour de <target> (sous le curseur)
" ysw" : ajoute des " autour du word
" ysW' : ajout des ' autour du WORD
" yss{ : ajoute { a la phrase (avec espace)
" yss} : ajoute { a la phrase
" ySS[ : ajoute [ a la phrase, en indentant + a la ligne
"
" cs<target><rep> : change <obj> en <rep> dans <t>
" cs"' : change les " par des '
"
" ds<target> : supprime une <target>
" ds" : supprime les "
"
" <target> : w = word, W = WORD, s = sentence, p = paragraph
" " ' ( ) [ ] { } < >
" t <tag>
2016-11-03 09:08:32 +00:00
2024-06-19 08:46:00 +00:00
" unicode characters
" :h unicode-plugin
" map:
" c-x c-z: complete unicode char
" c-x c-g: complete unicode digraph
Plugin 'chrisbra/unicode.vim'
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | LSP vim client |
" | ALE (Asynchronous Lint Engine) |
" | https://github.com/dense-analysis/ale |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
" Plugin 'dense-analysis/ale'
" let g:ale_linters = {
" \ 'sh': ['shellcheck'],
" \ 'py': ['flake8'],
" \}
" " flake8 ignore
" let g:ale_python_flake8_options = '--ignore=E501'
" let g:ale_fixers = {
" \ '*': ['remove_trailing_lines', 'trim_whitespace'],
" \}
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | LSP vim client |
" | YouCompleteMe |
" | https://valloric.github.io/YouCompleteMe/ |
" | |
" | Install: |
" | https://github.com/ycm-core/YouCompleteMe?tab=readme-ov-file#linux-64-bit|
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
Plugin 'Valloric/YouCompleteMe'
2017-04-21 10:27:23 +00:00
2024-06-19 08:46:00 +00:00
let g:ycm_language_server = []
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | Language Server Protocol LSP |
" | https://langserver.org/ |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
" Archlinux
" https://github.com/hashicorp/terraform-ls
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | bash-language-server |
" | https://github.com/bash-lsp/bash-language-server |
" | |
" | install: |
" | npm i -g bash-language-server |
" | test: |
" | bash-language-server --help |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
let g:ycm_language_server +=
\ [
\ {
\ 'name': 'bash',
\ 'cmdline': [ 'bash-language-server', 'start' ],
\ 'filetypes': [ 'sh' ],
\ }
\ ]
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | dockerfile-language-server |
" | https://github.com/rcjsuen/dockerfile-language-server |
" | |
" | install: |
" | npm install -g dockerfile-language-server-nodejs |
" | test: |
" | ?? |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
let g:ycm_language_server +=
\ [ { 'name': 'docker',
\ 'filetypes': [ 'dockerfile' ],
\ 'cmdline': [ '/home/patrick/.npm-packages/bin/docker-langserver --stdio' ],
\ },
\ ]
" vim-language-server
" https://github.com/iamcco/vim-language-server
" install:
" npm install -g vim-language-server
"
2024-06-19 08:46:00 +00:00
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | reStructuredText |
" | https://github.com/swyddfa/esbonio/tree/develop/lib/esbonio |
" | |
" | install: |
" | pipx install esbonio |
" | sudo pacman -Ss esbonio |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
let g:ycm_language_server +=
\ [ { 'name': 'esbonio',
\ 'filetypes': [ 'rst' ],
\ 'cmdline': [ 'esbonio' ],
\ },
\ ]
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | Terraform |
" | https://github.com/hashicorp/terraform-ls |
" | |
" | install: |
" | https://github.com/hashicorp/terraform-ls |
" | AUR: https://aur.archlinux.org/terraform-ls.git |
" | |
" | test: |
" | terraform-ls version |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
let g:ycm_language_server +=
\ [ { 'name': 'terraform-ls',
\ 'filetypes': [ "ts", "terraform", "terraform-vars" ],
\ 'cmdline': [ 'terraform-ls', 'serve' ],
\ },
\ ]
""""""""""""""""""""""""""
" languages autocompletion
" toml
" Plugin 'cespare/vim-toml'
" COC https://github.com/neoclide/coc.nvim
" Use release branch (recommend)
" Plugin 'neoclide/coc.nvim', {'branch': 'release'}
" Or build from source code by using yarn: https://yarnpkg.com
" Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile'}
" tabNine https://www.tabnine.com/
" online deeplearning all language sementic completion system
" Plugin 'zxqfl/tabnine-vim'
" Codeium - « free » coding assistant
" https://github.com/Exafunction/codeium.vim
Plugin 'Exafunction/codeium.vim'
" Ollama Support for Vim
" https://github.com/gergap/vim-ollama
" Plugin 'gergap/vim-ollama'
" Default chat model
let g:ollama_chat_model = 'llama3.2:1b'
" Codellama models
" let g:ollama_model = 'codellama:7b'
" " Codegemma (small and fast)
" let g:ollama_model = 'codegemma:2b'
" let g:ollama_fim_prefix = '<|fim_prefix|>'
" let g:ollama_fim_middle = '<|fim_middle|>'
" let g:ollama_fim_suffix = '<|fim_suffix|>'
" " Deepseek-coder-v2
let g:ollama_model = 'deepseek-coder:1.3b'
" let g:ollama_fim_prefix = '<fim▁begin>'
" let g:ollama_fim_suffix = '<fim▁hole>'
" let g:ollama_fim_middle = '<fim▁end>'
" " activate debug
let g:ollama_debug = 1
let g:ollama_logfile = '/home/patrick/vim-ollama.log'
2024-06-19 08:46:00 +00:00
" ansible
" Plugin 'pearofducks/ansible-vim'
" enable YAML for hosts.yml
" autocmd BufNewFile,BufRead hosts.y[a]ml setfiletype yaml.ansible
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | language server |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
" languages
2017-05-11 14:59:58 +00:00
" Plugin 'octol/vim-cpp-enhanced-highlight'
2024-06-19 08:46:00 +00:00
"
2017-05-11 14:59:58 +00:00
" C++ http://www.vim.org/scripts/script.php?script_id=3302
" install with vim clang_complete.vmb -c 'so %' -c 'q'
2024-06-19 08:46:00 +00:00
"
2017-05-11 14:59:58 +00:00
" GLSL
2024-06-19 08:46:00 +00:00
" Plugin 'tikhomirov/vim-glsl'
" rust
2017-05-11 14:59:58 +00:00
" Plugin 'rust-lang/rust.vim'
2017-04-21 10:27:23 +00:00
2024-06-19 08:46:00 +00:00
" golang
" require Vim 8.0.1453
Plugin 'fatih/vim-go'
au FileType go nmap <leader>m <Plug>(go-test)
au FileType go nmap <leader>a :GoAlternate<cr>
au FileType go nmap gd <Plug>(go-def)
au FileType go set foldmethod=syntax
" :Refactor extract newfunc
" Plugin 'godoctor/godoctor.vim'
" elm ElmCast https://guide.elm-lang.org/
" Plugin 'ElmCast/elm-vim'
" ksp/kos script syntax
" Plugin 'KSP-KOS/EditorTools', {'rtp': 'VIM/vim-kerboscript'}
" kerboscript comment
" or
" Plugin 'Freedzone/kerbovim'
" autocmd FileType kerboscript setlocal commentstring=//\ %s
" terraform
Plugin 'hashivim/vim-terraform'
let g:terraform_align=1
" let g:terraform_fold_sections=1
let g:terraform_fmt_on_save=1
" let g:terraform_binary_path="/usr/local/Cellar/terraform/0.13.5/bin/terraform"
" screeps.com game
" Plugin 'dbaileychess/vim-screeps'
" python - hand-made
" from https://vim.fandom.com/wiki/Python_-_check_syntax_and_run_script
" autocmd BufRead *.py set makeprg=python\ -c\ \"import\ py_compile,sys;\ sys.stderr=sys.stdout;\ py_compile.compile(r'%')\"
2019-01-10 14:37:01 +00:00
2024-06-19 08:46:00 +00:00
"""""""
" tools
" https://github.com/dhruvasagar/vim-table-mode
" activation: \tm
" add sep : ||
" add line : | blabla | blibli |
" realign : \tr
Plugin 'dhruvasagar/vim-table-mode'
let g:table_mode_corner_corner='+'
let g:table_mode_header_fillchar='='
nmap <leader>tm <esc>:TableModeToggle<cr>
imap <leader>tm <esc>:TableModeToggle<cr>i
" vim-shellcheck
" map:
" \m to launch Shellcheck
" gb to see SCxxx in browser
Plugin 'itspriddle/vim-shellcheck'
au FileType sh compiler shellcheck
au FileType sh nmap <leader>m :ShellCheck!<cr>
au FileType sh imap <leader>m <esc>:ShellCheck!<cr>i
2016-11-03 09:08:32 +00:00
" All of your Plugins must be added before the following line
call vundle#end() " required
filetype plugin indent on " required
2024-06-19 09:40:26 +00:00
2024-06-19 08:46:00 +00:00
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | end Vundle |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
2016-11-03 09:08:32 +00:00
" syntax
syntax on
" colorscheme default
2024-06-19 08:46:00 +00:00
colorscheme pcht
2016-11-03 09:08:32 +00:00
" print code with :hardcopy using impression.lam.jussieu.fr
2024-06-19 08:46:00 +00:00
" set printdevice=hp5550-509
" set printoptions=left:5pt,right:5pt,top:5pt,bottom:5pt,number:y,duplex:off,wrap:y,paper:A4,portrait:y
" set printheader=%<%F\ -\ page\ %N%=Print\ at\ %{strftime(\'%Y-%m-%d\ %H:%M\')}
2016-11-03 09:08:32 +00:00
" FIXME set printfont=:h18
" modeline : enable « vim:<space> [ vim_set ] + »
2017-04-27 08:47:56 +00:00
set modeline
2019-01-10 14:37:01 +00:00
" set backspace normal
set backspace=2
2024-06-19 08:46:00 +00:00
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | ligne de statut |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
2016-11-03 09:08:32 +00:00
set statusline=%F%m%r%h%w\ %{fugitive#statusline()}%=[BUF=%n][FORMAT=%{&ff}][TYPE=%Y][ASCII=%03.3b][LINE=%03l][COL=%03v][%p%%]
set laststatus=2
2016-11-14 14:56:21 +00:00
"""""""""""""""""""
" affiche les touches en mode commande
set showcmd
2024-06-19 08:46:00 +00:00
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | numéro de ligne |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
2016-11-03 09:08:32 +00:00
set number
highlight LineNr ctermbg=black ctermfg=gray
"""""""""""""""""""
" ligne et colonne courante: activation en mode insert et pas en mode normal
2024-06-19 08:46:00 +00:00
" :autocmd InsertEnter,InsertLeave * set cursorline! cursorcolumn!
" highlight CursorLine term=underline cterm=underline
" set cursorcolumn cursorline
" " highlight CursorColumn term=none cterm=none ctermbg=grey ctermfg=black
" highlight CursorColumn term=underline cterm=underline
"""""""""""""""""""
" ligne courante: activation en mode insert et pas en mode normal
:autocmd InsertEnter,InsertLeave * set cursorline!
set cursorline
2016-11-03 09:08:32 +00:00
highlight CursorLine term=underline cterm=underline
2019-01-10 14:37:01 +00:00
2016-11-23 10:07:24 +00:00
"""""""""""""""""""
" Search/IncSearch
set hlsearch
highlight Search term=reverse,bold cterm=reverse,bold ctermfg=None ctermbg=None
set incsearch
2016-11-28 09:48:59 +00:00
highlight IncSearch term=reverse cterm=reverse ctermfg=None ctermbg=None
2016-11-03 09:08:32 +00:00
2024-06-19 08:46:00 +00:00
" /lemot : insensible a la case
" /LeMot : sensible
" /\clemot : insensible
" /\CleMot : sensible
set smartcase
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | tab/eof as characters |
" | |
" | https://vi.stackexchange.com/questions/422/displaying-tabs-as-characters |
" | dans vim, utiliser Ctrl-v + u + code utf8 |
" | code : https://codepoints.net/control_pictures |
" | tab : ␉ (U+2409 - SYMBOL FOR HORIZONTAL TABULATION) |
" | : ˍ (U+02cd - MODIFIER LETTER LOW MACRON) |
" | : (U+2024 - ONE DOT LEADER) |
" | : • (U+2022 - BULLET) |
" | eol : ¶ (U+00b6 - PILCROW SIGN) |
" | trail : ␠ (U+2420 - SYMBOL FOR SPACE) |
" | : ␣ (U+2423 - OPEN BOX) |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
2019-01-10 14:37:01 +00:00
set list
2024-06-19 08:46:00 +00:00
set listchars=tab:␉․,trail:␠,nbsp:⎵,precedes:<,extends:>,eol:¶
2019-01-10 14:37:01 +00:00
" listchars as grey
highlight SpecialKey ctermfg=DarkGrey
highlight NonText ctermfg=DarkGrey
2024-06-19 08:46:00 +00:00
nmap <leader>l <esc>:set invlist<cr>
imap <leader>l <esc>:set invlist<cr>li
" disable by default
set invlist
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | autoindent |
" | |
" | set autoindent |
" | tabulation |
" | set expandtab |
" | set shiftwidth=4 |
" | set softtabstop=4 |
" | set tabstop=4 |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
" replis de code <fold>
" <n>zf pour créer un repli
" za pour ouvrir/fermer un repli déjà crée
" zm pour fermer tous les replis
" zr pour ouvrir tous les replis
" function! MyFoldFunction ()
" let line = getline(v:foldstart)
" let sub = substitute(line,'/\*\|\*/\|^\s+','','g')
" let lines = v:foldend - v:foldstart + 1
" return '[+] ' . v:folddashes.sub . '...' . lines . ' lignes...' . getline(v:foldend)
" endfunction
set nofoldenable
set foldlevel=3
2016-11-03 09:08:32 +00:00
"" afficher un = sur les replis
" set fillchars=fold:=
" set foldtext=MyFoldFunction()
2024-06-19 08:46:00 +00:00
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | les onglets |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
2016-11-03 09:08:32 +00:00
" tabe <file> créer un onglet
2024-06-19 09:36:49 +00:00
"function! MoveTab(direction)
" if (a:direction == 'left')
" let tabnum = tabpagenr()-2
" if (tabnum < 0)
" let tabnum = 0
" endif
" execute 'tabm '.tabnum
" else
" let tabnum = tabpagenr()
" execute 'tabm '.tabnum
" endif
"endfunction
2024-06-19 08:46:00 +00:00
highlight TabLine term=none cterm=none
highlight TabLineSel ctermbg=darkblue
2016-11-03 09:08:32 +00:00
" raccourcis
" gF ouvre un onglet sur le mot sous le cursor
2024-06-19 08:46:00 +00:00
map <C-h> <esc>:tabprevious<cr>
map <C-left> <esc>:tabprevious<cr>
map <C-l> <esc>:tabnext<cr>
map <C-right> <esc>:tabnext<cr>
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | correcteur orthographique |
" | utilisation |
" | <]+s>, <[+s>: aller a l'erreur precedente, suivante |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
setlocal spell spelllang=fr,en
" setlocal spell spelllang=en_us,fr
set spell
2017-02-24 15:04:31 +00:00
highlight SpellBad term=underline ctermfg=white ctermbg=red cterm=underline
highlight SpellCap term=italic,underline ctermfg=yellow ctermbg=red cterm=underline
highlight SpellRare term=bold,italic,underline ctermfg=cyan ctermbg=red cterm=underline
highlight SpellLocal term=underline ctermfg=grey ctermbg=red cterm=underline
highlight SpellErrors term=italic,underline ctermbg=red ctermfg=white
2016-11-03 09:08:32 +00:00
2024-06-19 08:46:00 +00:00
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | ouverture du fichier à l'ancienne position |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
2016-11-03 09:08:32 +00:00
function! s:CursorOldPosition()
if line("'\"") > 0 && line("'\"") <= line("$")
exe "normal g`\""
endif
endfunction
autocmd BufReadPost * silent! call s:CursorOldPosition()
2024-06-19 08:46:00 +00:00
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | templates |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
2016-11-03 09:08:32 +00:00
function! LoadTemplate(extension,type)
if (a:type == 'all')
silent! execute '0r' . $HOME . '/.vim/__tpl/' . a:extension . '.tpl'
silent! execute 'source ' .$HOME . '/.vim/__tpl.vim'
endif
" abbreviations
silent! execute 'source ' .$HOME . '/.vim/__tpl/' . a:extension . '.abb'
" dictionaries
silent! execute 'source ' .$HOME . '/.vim/__tpl/' . a:extension . '.dict'
" commandes vim
silent! execute 'source ' .$HOME . '/.vim/__tpl/' . a:extension . '.vim'
endfunction
autocmd BufNewFile * silent! call LoadTemplate('%:e','all')
autocmd BufRead * silent! call LoadTemplate('%:e','notall')
" " omnifunc
" if has("autocmd") && exists("+omnifunc")
" autocmd Filetype *
" \ if &omnifunc == "" |
" \ setlocal omnifunc=syntaxcomplete#Complete |
" \ endif
" endif
" CISCO ACL
augroup filetype
au! BufRead,BufNewFile *.crules set filetype=ciscoacl
au! BufRead,BufNewFile *.acl set filetype=ciscoacl
augroup END
" markdown syntax for gitit
augroup filetype
au! BufRead,BufNewFile *.page set filetype=markdown
au! BufRead,BufNewFile *.md set filetype=markdown
augroup END
2024-06-19 08:46:00 +00:00
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | boxes tool to pretty print code |
" | from https://boxes.thomasjensen.com/docs/install.html |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
autocmd BufEnter * nmap <leader>bb !!boxes -d shell -s 80<CR>
autocmd BufEnter * vmap <leader>bb !boxes -d shell -s 80<CR>
autocmd BufEnter * nmap <leader>BB !!boxes -d shell -s 80 -r<CR>
autocmd BufEnter * vmap <leader>BB !boxes -d shell -s 80 -r<CR>
autocmd BufEnter *.go,*.java nmap <leader>bb !!boxes -d cpp -s 80<CR>
autocmd BufEnter *.go,*.java vmap <leader>bb !boxes -d cpp -s 80<CR>
autocmd BufEnter *.go,*.java nmap <leader>BB !!boxes -d cpp -s 80 -r<CR>
autocmd BufEnter *.go,*.java vmap <leader>BB !boxes -d cpp -s 80 -r<CR>
autocmd BufEnter .vimrc* nmap <leader>bb !!boxes -d vim -s 80<CR>
autocmd BufEnter .vimrc* vmap <leader>bb !boxes -d vim -s 80<CR>
autocmd BufEnter .vimrc* nmap <leader>BB !!boxes -dvim -s 80 -r<CR>
autocmd BufEnter .vimrc* vmap <leader>BB !boxes -d vim -s 80 -r<CR>
2016-11-28 09:48:59 +00:00
" Search down into subfolders
" Provides tab-completion for all file-related tasks
" use :find + <tab>
set path+=**
" Display all matching files when we tab complete
set wildmenu
2024-06-19 08:46:00 +00:00
" formatoptions
set formatoptions=tcpr
" tab and spaces
" see http://vimcasts.org/episodes/tabs-and-spaces/
" set ts=4 sts=4 sw=4 noet
set tabstop=4
set softtabstop=4
set shiftwidth=4
set noexpandtab
" keep center
set scrolloff=999
" _\|/_
" (o o)
" <~~~~~~oOO-{_}-OOo~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" | |
" | keymaps |
" | |
" <~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>
" (_) (_)
" no arrows keys no more
2024-06-19 08:46:00 +00:00
nmap <left> <nop>
nmap <right> <nop>
nmap <up> <nop>
nmap <down> <nop>
" Esc remap
2024-06-19 08:46:00 +00:00
imap jj <esc>
imap kk <esc>
2016-11-03 09:08:32 +00:00
2016-11-04 09:20:16 +00:00
" moves
2024-06-19 08:46:00 +00:00
" nmap K <C-u>
" nmap J <C-d>
" search next/previous with center view
" no need with scrolloff=99
" nmap n nzz
" nmap N Nzz
" always open file even new one
nmap gf :e <cfile><cr>
" increase / decrease
:nnoremap <A-a> <C-a>
:nnoremap <A-x> <C-x>
2016-11-04 09:20:16 +00:00
" speed up
" edit .vimrc
2024-06-19 08:46:00 +00:00
nmap <leader>v :vs ~/.vimrc<cr>
imap <leader>v <esc>:vs ~/.vimrc<cr>i
nmap <leader>V :source ~/.vimrc<cr>
" see file
imap <leader>s <esc>:!see %<cr>i
nmap <leader>s :!see %<cr>
" html + php
2024-06-19 08:46:00 +00:00
" nmap <leader>h :set ft=html<cr>
" imap <leader>h <esc>:set ft=html<cr>i
" nmap <leader>p :set ft=php<cr>
" imap <leader>p <esc>:set ft=php<cr>i
2019-01-22 16:00:52 +00:00
" make
2024-06-19 08:46:00 +00:00
nmap <leader>m :w<cr>:!clear<cr>:make<cr>
imap <leader>m <esc>:w<cr>:!clear<cr>:make<cr>
nmap <leader>t :w<cr>:!clear<cr>:make test<cr>
imap <leader>t <esc>:w<cr>:!clear<cr>:make test<cr>
nmap <leader>, :cprevious<cr>
imap <leader>, <esc>:cprevious<cr>i
nmap <leader>. :cnext<cr>
imap <leader>. <esc>:cnext<cr>i
" change alternative
2024-06-19 08:46:00 +00:00
nmap <leader>/ :e#<cr>
" auto indent
nmap <leader>i m`gg=G``
" try ; as :
nmap ; :
" translate with trans (https://github.com/soimort/translate-shell)
vmap <leader>fr :!trans -b :fr<cr>
vmap <leader>en :!trans -b :en<cr>