Nesse vídeos instalamos plugins para:
Os procedimentos foram realizados no Ubuntu Cinnamon
Muitas coisas servirão para quaisquer outras Linguagens de Programação
sudo apt update && \
sudo apt upgrade -y && \
sudo apt clean && \
sudo apt autoclean && \
sudo apt autoremove -y
sudo apt install vim curl git wget
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
~/.vimrc
vim ~/.vimrc
E dentro do arquivo:
O plugin https://github.com/terroo/vim-simple-emoji servirá pra testar se está tudo funcionando.
call plug#begin('~/.vim/plugged')
" Aqui vão os pluggins
" Plugin de Exemplo inicial
Plug 'terroo/vim-simple-emoji'
call plug#end()
Feche o ~/.vimrc
e abra novamente e em seguida rode:
:PlugInstall
Teste pra ver se está funcionando:
vim teste.md
Digite: :smile:
e dê espaço em seguida, se aparecer a carinha: 😃 é porque está tudo certo! Ou rode: :ShowEmoji
.
git clone https://github.com/terroo/fonts
cd fonts
mv fonts ~/.local/share/fonts
cd && rm -rf fonts
fc-cache -fv
Perceba que
:ShowEmoji
já estará diferente. Altere a fonte para Jetbrains Mono e também para cursor I-Beam.
vim ~/.vimrc
Plug 'matsuuu/pinkmare'
Feche o Vim abra de novo e rode:
:PlugInstall
. Após completada a instalação adicione ao seu~/.vimrc
:
colorscheme pinkmare
" OPCIONAL: hi! MatchParen cterm=NONE,bold gui=NONE,bold guibg=NONE guifg=#FFFF00
set nu!
set mouse=a
set title
set cursorline
set encoding=utf-8 " Importante para o YCM
map q :quit<CR>
map <C-s> :write<CR> "echo 'stty -ixon' >> ~/.bashrc && exec $SHELL'
sudo apt install gcc g++ cmake make build-essential vim-nox python3-dev
ycm-core/YouCompleteMe
, :PlugInstall
cd .vim/plugged/YouCompleteMe/
python3 install.py --clangd-completer # Somente C/C++
# python3 install.py --all # precisa do Go e NPM:
# sudo apt install golang npm
~/.vim/.ycm_extra_conf.py
Adicione ao seu ~/.vim/.ycm_extra_conf.py
:
'-I/usr/include/gtkmm-3.0',
'-I./',
'-I/usr/include',
vim teste.cpp
Ao digitar
#include <iostream>
e#include <vector>
ele irá autocompletar!
~/.vimrc
let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
set completeopt-=preview
let g:ycm_show_diagnostics_ui = 0
:terminal
e g++ teste.cpp
, pra sair do terminal: exit
.Plug 'jiangmiao/auto-pairs'
sudo apt install ccls
Copie esse código abaixo e cole no seu .vimrc
:
let g:ycm_language_server =
\ [{
\ 'name': 'ccls',
\ 'cmdline': [ 'ccls' ],
\ 'filetypes': [ 'c', 'cpp', 'cuda', 'objc', 'objcpp' ],
\ 'project_root_files': [ '.ccls-root', 'compile_commands.json' ]
\ }]
Mude o cuda … para:
cc
,h
ehpp
- Abra o o
teste.cpp
e pare o mouse sobre ostd::cout
e agurade 4 segundos e verá o ccls funcionando. Perceba que ao autocompletar agora ele adiciona automaticamente um cabeçalho, se não quiser que isso aconteça, adicione essa linha ao seu.vimrc
:
let g:ycm_clangd_args=['--header-insertion=never']
E teste!
https://github.com/SirVer/ultisnips e https://github.com/ervandew/supertab
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
Plug 'ervandew/supertab'
Para funcionar adicione esse código:
let g:ycm_key_list_select_completion = ['<C-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>']
let g:SuperTabDefaultCompletionType = '<C-n>'
let g:UltiSnipsExpandTrigger = "<tab>"
let g:UltiSnipsJumpForwardTrigger = "<tab>"
let g:UltiSnipsJumpBackwardTrigger = "<s-tab>"
Teste com
teste.cpp
emain<TAB>
. Se quiser edite os snippets(.vim/plugged/vim-snippets/UltiSnips/cpp.snippets
)
:AirlineTheme
:help AirLineTheme
Undefined variable: g:airline_symbols :
let g:airline_symbols = {}
let extensao = expand('%:e')
if( extensao == "cpp" || extensao == "cc" || extensao == "h" || extensao == "hpp" )
Plug 'ycm-core/YouCompleteMe'
else
Plug 'zxqfl/tabnine-vim'
endif
let extensao = expand('%:e')
call plug#begin('~/.vim/plugged')
" Plugin de Exemplo inicial
Plug 'terroo/vim-simple-emoji'
" Aqui vão os plugins
Plug 'matsuuu/pinkmare'
if( extensao == "cpp" || extensao == "cc" || extensao == "h" || extensao == "hpp" )
Plug 'ycm-core/YouCompleteMe'
else
Plug 'zxqfl/tabnine-vim'
endif
Plug 'jiangmiao/auto-pairs'
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
Plug 'ervandew/supertab'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'dracula/vim', { 'as': 'dracula' }
call plug#end()
" TEMA DE CORES
colorscheme pinkmare
hi! MatchParen cterm=NONE,bold gui=NONE,bold guibg=NONE guifg=#FFFF00
" CONFIGS RECOMENDADAS
set nu!
set mouse=a
set title
set cursorline
" MAPEAMENTOS LEGAIS
map q :quit<CR>
map <C-s> :w<CR>
" YOUCOMPLETEME
let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'
set completeopt-=preview
let g:ycm_show_diagnostics_ui = 0
let g:ycm_clangd_args=['--header-insertion=never']
let g:ycm_language_server =
\ [{
\ 'name': 'ccls',
\ 'cmdline': [ 'ccls' ],
\ 'filetypes': [ 'c', 'cpp', 'cc', 'h', 'hpp' ],
\ 'project_root_files': [ '.ccls-root', 'compile_commands.json' ]
\ }]
" UTILSNIPS
let g:ycm_key_list_select_completion = ['<C-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>']
let g:SuperTabDefaultCompletionType = '<C-n>'
let g:UltiSnipsExpandTrigger = "<tab>"
let g:UltiSnipsJumpForwardTrigger = "<tab>"
let g:UltiSnipsJumpBackwardTrigger = "<s-tab>"
" VIM AIRLINE
let g:airline_theme = 'dracula'
" powerline symbols
let g:airline_left_sep = ''
let g:airline_left_alt_sep = ''
let g:airline_right_sep = ''
let g:airline_right_alt_sep = ''
let g:airline_symbols = {}
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = '☰ '
let g:airline_symbols.maxlinenr = ' '
let g:airline_symbols.dirty='⚡'