let mapleader=" " set list syntax on let g:html_indent_script1 = "inc" let g:html_indent_style1 = "inc" set relativenumber set tabstop=2 set shiftwidth=2 set nu set nowrap set noswapfile set nobackup set undodir=~/.vim/undodir set undofile set termguicolors set scrolloff=8 set noshowmode " Give more space for displaying messages. set cmdheight=2 " Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable " delays and poor user experience. set updatetime=50 " Don't pass messages to |ins-completion-menu|. set shortmess+=c call plug#begin('~/.vim/plugged') Plug 'gruvbox-community/gruvbox' " Plug 'colepeters/spacemacs-theme.vim' Plug 'sainnhe/gruvbox-material' " Plug 'phanviet/vim-monokai-pro' Plug 'vim-airline/vim-airline' Plug 'flazz/vim-colorschemes' Plug 'ap/vim-css-color' Plug 'airblade/vim-rooter' Plug 'f-person/git-blame.nvim' " Telescope Plug 'nvim-lua/plenary.nvim' Plug 'nvim-telescope/telescope.nvim', { 'tag': '0.1.2' } Plug 'ThePrimeagen/harpoon' Plug 'nvim-telescope/telescope-live-grep-args.nvim' " LSP Support Plug 'neovim/nvim-lspconfig' " Required Plug 'williamboman/mason.nvim', " Optional Plug 'williamboman/mason-lspconfig.nvim' " Optional " Autocompletion Plug 'hrsh7th/nvim-cmp' " Required Plug 'hrsh7th/cmp-nvim-lsp' " Required Plug 'L3MON4D3/LuaSnip' " Required Plug 'stevearc/oil.nvim' Plug 'VonHeikemen/lsp-zero.nvim', {'branch': 'v2.x'} Plug 'praem90/nvim-phpcsf' call plug#end() let g:nvim_phpcs_config_phpcs_path = '/var/www/html/praeconis/vendor/bin/phpcs' let g:nvim_phpcs_config_phpcbf_path = '/var/www/html/praeconis/vendor/bin/phpcbf' let g:nvim_phpcs_config_phpcs_standard = 'Drupal' " or path to your ruleset phpcs.xml augroup PHBSCF autocmd! autocmd BufWritePost,BufReadPost,InsertLeave *.php :lua require'phpcs'.cs() autocmd BufWritePost *.php :lua require'phpcs'.cbf() augroup END nnoremap :noh noremap nnoremap :bprevious nnoremap :bnext " Theme let g:gruvbox_invert_selection='0' set background=dark let g:gruvbox_contrast_dark = 'hard' colorscheme gruvbox let g:rooter_patterns = ['Makefile', '*.sln', 'build/env.sh', 'deploy.sh'] " Git blame nnoremap b GitBlameToggle " Telescope nnoremap ff Telescope find_files nnoremap fg lua require('telescope').extensions.live_grep_args.live_grep_args({ prompt_title = 'ripgrep with args', additional_args = '-tphp', }) nnoremap fb Telescope buffers nnoremap fh Telescope help_tags " Harpoon nnoremap a lua require("harpoon.mark").add_file() nnoremap :lua require("harpoon.ui").toggle_quick_menu() " Fichier " Fonction pour ouvrir Dolphin dans le répertoire du fichier courant function! OpenDolphin() let l:current_file = expand('%:p') let l:current_directory = fnamemodify(l:current_file, ':p:h') silent execute "!dolphin" shellescape(l:current_directory) endfunction " Associez la fonction OpenDolphin à la combinaison de touches Ctrl+P nnoremap :call OpenDolphin() lua<Oil", { desc = "Open parent directory" }) local lsp = require('lsp-zero').preset({}) lsp.on_attach(function(client, bufnr) -- see :help lsp-zero-keybindings -- to learn the available actions lsp.default_keymaps({buffer = bufnr}) end) lsp.setup() -- You need to setup `cmp` after lsp-zero local cmp = require('cmp') local cmp_action = require('lsp-zero').cmp_action() local telescope = require("telescope") local lga_actions = require("telescope-live-grep-args.actions") telescope.setup { extensions = { live_grep_args = { postfix = "", auto_quoting = true, -- enable/disable auto-quoting -- define mappings, e.g. mappings = { -- extend mappings i = { --[""] = lga_actions.quote_prompt(), --[""] = lga_actions.quote_prompt({ postfix = " --iglob " }), }, }, -- ... also accepts theme settings, for example: -- theme = "dropdown", -- use dropdown theme -- theme = { }, -- use own theme spec -- layout_config = { mirror=true }, -- mirror preview pane } } } cmp.setup({ mapping = { -- `Enter` key to confirm completion [''] = cmp.mapping.confirm({select = false}), -- Ctrl+Space to trigger completion menu [''] = cmp.mapping.complete(), -- Navigate between snippet placeholder [''] = cmp_action.luasnip_jump_forward(), [''] = cmp_action.luasnip_jump_backward(), [''] = function(fallback) if cmp.visible() then cmp.select_next_item() else fallback() end end, [''] = function(fallback) if cmp.visible() then cmp.select_prev_item() else fallback() end end } })