From fb1d65bf0e32e788c4768ca5f9cdcacf87808489 Mon Sep 17 00:00:00 2001 From: Jean-Christophe Vanhalle Date: Mon, 8 Feb 2021 08:10:19 +0100 Subject: [PATCH] first commit --- .vimrc | 193 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 .vimrc diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..ec6eeb1 --- /dev/null +++ b/.vimrc @@ -0,0 +1,193 @@ +behave mswin + +"let g:ale_completion_enabled = 1 + +call plug#begin("$XDG_CONFIG_HOME/vim/plugged") +Plug 'airblade/vim-gitgutter' +Plug 'dense-analysis/ale' +Plug 'itchyny/lightline.vim' +Plug 'lifepillar/vim-solarized8' +Plug 'mustache/vim-mustache-handlebars' +Plug 'phpactor/phpactor', {'for': 'php', 'do': 'composer install --no-dev -o'} +Plug 'rhysd/vim-gfm-syntax' +Plug 'trusktr/seti.vim' +Plug 'scrooloose/nerdtree' +Plug 'xuyuanp/nerdtree-git-plugin' +Plug 'yegappan/mru' +Plug 'dikiaap/minimalist' +"Plug 'vim-vdebug/vdebug' +Plug 'uguu-org/vim-matrix-screensaver' +"Plug 'neoclide/coc.nvim', {'branch': 'release'} +Plug 'chriskempson/tomorrow-theme' +Plug 'altercation/vim-colors-solarized' +Plug 'romainl/flattened' +Plug 'fneu/breezy' +Plug 'chrisbra/vim-autosave' +Plug 'junegunn/goyo.vim' +Plug 'junegunn/limelight.vim' +Plug 'bilalq/lite-dfm' + +call plug#end() + +set fileencoding=utf8 +set fileformat=unix +set fileformats=unix,dos + +set termguicolors +colorscheme flattened_dark +set background=dark +"set t_Co=256 +let g:lightline = { 'colorscheme': 'solarized', } +let &showbreak='+-> ' +let &showbreak='⮑ ' +let g:markdown_fenced_languages = ['sh', 'bash=sh', 'shell=sh', 'php', 'sql'] + +set noshowmode "affiche le mode dans la ligne de statut +set novisualbell "set vb t_vb="" +set number "pas beau +set title "affiche le titre du fichier dans le titlebar +set titlestring=%F\ %r\ %m + +"set mouse=a "souris dans le terminal +set mouse=r "sélectionner texte à la souris dans le terminal + +set autochdir "change le rep. courant de vim pour celui du fichier en cours d'édition +set backup "effacer l'ancien back-up par le courant et active le backup :] + +set ignorecase "ignore la casse pour la recherche + +"autocmd FileType c set cindent "indentation c quand filetype c :) + +set expandtab "la touche TAB insère de vrais espaces +set shiftwidth=4 "nombre d'espaces utilisés pour l'INDENTATION (après un if, l'appui sur enter insère une nouvelle indentation de deux espaces) +set smartindent "modifie l'indentation si on est en fin de bloc (entre autre) +set softtabstop=4 "la touche TAB insère deux espaces +set tabstop=4 "le caractère TAB est interprété à l'écran comme deux espaces + +set linebreak "coupe les lignes trop longues (au mot près) + +set foldmethod=manual + +let MRU_File="$XDG_DATA_HOME/vim-data/mru_files" +let MRU_Max_Entries=140 + +set backupdir=$XDG_DATA_HOME/vim-data/backup +set directory=$XDG_DATA_HOME/vim-data/swap +set undodir=$XDG_DATA_HOME/vim-data/undo +set undofile "undo même après avoir fermé le fichier + +inoremap =MyTabOrComplete() +"inoremap + +cmap w!! %!sudo tee > /dev/null % +imap jj + +map +map W + +map < +map - +map + +map > + +map tt :tabnew + +autocmd BufRead *.* set nohlsearch +"autocmd BufRead *.c,*.h set ft=c "filetype c quand fichier c" +"autocmd BufRead *.lua set ft=lua +autocmd BufRead *.txt set ft=markdown +autocmd BufRead *.md set ft=markdown +autocmd BufRead *.markdown set ft=markdown +"autocmd BufRead *.hackernews set ft=hackernews +autocmd BufRead *.ejs set ft=html +autocmd BufRead *.jade set ft=jade +autocmd BufRead *.js set shiftwidth=2 +autocmd BufRead *.js set softtabstop=2 +autocmd BufRead *.js set tabstop=2 +autocmd BufRead *.yml set tabstop=2 +autocmd BufRead *.yml set shiftwidth=2 +autocmd BufRead *.yml set softtabstop=2 +autocmd BufRead *.html let g:ale_fix_on_save = 1 +autocmd BufRead *.css let g:ale_fix_on_save = 1 +autocmd BufRead *.js let g:ale_fix_on_save = 1 +autocmd BufRead *.php let g:ale_fix_on_save = 1 +autocmd BufRead *.yml,*.yaml let g:ale_fix_on_save = 1 +"autocmd BufWritePost * NERDTreeFocus | execute 'normal R' | wincmd p +autocmd BufWritePost * NERDTreeRefreshRoot + +"""""""""""""""""""""""""""""""" +" fonction complétion " +"""""""""""""""""""""""""""""""" +function MyTabOrComplete() + let col = col('.')-1 + if !col || getline('.')[col-1] !~ '\k' + return "\" + else + return "\" + endif +endfunction + +" *********************************************" +" positionne le curseur au dernier emplacement " +" connu à l'ouverture d'un fichier " +" *********************************************" +autocmd BufReadPost * + \ if line("'\"") > 0 && line("'\"") <= line("$") | + \ exe "normal! g`\"" | + \ endif + +function! HighlightSearch() + if &hls + return 'H' + else + return '' + endif +endfunction + +let g:ale_sign_error = '✖' +hi ALEErrorSign guifg=#DF8C8C +"let g:ale_sign_warning = '⚠' +"let g:ale_sign_warning = '❗' +let g:ale_sign_warning = '!' +"hi ALEWarningSign guifg=#F2C38F + +"let NERDTreeMinimalUI = 1 + +let g:ale_php_phpcs_options = '--standard=/home/jeankri/.config/ruleset-psr12-custom.xml' +" not doing anything ? let g:ale_php_phpcbf_options = '--standard=/xhome/jeankri/.config/ruleset-psr2-custom.xml' +" +" we need eslint for linting js and phpcs for linting php and tidy for html linting and prettier is used for every file format +" tidy could use as fixer but I don't trust it enough yet +let g:ale_javascript_prettier_options = '--single-quote' +let g:ale_fixers = { + \ '*': ['remove_trailing_lines', 'trim_whitespace'], + \ 'javascript': ['remove_trailing_lines', 'trim_whitespace', 'prettier'], + \ 'html': ['remove_trailing_lines', 'trim_whitespace','prettier'], + \ 'css': ['remove_trailing_lines', 'trim_whitespace','prettier'], + \ 'php': ['remove_trailing_lines', 'trim_whitespace', 'prettier'], + \ 'yaml': ['remove_trailing_lines', 'trim_whitespace', 'prettier'] + \ } +"let g:ale_fixers = { +" \ '*': ['remove_trailing_lines', 'trim_whitespace'], +" \ 'javascript': ['remove_trailing_lines', 'trim_whitespace', 'prettier'], +" \ 'html': ['remove_trailing_lines', 'trim_whitespace','tidy'], +" \ 'css': ['remove_trailing_lines', 'trim_whitespace','stylelint'], +" \ 'php': ['remove_trailing_lines', 'trim_whitespace', 'phpcbf'], +" \ 'yaml': ['remove_trailing_lines', 'trim_whitespace', 'prettier'] +" \ } +set guicursor= + +let g:vdebug_options= { + \ "port" : 9001, + \ "server" : '', + \ "timeout" : 20, + \ "on_close" : 'detach', + \ "break_on_open" : 0, + \ "path_maps" : {}, + \ "debug_window_level" : 0, + \ "debug_file_level" : 0, + \ "debug_file" : "", + \ "watch_window_style" : 'compact' + \ } + +let g:autosave_backup = '~/.local/share/vim-data/backup-plugin'