
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 -ysudo apt install vim curl git wgetcurl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim~/.vimrcvim ~/.vimrcE 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:
:PlugInstallTeste pra ver se está funcionando:
vim teste.mdDigite: :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 -fvPerceba que
:ShowEmojijá estará diferente. Altere a fonte para Jetbrains Mono e também para cursor I-Beam.
vim ~/.vimrcPlug '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=#FFFF00set 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-devycm-core/YouCompleteMe, :PlugInstallcd .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.pyAdicione ao seu ~/.vim/.ycm_extra_conf.py :
'-I/usr/include/gtkmm-3.0',
'-I./',
'-I/usr/include',
vim teste.cppAo digitar
#include <iostream>e#include <vector>ele irá autocompletar!
~/.vimrclet g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py'set completeopt-=previewlet g:ycm_show_diagnostics_ui = 0:terminal e g++ teste.cpp, pra sair do terminal: exit .Plug 'jiangmiao/auto-pairs'sudo apt install cclsCopie 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,hehpp
- Abra o o
teste.cppe pare o mouse sobre ostd::coute 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.cppemain<TAB>. Se quiser edite os snippets(.vim/plugged/vim-snippets/UltiSnips/cpp.snippets)
:AirlineTheme
:help AirLineThemeUndefined 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'
endiflet 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='⚡'