WSL下的NeoVim安装与配置
1 python模块下载
sudo apt-get install python-dev python-pip python3-dev python3-pip
2 添加仓库并下载
sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt-get update
sudo apt-get install neovim
检查版本:
nvim -v
3 更改域名解析
访问这个网站:https://ipaddress.com/website/raw.githubusercontent.com
出现403就点击Goto Homepage
选择Data项下面的第一个就可以了 复制下来
然后打开/etc/hosts追加下面一行,保存就行
注意可能要使用root身份:sudo nvim /etc/hosts
182.199.105.133 raw.githubusercontent.com
加快git访问速度
安装插件管理器:vim-plug
有了上面一步,就可以快速下载vim-plug了:
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
一般来说会秒下成功,但是如果遇到错误类似errorno104:
curl: (56) OpenSSL SSL_read: Connection reset by peer, errno 104
这是因为服务器的SSL证书没有经过第三方机构的签署,所以才报错
git config --global http.sslVerify "false"
VIM-PLUG下载插件
插件下载的NVIM语句的模板是这样的:
这两句之间填充你要下载的插件就可以了
call plug#begin('~/.vim/plugged')call plug#end()
但是如果你下载出现了问题,你需要在plug开始声明之后添加这一句才能成功访问到github:
let g:plug_url_format='git@github.com:%s.git'
好了现在你可以放肆的往其中插入plug声明了,想要什么只要按格式:
plug ' xxxxxx'
记录下来就可以了,最后保存,再执行:PlugInstall
即可出现下载插件的分屏界面
放心吧,应该没有问题了,vim-plug支持多线程下载的,比vundle快很多倍
插件推荐以及配置
NERDTree 文件树
实现文件目录功能
下载: Plug 'scrooloose/nerdtree'
配置文件追加:let g:NERDTreeWinSize=20
Airline 状态栏
下载:‘Vim-airline/vim-airline’
配置文件追加:
" 配置 vim-airline 标签栏插件
let g:airline#extensions#tabline#enabled = 1
Coc.vim 代码补全与检测
可以自行学习
Ranger 文件浏览器
下载:Plug 'kevinhwang91/rnvimr'
配置文件追加:
let g:rnvimr_ex_enable = 1
nnoremap <silent> <M-o> : RnvimrToggle<CR>
nnoremap <M-+> :bp<CR>
nnoremap <M--> :bn<CR>
snazzy 主题
"nazzy 主题插件colorscheme snazzylet g:SnazzyTransparent = 1
indentLine 缩进显示
暂时没有使用
ctags cscope 阅读代码的函数跳转和查找
ctags
安装:
sudo apt-get install exuberant-ctags
cscope
使用命令:
cscope find [option] [filename]
其中
option:
0或者s —— 查找这个C符号
1或者g —— 查找这个定义
2或者d —— 查找被这个函数调用的函数(们)
3或者c —— 查找调用这个函数的函数(们)
4或者t —— 查找这个字符串
6或者e —— 查找这个egrep匹配模式
7或者f —— 查找这个文件
8或者i —— 查找#include这个文件的文件(们)
nmap zs :cs find s =expand(“”)
nmap zg :cs find g =expand(“”)
nmap zc :cs find c =expand(“”)
nmap zt :cs find t =expand(“”)
nmap ze :cs find e =expand(“”)
nmap zf :cs find f =expand(“”)
nmap zi :cs find i =expand(“”)
nmap zd :cs find d =expand(“”)
NerdCommenter
下载 Plug 'scrooloose/nerdcommenter'
快速注释
配置leader:let mapleader = ","
使用:
,ca 在可选的注释方式之间切换,比如C/C++ 的块注释/* */和行注释//
,cc 注释当前行
,c 切换注释/非注释状态
,cs 以”性感”的方式注释
,cA 在当前行尾添加注释符,并进入Insert模式
,cu 取消注释
配置init.vim基本设置
找一篇经典的复制粘贴上去就行,都差不多。
建议将jj映射为esc
为上面的插件的使用映射一些快捷键,方便使用
Tips
不管是本地开发还是远程登陆服务器开发
都建议使用原生CMD和Windows Terminal,不要使用Fluent Terminal,会让NVIM变得很卡,亲身经历
VIM还得是自己养出来的配置文件才用着舒心,对于VIM的语法也应该在平时多积累一点。
我的配置
set nu
let mapleader = ","
" 插件安装
call plug#begin('~/.config/nvim/plugged')
let g:plug_url_format='git@github.com:%s.git'Plug 'scrooloose/nerdtree' , {'on':'NERDTreeToggle'}
Plug 'ervandew/supertab'
Plug 'scrooloose/nerdcommenter'
" Coc 智能补全插件引擎
Plug 'neoclide/coc.nvim', {'branch': 'release'}"标签栏插件
Plug 'Vim-airline/vim-airline'Plug 'kevinhwang91/rnvimr'Plug 'mhinz/vim-startify'Plug 'connorholyday/vim-snazzy'" markdown 预览插件
Plug 'iamcco/markdown-preview.nvim'" gtags
Plug 'jsfaint/gen_tags.vim'call plug#end()" 配置 Nerdtree 的窗口宽度默认值
let g:NERDTreeWinSize=20
" 配置 vim-airline 标签栏插件
let g:airline#extensions#tabline#enabled = 1let g:gen_tags#gtags_default_map = 1
let g:airline#extensions#gen_tags#enabled = 1" 配置 ranger 文件浏览器插件
let g:rnvimr_ex_enable = 1
" " Alt+o 打开 ranger
nnoremap <silent> <M-o> :RnvimrToggle<CR>"Alt+加号 切换至下一个标签,减号则是切换回上一个
nnoremap <M-+> :bp<CR>
nnoremap <M--> :bn<CR>
"nazzy 主题插件
colorscheme snazzy
let g:SnazzyTransparent = 1set nowrap "不自动折行
set showmatch "光标遇到括号高亮另一半
set cc=80 "标尺线
set encoding=utf-8
set fenc=utf-8 "编码
set mouse=a "支持鼠标
set tabstop=2 "Tab = 4空格
set expandtab "Tab 转空格
set cursorline "光标所在行高亮
set scrolloff=5 "垂直滚动时光标距离底部的行数
set hlsearch "搜索时高亮匹配结果
set foldmethod=indent "代码折叠
set foldcolumn=0 "折叠宽度
setlocal foldlevel=14159 "折叠层数
set foldlevelstart=99 "打开文件默认不折叠代码
set paste "设置粘贴模式filetype plugin indent on "文件类型检测
syntax on "语法高亮nnoremap <leader>gt :!find -name "*.c" -o -name "*.cpp" -o -name "*.h" -o -name "*.hpp" > FileList.txt && ctags -L -< FileList.txt && cscope -bkq -i FileList.txt <CR>
inoremap jk <ESC>if has("cscope")set csto=0set nocsverb" add any database in current directoryif filereadable("cscope.out")cs add cscope.outendifset csverb"set cst 这两句会将cscope当作tag,当找不到时会卡住,因此注释掉"set cscopetag
endif" Cscope map mode 1
nmap zs :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap zg :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap zc :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap zt :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap ze :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap zf :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap zi :cs find i <C-R>=expand("<cfile>")<CR><CR>
nmap zd :cs find d <C-R>=expand("<cword>")<CR><CR>
" Cscope map mode 2
nmap <C-\>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-\>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-\>i :cs find i <C-R>=expand("<cfile>")<CR><CR>
nmap <C-\>d :cs find d <C-R>=expand("<cword>")<CR><CR>nnoremap <C-n> :NERDTreeToggle<CR>
nnoremap <C-f> :NERDTreeFind<CR>let g:gen_tags#gtags_default_map = 1
let g:gen_tags#root_marker = ".repo"
WSL下的NeoVim安装与配置相关推荐
- Linux下Nagios的安装与配置
Linux下Nagios的安装与配置 2017-03-23 17:40:20 来源: 点击:0 Nagios是企业普遍使用的最具影响力的网络信息监视系统之一,它可以动态监视指定的网络状态 ...
- Windows下Memcached的安装与配置
Windows下Memcached的安装与配置 安装: 1.下载memcached, http://www.danga.com/memcached/ ; 2.解压,比如放在 D:\memcached- ...
- python3.6安装包多大_win10下Python3.6安装、配置以及pip安装包教程
0.目录 1.前言 2.安装python 3.使用pip下载.安装包 3.1安装Scrapy 3.2安装PyQt 3.3同时安装多个包 3.4pip的常用命令 1.前言 之前在电脑上安装了python ...
- Ubuntu下mongodb的安装与配置
MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便.这里介绍在Ubuntu下mongodb的安装与配置. 1.下载 mongodb可以在官网上下载,地址,选择Ubun ...
- Windows下Tuxedo的安装与配置-无数据库
Windows下Tuxedo的安装与配置-无数据库 草木瓜 2005-5-18 一.安装前的文件准备 下载Tuxedo For Windows版本和License文件,本机采用的是Tuxedo9 wi ...
- Linux下samba的安装与配置
physique 博客园 首页 新随笔 联系 管理 订阅 随笔- 203 文章- 0 评论- 33 Linux下samba的安装与配置 转载来源:http://blog.chinaunix.net ...
- linux下jdk的安装与配置jdk-6u45-linux-i586.bin
linux下jdk的安装与配置 一.安装JDK从sun网站上直接下载JDK:http://download.oracle.com/otn-pub/java/jdk/6u45-b06/jdk-6u45- ...
- Linux下Tomcat的安装与配置
本篇文章主要对如何在Linux下安装与配置Tomcat进行介绍. 如果想要了解Windows下Tomcat的安装与配置,请参考文章: https://blog.csdn.net ...
- Centos 7下Nagios的安装及配置(完整版)
Centos 7下Nagios的安装及配置(完整版) 简介 Nagios 是一款自动化运维工具,可以协助运维人员监控服务器的运行状况,并且拥有报警功能.本文章将介绍其安装方法和详细的配置方法. nag ...
最新文章
- linux mysql5.7.11安装_centos 7 安装mysql 5.7.11
- 备忘录(scanf和continue)
- 监听iPhone的通话状态之---CoreTelephony.framework
- Linux Kernel Makefile Test
- 【转载】直到活动结束时的openeim
- python 文件的打开与读取
- 大厂面试爱问的「调度算法」,20 张图一举拿下
- 黑石五子棋软件测试自学,黑石(五子棋超强软件)的使用技巧
- Wiz.Editor.md 为知笔记 Markdown 插件
- 【天光学术】学前教育论文:幼儿园区角活动中存在的问题及有效对策(节选)
- cmd查询微软办公软件是否永久激活
- 好嗨哦!用Python进行诗歌接龙
- 未来广播电视新技术的发展和应用
- 【随手记】PHP获取png图片主色系各色系色块RGB值
- 【已解决】Windows10安装报:Windows检测到EFI系统分区格式化为NIFS,将EFI系统分区格式化为FAT32,然后重新启动安装
- 深圳市龙岗职业技术学校录取分数线计算机,深圳各职校录取分数线
- 3D打印机不工作连接不上的原因.解决方法一例
- php递归处理数组,PHP递归实现无限分类数组处理
- windows xp 定时执行任务(一)
- ssm体育课堂管理系统 毕业设计-附源码181626
热门文章
- Redis - 使用scan代替keys与hgetall操作
- Android SOS功能模块开发
- 《西线无战事》我们才刚开始热爱生活,却不得不对一切开炮
- 为何安全芯片能应用到设备认证和配件认证领域,物联网安全芯片
- 哪家科技巨头的人工智能最先觉醒:谷歌、Facebook、还是特斯拉?
- 墨客科技执行董事袁英:企业拥有基于公链之上自主可控的专属应用链是行业应用趋势...
- 快速排序基本思路(通俗易懂+例子)
- 国产开源优秀新一代MPP数据库StarRocks入门之旅-数仓新利器(上)
- Led护眼灯真的有效果吗?2022双十一最值得入手护眼台灯推荐
- 数字华容道c语言源代码,vue数字华容道游戏代码