世界观点:Ubuntu Server 20.04 LTS 环境下搭建vim 编辑器Python IDE的详细步骤
(资料图片仅供参考)
目录
安装配置vim-plug安装vim-plug配置vim-plug安装coc.nvim插件更新vim安装node添加coc.nvim到.vimrc文件配置服务器设置TAB 代码补全设置F5一键执行代码安装配置vim-plug
安装vim-plug
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
配置vim-plug
在家目录下创建.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()
安装coc.nvim插件
更新vim
sudo add-apt-repository ppa:jonathonf/vim sudo apt-get update sudo apt-get install vim
安装node
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
添加coc.nvim到.vimrc文件
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 } } } } } }
设置TAB 代码补全
在.vimrc文件中添加以下代码
set nobackup set nowritebackup set updatetime=300 set signcolumn=yes inoremap\ coc#pum#visible() ? coc#pum#next(1): \ CheckBackspace() ? "\ " : \ coc#refresh() inoremap coc#pum#visible() ? coc#pum#prev(1) : "\ " inoremap coc#pum#visible() ? coc#pum#confirm() \: "\ u\ \ =coc#on_enter()\ " function! CheckBackspace() abort let col = col(".") - 1 return !col || getline(".")[col - 1] =~# "\s" endfunction " Use to trigger completion. if has("nvim") inoremap coc#refresh() else inoremap coc#refresh() endif " Use `[g` and `]g` to navigate diagnostics " Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. nmap [g (coc-diagnostic-prev) nmap ]g (coc-diagnostic-next) " GoTo code navigation. nmap gd (coc-definition) nmap gy (coc-type-definition) nmap gi (coc-implementation) nmap gr (coc-references) " Use K to show documentation in preview window. nnoremap K :call ShowDocumentation() 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 rn (coc-rename) " Formatting selected code. xmap f (coc-format-selected) nmap f (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: ` aap` for current paragraph xmap a (coc-codeaction-selected) nmap a (coc-codeaction-selected) " Remap keys for applying codeAction to the current buffer. nmap ac (coc-codeaction) " Apply AutoFix to problem on the current line. nmap qf (coc-fix-current) " Run the Code Lens action on the current line. nmap cl (coc-codelens-action) " Map function and class text objects " NOTE: Requires "textDocument.documentSymbol" support from the language server. xmap if (coc-funcobj-i) omap if (coc-funcobj-i) xmap af (coc-funcobj-a) omap af (coc-funcobj-a) xmap ic (coc-classobj-i) omap ic (coc-classobj-i) xmap ac (coc-classobj-a) omap ac (coc-classobj-a) " Remap and for scroll float windows/popups. if has("nvim-0.4.0") || has("patch-8.2.0750") nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\ " nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\ " inoremap coc#float#has_scroll() ? "\ =coc#float#scroll(1)\ " : "\ " inoremap coc#float#has_scroll() ? "\ =coc#float#scroll(0)\ " : "\ " vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\ " vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\ " endif " Use CTRL-S for selections ranges. " Requires "textDocument/selectionRange" support of language server. nmap (coc-range-select) xmap (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", ) " 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 a : CocList diagnostics " Manage extensions. nnoremap e : CocList extensions " Show commands. nnoremap c : CocList commands " Find symbol of current document. nnoremap o : CocList outline " Search workspace symbols. nnoremap s : CocList -I symbols " Do default action for next item. nnoremap j : CocNext " Do default action for previous item. nnoremap k : CocPrev " Resume latest coc list. nnoremap p : CocListResume
设置F5一键执行代码
"一键运行代码 map:call CompileRunGcc() 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
到此这篇关于UbuntuServer20.04LTS环境下搭建vim编辑器PythonIDE的文章就介绍到这了,更多相关vim编辑器PythonIDE内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 1现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 2如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 3AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 4转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 5充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 6好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 7名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 8亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 9京东绿色建材线上平台上线 新增用户70%来自下沉市场
- 10网红淘品牌“七格格”chuu在北京又开一家店 潮人新宠chuu能红多久