在以前的 《在win10的WSL中設置前端開發環境》 一文中,介紹了 win10 結合其 linux 子系統(WSL)的前端開發設置,使用的是 VSCode 開發工具。javascript
而在某些狀況下,出於追求工具輕量化、減輕系統負擔,或應付臨時開發場景等目的,只須要簡單設置一下終端 vim 開發環境,藉助各類強大成熟的插件,也能達到八九不離十的效果。css
話很少說,直接上乾貨~html
在 WSL (Ubuntu 18.04) 終端中:前端
# coc等插件只支持0.3及以上的版本,所以須要安裝unstable版
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt update
sudo apt install -y neovim
# 檢查版本
nvim --version
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
mkdir ~/.config/nvim
複製代碼
~/.config/nvim/init.vim
:call plug#begin("~/.vim/plugged")
Plug 'dracula/vim'
Plug 'posva/vim-vue'
Plug 'leafgarland/typescript-vim'
Plug 'peitalin/vim-jsx-typescript'
Plug 'preservim/nerdtree'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
Plug 'editorconfig/editorconfig-vim'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'preservim/nerdcommenter'
Plug 'ryanoasis/vim-devicons'
call plug#end()
let g:coc_global_extensions = ['coc-vetur', 'coc-eslint', 'coc-emmet', 'coc-css', 'coc-html', 'coc-json', 'coc-prettier', 'coc-tsserver']
"支持鼠標(慎用,可能致使沒法用鼠標選中文字等)
"if has('mouse')
" set mouse=a
"endif
"配置顏色
if (has("termguicolors"))
set termguicolors
endif
syntax enable
colorscheme dracula
"配置目錄樹
let g:NERDTreeShowHidden = 1
let g:NERDTreeMinimalUI = 1
let g:NERDTreeIgnore = []
let g:NERDTreeStatusline = ''
" Automaticaly close nvim if NERDTree is only thing left open
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
" Toggle
nnoremap <silent> <C-b> :NERDTreeToggle<CR>
"使用 alt+hjkl 切換分割頁
tnoremap <A-h> <C-\><C-n><C-w>h
tnoremap <A-j> <C-\><C-n><C-w>j
tnoremap <A-k> <C-\><C-n><C-w>k
tnoremap <A-l> <C-\><C-n><C-w>l
nnoremap <A-h> <C-w>h
nnoremap <A-j> <C-w>j
nnoremap <A-k> <C-w>k
nnoremap <A-l> <C-w>l
"配置集成終端
" open new split panes to right and below
set splitright
set splitbelow
" turn terminal to normal mode with escape
tnoremap <Esc> <C-\><C-n>
" start terminal in insert mode
au BufEnter * if &buftype == 'terminal' | :startinsert | endif
" open terminal on ctrl+n
function! OpenTerminal()
split term://bash
resize 10
endfunction
nnoremap <c-n> :call OpenTerminal()<CR>
"配置文件搜素
nnoremap <C-p> :FZF<CR>
let g:fzf_action = {
\ 'ctrl-t': 'tab split',
\ 'ctrl-s': 'split',
\ 'ctrl-v': 'vsplit'
\}
let $FZF_DEFAULT_COMMAND = 'ag -g ""'
"配置Prettier
command! -nargs=0 Prettier :CocCommand prettier.formatFile
"配置註釋
let g:NERDSpaceDelims = 2
複製代碼
~/.config/nvim/coc-settings.json
:{
"coc.preferences.formatOnSaveFiletypes": ["javascript", "typescript", "typescriptreact", "json", "javascriptreact", "typescript.tsx", "css", "Markdown", "less", "sass", "scss", "html", "vue"],
"eslint.filetypes": ["javascript", "typescript", "typescriptreact", "javascriptreact", "typescript.tsx", "scss", "vue"],
"coc.preferences.diagnostic.virtualText": true,
"prettier.disableLanguages": [],
"eslint.autoFixOnSave": true
}
複製代碼
:echo &filetype
肯定當前文件類型;以後若是更新了配置中支持的文件類型可能須要從新運行 :CocInstall coc-eslint
以升級擴展sudo apt-get install silversearcher-ag
nvim +PlugInstall
# 安裝後重啓 nvim,檢查安裝結果
:checkhealth
# 平時有些插件添加並配置後若是 PlugInstall 也無效,嘗試升級解決
:PlugUpgrade
:PlugUpdate
複製代碼
先 ESC 到命令模式vue
Ctrl + B
: 打開關閉文件樹o
: 在文件樹中,上下選擇文件後打開go
: 同上,但焦點留在文件樹t
: 在新頁籤中打開T
: 同上,但焦點留在文件樹g + t
: 到下一個頁籤g + T
: 到上一個頁籤i
: 在上下分割頁中打開gi
: 同上,但焦點留在文件樹s
: 在左右分割頁中打開gs
: 同上,但焦點留在文件樹Ctrl + N
: 打開終端,多頁籤切換到終端時須要用i和ESC切換其輸入狀態Alt + h\j\k\l
: 在文件樹和分割頁間切換焦點:res+行數
: 改變分割頁的尺寸:quitall
: 多個tab時一次性退出vimCtrl + P
: 打開搜索頁籤,搜索並選中目錄Ctrl + T
: 在新頁籤中打開Ctrl + S
: 在上下新分割頁中打開Ctrl + V
: 在左右新分割頁中打開:Ag 文本內容
: 搜索項目內包含文本內容的文件,快捷鍵同文件搜索\ci
: 切換當前行註釋狀態,前面加數字即往下n行:Prettier
: 美化當前文件本文中的配置大抵只是個初始化的程度,要達到好用的效果,還但願你們動手探索、積極回覆。java
查看更多前端好文
請搜索 fewelife 關注公衆號
轉載請註明出處react