<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
在家目錄下建立.vimrc組態檔
在.vimrc下填寫設定
vim ~/.vimrc
call plug#begin() Plug 'neoclide/coc.nvim' Plug 'asins/vimcdoc' Plug 'preservim/nerdtree' Plug 'mhinz/vim-startify' Plug 'luochen1990/rainbow' call plug#end()
sudo add-apt-repository ppa:jonathonf/vim sudo apt-get update sudo apt-get install vim
sudo apt update sudo apt install nodejs npm sudo curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install nodejs
call plug#bing() Plug 'neoclide/coc.nvim', {'branch': 'release'} call plug#end()
:PlugInstall 安裝自動補全外掛
:CocInfo 檢查外掛安裝情況
:CocInstall coc-json coc-tsserver支援JSON和Typescript相關子外掛
:CocConfig新增Python設定資料
:CocInstall coc-pyright
// be careful not to condense the hierarchy as it breaks pyls "languageserver": { "python": { "command": "python", "args": [ "-mpyls", "-vv", "--log-file", "/tmp/lsp_python.log" ], "trace.server": "verbose", "filetypes": [ "python" ], "settings": { "pyls": { "enable": true, "trace": { "server": "verbose" }, "commandPath": "", "configurationSources": [ "pycodestyle" ], "plugins": { "jedi_completion": { "enabled": true }, "jedi_hover": { "enabled": true }, "jedi_references": { "enabled": true }, "jedi_signature_help": { "enabled": true }, "jedi_symbols": { "enabled": true, "all_scopes": true }, "mccabe": { "enabled": true, "threshold": 15 }, "preload": { "enabled": true }, "pycodestyle": { "enabled": true }, "pydocstyle": { "enabled": false, "match": "(?!test_).*\.py", "matchDir": "[^\.].*" }, "pyflakes": { "enabled": true }, "rope_completion": { "enabled": true }, "yapf": { "enabled": true } } } } } }
在.vimrc檔案中新增以下程式碼
set nobackup set nowritebackup set updatetime=300 set signcolumn=yes inoremap <silent><expr> <TAB> coc#pum#visible() ? coc#pum#next(1): CheckBackspace() ? "<Tab>" : coc#refresh() inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "<C-h>" inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm() : "<C-g>u<CR><c-r>=coc#on_enter()<CR>" function! CheckBackspace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# 's' endfunction " Use <c-space> to trigger completion. if has('nvim') inoremap <silent><expr> <c-space> coc#refresh() else inoremap <silent><expr> <c-@> coc#refresh() endif " Use `[g` and `]g` to navigate diagnostics " Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. nmap <silent> [g <Plug>(coc-diagnostic-prev) nmap <silent> ]g <Plug>(coc-diagnostic-next) " GoTo code navigation. nmap <silent> gd <Plug>(coc-definition) nmap <silent> gy <Plug>(coc-type-definition) nmap <silent> gi <Plug>(coc-implementation) nmap <silent> gr <Plug>(coc-references) " Use K to show documentation in preview window. nnoremap <silent> K :call ShowDocumentation()<CR> function! ShowDocumentation() if CocAction('hasProvider', 'hover') call CocActionAsync('doHover') else call feedkeys('K', 'in') endif endfunction " Highlight the symbol and its references when holding the cursor. autocmd CursorHold * silent call CocActionAsync('highlight') " Symbol renaming. nmap <leader>rn <Plug>(coc-rename) " Formatting selected code. xmap <leader>f <Plug>(coc-format-selected) nmap <leader>f <Plug>(coc-format-selected) augroup mygroup autocmd! " Setup formatexpr specified filetype(s). autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected') " Update signature help on jump placeholder. autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp') augroup end " Applying codeAction to the selected region. " Example: `<leader>aap` for current paragraph xmap <leader>a <Plug>(coc-codeaction-selected) nmap <leader>a <Plug>(coc-codeaction-selected) " Remap keys for applying codeAction to the current buffer. nmap <leader>ac <Plug>(coc-codeaction) " Apply AutoFix to problem on the current line. nmap <leader>qf <Plug>(coc-fix-current) " Run the Code Lens action on the current line. nmap <leader>cl <Plug>(coc-codelens-action) " Map function and class text objects " NOTE: Requires 'textDocument.documentSymbol' support from the language server. xmap if <Plug>(coc-funcobj-i) omap if <Plug>(coc-funcobj-i) xmap af <Plug>(coc-funcobj-a) omap af <Plug>(coc-funcobj-a) xmap ic <Plug>(coc-classobj-i) omap ic <Plug>(coc-classobj-i) xmap ac <Plug>(coc-classobj-a) omap ac <Plug>(coc-classobj-a) " Remap <C-f> and <C-b> for scroll float windows/popups. if has('nvim-0.4.0') || has('patch-8.2.0750') nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "<C-f>" nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "<C-b>" inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "<c-r>=coc#float#scroll(1)<cr>" : "<Right>" inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "<c-r>=coc#float#scroll(0)<cr>" : "<Left>" vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "<C-f>" vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "<C-b>" endif " Use CTRL-S for selections ranges. " Requires 'textDocument/selectionRange' support of language server. nmap <silent> <C-s> <Plug>(coc-range-select) xmap <silent> <C-s> <Plug>(coc-range-select) " Add `:Format` command to format current buffer. command! -nargs=0 Format :call CocActionAsync('format') " Add `:Fold` command to fold current buffer. command! -nargs=? Fold :call CocAction('fold', <f-args>) " Add `:OR` command for organize imports of the current buffer. command! -nargs=0 OR :call CocActionAsync('runCommand', 'editor.action.organizeImport') " Add (Neo)Vim's native statusline support. " NOTE: Please see `:h coc-status` for integrations with external plugins that " provide custom statusline: lightline.vim, vim-airline. set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} " Mappings for CoCList " Show all diagnostics. nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr> " Manage extensions. nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr> " Show commands. nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr> " Find symbol of current document. nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr> " Search workspace symbols. nnoremap <silent><nowait> <space>s :<C-u>CocList -I symbols<cr> " Do default action for next item. nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR> " Do default action for previous item. nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR> " Resume latest coc list. nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR>
"一鍵執行程式碼 map <F5> :call CompileRunGcc()<CR> func! CompileRunGcc() exec "w" if &filetype == 'c' exec "!g++ % -o %<" exec "!time ./%<" elseif &filetype == 'cpp' exec "!g++ % -o %<" exec "!time ./%<" elseif &filetype == 'java' exec "!javac %" exec "!time java %<" elseif &filetype == 'sh' :!time bash % elseif &filetype == 'python' exec "!time python3 %" elseif &filetype == 'html' exec "!firefox % &" elseif &filetype == 'go' " exec "!go build %<" exec "!time go run %" elseif &filetype == 'mkd' exec "!~/.vim/markdown.pl % > %.html &" exec "!firefox %.html &" endif endfunc
到此這篇關於Ubuntu Server 20.04 LTS 環境下搭建vim 編輯器Python IDE的文章就介紹到這了,更多相關vim 編輯器Python IDE內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45