初探在WSL中设置vim前端开发环境

为君一笑 提交于 2020-08-05 07:22:35

在之前的 《在win10的WSL中设置前端开发环境》 一文中,介绍了 win10 结合其 linux 子系统(WSL)的前端开发设置,使用的是 VSCode 开发工具。

如果出于追求工具轻量化、减轻系统负担,或应付临时开发场景等目的,只需要简单设置一下 vim 开发环境,也能达到类似的效果。

话不多说,直接上干货~

最终效果

在 WSL (Ubuntu 18.04) 终端中:

安装 neovim 和插件管理器

sudo apt install neovim

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 'ryanoasis/vim-devicons'
  Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
  Plug 'junegunn/fzf.vim'
  Plug 'neoclide/coc.nvim', {'branch': 'release'}
  let g:coc_global_extensions = ['coc-emmet', 'coc-css', 'coc-html', 'coc-json', 'coc-prettier', 'coc-tsserver']
call plug#end()
  
"配置颜色
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 ""'
复制代码

安装插件:

sudo apt-get install silversearcher-ag

nvim +PlugInstall
复制代码

目录树常用快捷键:

先 ESC 到命令模式

  • Ctrl + B: 打开关闭文件树
  • o: 在文件树中,上下选择文件后打开
  • go: 同上,但焦点留在文件树
  • t: 在新页签中打开
  • T: 同上,但焦点留在文件树
  • g + t: 到下一个页签
  • g + T: 到上一个页签
  • i: 在上下分割页中打开
  • gi: 同上,但焦点留在文件树
  • s: 在左右分割页中打开
  • gs: 同上,但焦点留在文件树

分割页切换和集成终端快捷键:

先 ESC 到命令模式

  • Ctrl + N: 打开终端,多页签切换到终端时需要用i和ESC切换其输入状态
  • Alt + h\j\k\l: 在文件树和分割页间切换焦点
  • :quitall: 多个tab时一次性退出vim

文件搜索快捷键:

先 ESC 到命令模式

  • Ctrl + P: 打开搜索页签,搜索并选中目录
  • 回车:在当前激活的窗口打开选中目录
  • Ctrl + T: 在新页签中打开
  • Ctrl + S: 在上下新分割页中打开
  • Ctrl + V: 在左右新分割页中打开

本文中的配置大抵只是个初始化的程度,要达到好用的效果,还希望大佬们不吝赐教,积极回复。

参考资料



--End--

查看更多前端好文
请搜索 fewelife 关注公众号

转载请注明出处






易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!