1、Vim-plug 安装

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

这一步是下载Vim-plug,~/.vim/autoload/这个是它下载后的位置

如果下载不了,可以去官网下载,下完的文件是plug.vim,然后在用户目录下创建目录mkdir ~/.vim/autoload ,把plug.vim放进去

2、配置.vimrc文件

下面是我用xshell7连接Linux中vim的效果图,透明和背景是xshell7的效果,下面代码是根据文件类型自动生成的,支持C/C++/shell,你也可以添加其他语言的,自己改一下.vimrc文件,更多效果自己查看。

以下是我安装的插件

Linux中系统有一个vimrc文件是vim的配置文件,每个用户有一个这样的文件,它是*.vimrc*,是个隐藏文件,在用户目录下,如果两个文件冲突,按用户的文件为准。在用户目录下用 ls -a看一下有没有,没有就用touch .vimrc创建,把我的.vimrc文件内容复制进去。

以下是我的.vimrc文件,里面安装了6个插件和和它们的设置,里面的设置都有中文标注,可以按照自己喜好进行设置。

""""""""""""""""""""""""""""""""""""""插件开始""""""""""""""""""""""""""""""""""""""""""
call plug#begin('~/.vim/bundle')
"*~/.vim/bundle*是插件的安装位置
插件需要安装在这两个之间,我文件都有这个两个了
"call plug#begin()"call plug#end()"请在这句话下添加插件""""""""""""""""""""""""""Syntastic'""""""""""""""""""""""""""""""
Plug 'scrooloose/syntastic'  ""插件安装命令
"syntastic
"设置error和warning的标志
let g:syntastic_enable_signs = 1
let g:syntastic_error_symbol='x'
let g:syntastic_warning_symbol='!'
"总是打开Location List(相当于QuickFix)窗口,如果你发现syntastic因为与其他插件冲突而经常崩溃,将下面选项置0
let g:syntastic_always_populate_loc_list = 1
"自动打开Locaton List,默认值为2,表示发现错误时不自动打开,当修正以后没有再发现错误时自动关闭,置1表示自动打开自动关闭,0表示关闭自动打开和自动关闭,3表示自动打开,但不自动关闭
let g:syntastic_auto_loc_list = 2
"修改Locaton List窗口高度
let g:syntastic_loc_list_height = 5
"打开文件时自动进行检查
let g:syntastic_check_on_open = 1
"自动跳转到发现的第一个错误或警告处
let g:syntastic_auto_jump = 1
"进行实时检查,如果觉得卡顿,将下面的选项置为1
let g:syntastic_check_on_wq = 0"高亮错误
let g:syntastic_enable_highlighting=1
"让syntastic支持C++11
let g:syntastic_cpp_compiler = 'clang++'
let g:syntastic_cpp_compiler_options = ' -std=c++11 -stdlib=libc++'
"设置pyflakes为默认的python语法检查工具
let g:syntastic_python_checkers = ['pyflakes']
"修复syntastic使用:lnext和:lprev出现的跳转问题,同时修改键盘映射使用sn和sp进行跳转
function! <SID>LocationPrevious()                       try                                                   lprev                                               catch /^Vim\%((\a\+)\)\=:E553/                        llast                                               endtry
endfunction
function! <SID>LocationNext()                           try                                                   lnext                                               catch /^Vim\%((\a\+)\)\=:E553/                        lfirst                                              endtry
endfunction
nnoremap <silent> <Plug>LocationPrevious    :<C-u>exe 'call <SID>LocationPrevious()'<CR>
nnoremap <silent> <Plug>LocationNext        :<C-u>exe 'call <SID>LocationNext()'<CR>
nmap <silent> sp    <Plug>LocationPrevious
nmap <silent> sn    <Plug>LocationNext"""""""""""""""""""""""""""""YouCompleteMe""""""""""""""""""""""""""""""""""""""
" YouCompleteMe:语句补全插件
set runtimepath+=~/.vim/bundle/YouCompleteMe
Plug 'Valloric/YouCompleteMe'autocmd InsertLeave * if pumvisible() == 0|pclose|endif "离开插入模式后自动关闭预览窗口"
let g:ycm_collect_identifiers_from_tags_files = 1           " 开启 YCM基于标签引擎
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释与字符串中的内容也用于补全
let g:syntastic_ignore_files=[".*\.py$"]
let g:ycm_seed_identifiers_with_syntax = 1                  " 语法关键字补全
let g:ycm_complete_in_comments = 1
""let g:ycm_confirm_extra_conf = 0                            " 关闭加载.ycm_extra_conf.py提示
let g:ycm_key_list_select_completion = ['<c-n>', '<Down>']  " 映射按键,没有这个会拦截掉tab, 导致其他插件的tab不能用.
let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']
let g:ycm_complete_in_comments = 1                          " 在注释输入中也能补全
let g:ycm_complete_in_strings = 1                           " 在字符串输入中也能补全
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注释和字符串中的文字也会被收入补全
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
let g:ycm_show_diagnostics_ui = 0                           " 禁用语法检查inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"             " 回车即选中当前项
nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>     " 跳转到定义处
let g:ycm_min_num_of_chars_for_completion=2                 " 从第2个键入字符就开始罗列匹配项
"""""""""""""""""""""""""""""""""""airline"""""""""""""""""""""""""""""""""
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
"let g:airline_theme='bubblegum'
"vim-airline配置:优化vim界面"
"let g:airline#extensions#tabline#enabled = 1
" airline设置
" 显示颜色
set t_Co=256
set laststatus=2
" 使用powerline打过补丁的字体
let g:airline_powerline_fonts = 1
" 开启tabline
let g:airline#extensions#tabline#enabled = 1
" tabline中当前buffer两端的分隔字符
let g:airline#extensions#tabline#left_sep = ' '
" tabline中未激活buffer两端的分隔字符
let g:airline#extensions#tabline#left_alt_sep = ' '
" tabline中buffer显示编号
let g:airline#extensions#tabline#buffer_nr_show = 1
" 映射切换buffer的键位if !exists('g:airline_symbols')
let g:airline_symbols = {}
endif
let g:airline#extensions#tabline#enabled = 1  "" 显示窗口tab和buffer
let g:airline_left_sep = '▶'
let g:airline_left_alt_sep = '❯'
let g:airline_right_sep = '◀'
let g:airline_right_alt_sep = '❮'
let g:airline_symbols.linenr = '¶'
let g:airline_symbols.branch = '⎇'nnoremap [b :bp<CR>
nnoremap ]b :bn<CR>
" 映射<leader>num到num buffer
map <leader>1 :b 1<CR>
map <leader>2 :b 2<CR>
map <leader>3 :b 3<CR>
map <leader>4 :b 4<CR>
map <leader>5 :b 5<CR>
map <leader>6 :b 6<CR>
map <leader>7 :b 7<CR>
map <leader>8 :b 8<CR>
map <leader>9 :b 9<CR>""""""""""""""""""""""""""""""""""""""The-NERD-tree""""""""""""""""""""""""""""""""""""""
Plug 'preservim/nerdtree'"NERDTree 配置:F8快捷键显示当前目录树
map <F8> :NERDTreeToggle<CR>
let NERDTreeWinSize=25 """""""""""""""""""""""""""""""""""""""tagbar""""""""""""""""""""""""""""""""""""""""""""""
Plug 'majutsushi/tagbar'""配置 tagbar 插件
let g:tagbar_ctags_bin='ctags'     "ctags 程序的路径
let g:tagbar_width=30              "窗口宽度设置为 30
let g:tagbar_left=0                "设置在 vim 左边显示
let g:tagbar_map_openfold = "zv"   "按 zv 组合键打开标签,默认 zc 关闭标签"如果是 C 语言的程序的话,tagbar 自动开启
autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen() "我设置 F9 为打开或者关闭的快捷键,根据你的习惯更改
nnoremap <silent> <F9> :TagbarToggle<CR>""""""""""""""""""""""""""""""""""""""""minibufexpl""""""""""""""""""""""""""""""""""""""""
Plug 'fholgado/minibufexpl.vim'""# 配置插件信息,官方文档提供配置信息
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
let g:miniBufExplMoreThanOne=0"# 注意:这里设置使用 Ctrl + 上下左右来切换窗口,请查看官方文档来自定义
noremap <C-Down>  <C-W>j
noremap <C-Up>    <C-W>k
noremap <C-Left>  <C-W>h
noremap <C-Right> <C-W>lmap <T> :MBEbp<CR>
map <R> :MBEbn<CR>call plug#end()
""""""""""""""""""""""""""""""""""""""插件结束""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""自动插入""""""""""""""""""""""""""
filetype on "打开文件类型检测功能
autocmd BufNewFile *.cpp,*.sh,*.py,*.[ch] exec ":call SetTitle()"
func SetTitle()if &filetype == 'cpp'  call setline(1,"/*")call append(line("."), "* @Author: lwj")call append(line(".")+1, "* @Date: ".strftime("%F %T"))call append(line(".")+2, "* @Mail:  ")call append(line(".")+3, "* @Description:")call append(line(".")+4, "*/")call append(line(".")+5, "")call append(line(".")+6, "#include<iostream>")call append(line(".")+7, "using namespace std;")call append(line(".")+8, "")call append(line(".")+9, "int main(void)")call append(line(".")+10, "{")call append(line(".")+11, "")call append(line(".")+12, "")call append(line(".")+13, "    return 0;")call append(line(".")+14, "}")endifif &filetype == 'c'call setline(1,"/*")call append(line("."), "* @Author: lwj")call append(line(".")+1, "* @Date: ".strftime("%F %T"))call append(line(".")+2, "* @Mail:  ")call append(line(".")+3, "* @Description:")call append(line(".")+4, "*/")call append(line(".")+5, "")call append(line(".")+6, "#include<stdio.h>")call append(line(".")+7, "")call append(line(".")+8, "")call append(line(".")+9, "int main(void)")call append(line(".")+10, "{")call append(line(".")+11, "")call append(line(".")+12, "")call append(line(".")+13, "    return 0;")call append(line(".")+14, "}")endifif &filetype == 'py' call setline(1,"##")call append(line("."), "# @Author: lwj")call append(line(".")+1, "# @Date: ".strftime("%F %T"))call append(line(".")+2, "# @Mail:  ")call append(line(".")+3, "# @Description:")call append(line(".")+4, "##")call append(line(".")+5, "")call append(line(".")+6, "")endif if &filetype == 'sh' call setline(1,"##")call append(line("."), "# @Author: lwj")call append(line(".")+1, "# @Date: ".strftime("%F %T"))call append(line(".")+2, "# @Mail:  ")call append(line(".")+3, "# @Description:")call append(line(".")+4, "##")call append(line(".")+5, "")call append(line(".")+6, "")endif "新建文件后,自动定位到文件末尾(这个功能实际没有被实现,即下面的语句无效,暂不知道原因)autocmd BufNewFile * normal G
endfunc
"C,C++ 按F5编译运行
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 ./%<"endif
endfunc
"C,C++的调试
map <F10> :call Rungdb()<CR>
func! Rungdb()
exec "w"
exec "!g++ % -g -o %<"
exec "!gdb ./%<"
endfunc
"""""""""""""""""" 高亮显示普通txt文件(需要txt.vim脚本)au BufRead,BufNewFile *  setfiletype txt
"自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {<CR>}<ESC>O
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap " ""<ESC>i
:inoremap ' ''<ESC>i
function! ClosePair(char)if getline('.')[col('.') - 1] == a:charreturn "\<Right>"elsereturn a:charendif
endfunction
filetype plugin indent on
"打开文件类型检测, 加了这句才可以用智能补全
set completeopt=longest,menu
"""""""""""""""""""""""""""""""""键盘命令""""""""""""""""""""""""""""""""""""""""" 映射全选+复制 ctrl+a
map <C-A> ggVGY
map! <C-A> <Esc>ggVGY
map <F12> gg=G
" 选中状态下 Ctrl+c 复制
"vmap <C-c> "+y
vmap <C-c> "+ymap <C-A> ggVG                     " 映射全选 ctrl+a
map! <C-A> <Esc>ggVGY
map <F12> gg=G
map <C-c> "+y                      " 映射复制到系统剪切板
nmap <C-v> "+gp                    " 映射粘贴
imap <C-v> <Esc>"+gp               " 映射粘贴
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 使用vim的modeline来设置当前文件的textwidth,
" 避免输入超过78个字符时自动换行
" 使用:verbose set textwidth?命令可以看到vim默认
" 为vim配置脚本设置了textwidth为78,当输入超过78个字符
" 并按下空格键时会自动换行.将textwidth设成0关闭该功能
"" vim: tw=0 :" 去掉有关vi一致性模式,避免操作习惯上的局限.
set nocompatible" 让Backspace键可以往前删除字符.
" Debian系统自带的vim版本会加载一个debian.vim文件,
" 默认已经设置这一项,
" 可以正常使用Backspace键.如果使用自己编译的vim版本,
" 并自行配置.vimrc文件,可能就没有设置这一项,导致
" Backspace键用不了,或者时灵时不灵.所以主动配置.
set backspace=indent,eol,start" 1=启动显示状态行, 2=总是显示状态行.
" 设置总是显示状态行,方便看到当前文件名.
set laststatus=2" 设置ruler会在右下角显示光标所在的行号和列号,
" 不方便查看.改成设置状态栏显示内容
"" set ruler" 设置状态行显示的内容. %F: 显示当前文件的完整路径.
" %r: 如果readonly,会显示[RO]
" %B: 显示光标下字符的编码值,十六进制.
" %l:光标所在的行号. %v:光标所在的虚拟列号.
" %P: 显示当前内容在整个文件中的百分比.
" %H和%M是strftime()函数的参数,获取时间.
set statusline=%F%r\ [HEX=%B][%l,%v,%P]\ %{strftime(\"%H:%M\")}" 显示还没有输入完整的命令.例如yy命令,输入第一个y会在右下角显示y.
"set showcmd" 使用Tab键补全时,在状态栏显示匹配的列表,
" 方便查看都有哪些命令符合补全条件.
set wildmenu" 显示行号
set number" 高亮显示匹配的括号
set showmatch" 高亮显示所有搜索到的内容.后面用map映射
" 快捷键来方便关闭当前搜索的高亮.
set hlsearch" 光标立刻跳转到搜索到内容
set incsearch" 搜索到最后匹配的位置后,再次搜索不回到第一个匹配处
set nowrapscan" 去掉输入错误时的提示声音
set noeb" 默认按下Esc后,需要等待1秒才生效,
" 设置Esc超时时间为100ms,尽快生效
set ttimeout
set ttimeoutlen=100" 设置文件编码,主要是避免中文乱码.
" 先注释,后续遇到中文乱码再打开
"" set fileencodings=utf-8,cp936,big5,latin1" FIXME 在MS-DOS控制台打开vim时,控制台使用鼠标
" 右键来复制粘贴,设置全鼠标模式,鼠标右键被映射为
" visual mode,不能用来复制粘贴,不方便.但是如果不
" 设置鼠标模式,会无法使用鼠标滚轮来滚动界面.经过验证,
" 发现可以设成普通模式mouse=n来使用鼠标滚轮,也能使用
" 鼠标右键复制粘贴. mouse=c/mouse=i模式都不能用鼠标
" 滚轮. Linux下还是要设成 mouse=a
set mouse=n" FIXME 在MS-DOS控制台打开vim,光标很小,不方便看到光标
" 在哪里.下面设置cursorline,高亮光标所在的行.
" cursorlineopt=number只高亮行号部分,不影响正文内容
" 的显示. 在其他容易看到光标的终端上可以去掉这两个设置.
set cursorline
set cursorlineopt=number" 开启语法高亮
syntax enable" 检测文件类型,并载入文件类型插件,
" 为特定文件类型载入相关缩进文件
filetype plugin indent on" 设置自动补全的选项. longest表示只自动补全最大匹配的部分,
" 剩余部分通过CTRL-P/CTRL-N来选择匹配项进行补全. menu表示
" 弹出可补全的内容列表.如果有多个匹配,longest选项不会自动选中
" 并完整补全,要多按一次CTRL-P,比较麻烦,不做设置,保持默认设置,
" vim默认没有设置longest.
"" set completeopt=longest,menu" 自动缩进.这个导致从外面拷贝多行以空格开头的内容时,
" 会有多的缩进,先不设置.
"" set autoindent" 设置C风格的自动缩进.设置filetype indent on后,就会根据文件
" 类型自动缩进.按照vim用户手册'30.3 Automatic indenting'的
" 说明,可以不再单独设置cindent.
set cindent" 自动缩进时,缩进长度为4
set shiftwidth=4" 输入Tab字符时,自动替换成空格
set expandtab" 设置softtabstop有一个好处是可以用Backspace键来一次
" 删除4个空格. softtabstop的值为负数,会使用shiftwidth
" 的值,两者保持一致,方便统一缩进.
set softtabstop=-1" 设置颜色主题,适用于黑色背景.
colorscheme slate" 创建一个新的 MyTabSpace 组,并设置它的颜色
highlight MyTabSpace ctermfg=darkgrey" 指定tab字符和空格的颜色组为MyTabSpace,不同字符串
" 之间用|隔开,要使用\|转义.
match MyTabSpace /\t\| /" 针对特定类型的代码文件,设置显示Tab键和行尾空格以便在
" 查看代码时注意到它们.
" TODO 后续查看代码如果体验不好再改成用map映射快捷键
" 开关list来动态切换显示.
""autocmd FileType c,cpp,java,xml setlocal list | set listchars=tab:>~,trail:." 配置 gtags 插件,用于在函数之间跳转,方便查看源代码.
" 参考 gtags-cscopde.vim 的注释,添加下面语句来
" 使用 ':tag' 和 '<C-]>'
set cscopetag
" 设置 cscopetag 后,由于gtags-cscopde默认没有启动,
" 还需要进行下面的设置.结合这两个设置, gtags 就可以
" 使用Ctrl-]键来跳转到函数定义处.
let GtagsCscope_Auto_Load = 1
" 配置 GtagsCscope_Auto_Load = 1 后,在没有GTAGS文件
" 的目录下使用vim,会提示 Gtags-cscope: GTAGS not found.
" Press ENTER or type command to continue
" 需要按回车才会打开文件.如果要去掉这个报错,需要设置GtagsCscope_Quiet = 1
let g:GtagsCscope_Quiet = 1
" 设置只有一个匹配结果时,不显示quickfix窗口
let g:Gtags_Close_When_Single = 1""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 配置 quickfix 相关命令的快捷键. 可以用:map命令
" 查看vim已有的快捷键映射.
nnoremap <F2> :w!<CR>
nnoremap <F3> :q!<CR>
nnoremap <F4> :wq!<CR>
"nnoremap <F2> :cclose<CR>
"nnoremap <F3> :cn<CR>
"nnoremap <F4> :cp<CR>
" vim 用 map 命令来映射快捷键,它前面可以加一些前缀来对应
" 不同的场景.下面 map 前面的 nore 表示非递归. nore 前面
" 的n表示只在普通模式下生效.即,基于下面的配置,在插入模式下,
" 按F6没有这个映射效果.插入模式对应i. 下面配置cscope查找
" 文件命令的快捷键为F6,由于需要手动输入文件名,不要加<CR>
"nnoremap <F6> :cs find f<Space>" 如果要去掉高亮显示搜索到的内容,需要再次搜索一些不存在的字符串,
" 比较麻烦.可以在vim的命令行中执行nohlsearch命令去掉当前高亮.
" 下面的 nohlsearch 以 : 开头表示在命令行执行.
""nnoremap <F9> :nohlsearch<CR>
" 插入模式下也用F9来去掉搜索高亮.下面的<C-o>表示CTRL-O.
" CTRL-O键可以在插入模式执行一次命令
""inoremap <F9> <C-o>:nohlsearch<CR>
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l
" 可以在buffer的任何地方使用鼠标(类似office中在工作区双击鼠标定位)
set mouse=a
set selection=exclusive
set selectmode=mouse,key" 匹配括号高亮的时间(单位是十分之一秒)
set matchtime=1" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3
" 为C程序提供自动缩进
set smartindentset ruler                   " 打开状态栏标尺
set cursorline              " 突出显示当前行
set magic                   " 设置魔术
set guioptions-=T           " 隐藏工具栏
set guioptions-=m           " 隐藏菜单栏if (has("gui_running"))set guioptions+=b"colo tortecolo blueset nowrap
else"colo roncolo evening "colo blueset wrap
endif"搜索忽略大小写
set ignorecase"搜索逐字符高亮
set hlsearch
set incsearch" 光标移动到buffer的顶部和底部时保持3行距离
set scrolloff=3" 允许backspace和光标键跨越行边界
set whichwrap+=<,>,h,l" 增强模式中的命令行自动完成操作
set wildmenu" 命令行(在状态行下)的高度,默认为1,这里是2
set cmdheight=3" 我的状态行显示的内容(包括文件类型和解码)
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")}
set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]"禁止生成临时文件
set nobackup
set noswapfile"共享剪贴板
set clipboard=unnamed 

3、安装插件

这是一个博主写的安装步骤可以看看->Linux 系统基础 - 安装 4 个能提高效率的 vim 插件 登龙(DLonng)

第一种安装方法:

1.在命令行输入vim,回车

2.在命令模式中输入PlugInstall,回车

3.安装成功截图

如果有x号说明有的插件没安装成功!

第二种安装方法:

直接在终端中输入vim +PlugInstall +qall

这样有点不好的是安装完不会停留安装界面,不能查看是否都安装成功了。

4、安装中可能出现的错误

1.由于上面的插件的官网在外网,可能下载不成,用我上面两种安装方式都是一遍,实在不行那就得自己去把文件下载到本地~/.vim/bundle/中。

2.其中会出现大问题的是YuCompleteMe这个插件,这个插件是能代码提示,对CC++语法提示支持较好。

tps://imgse.com/i/xRnbjI)

2.在命令模式中输入PlugInstall,回车

](https://imgse.com/i/xRnxUS)

3.安装成功截图


如果有x号说明有的插件没安装成功!

第二种安装方法:

直接在终端中输入vim +PlugInstall +qall

这样有点不好的是安装完不会停留安装界面,不能查看是否都安装成功了。

4、安装中可能出现的错误

1.由于上面的插件的官网在外网,可能下载不成,用我上面两种安装方式都是一遍,实在不行那就得自己去把文件下载到本地~/.vim/bundle/中。

2.其中会出现大问题的是YuCompleteMe这个插件,这个插件是能代码提示,对CC++语法提示支持较好。

linux安装Vim-plug和配置.vimrc文件相关推荐

  1. linux安装vim plug,VIM 插件管理工具 vim-plug 简明教程

    作为 VIM 的重度患者, 一款好用的插件管理工具显得尤为重要, 毕竟给 VIM 增加新功能, 或者是新增编程语言的支持都需要安装插件. 我个人目前安装了 133 款 VIM 插件. 我使用的 VIM ...

  2. linux安装vim plug, vim-plug 的安装和使用

    正确安装 vim-plug 之前写了一篇

  3. IDEA安装Vim插件并配置共享VIM和Windows的剪切板

    IDEA安装Vim插件并配置共享VIM和Windows的剪切板 这两天学习了Vim的基本使用后,认为Vim的工作效率还是相当高的,所以便有了Idea中配置Vim使用的想法.也是经历了多重困难,查询了多 ...

  4. .vimrc php,不重启Vim重新加载 .vimrc 文件如何实现

    这次给大家带来不重启Vim重新加载 .vimrc 文件如何实现,不重启Vim重新加载 .vimrc 文件如何实现的注意事项有哪些,下面就是实战案例,一起来看一下. 我是一位新的 Vim 编辑器用户.我 ...

  5. 【大数据前置基础】Linux安装、Xshell远程控制、WinSCP文件传输

    Linux安装.Xshell远程控制.WinSCP文件传输 1 Linux安装 1.1 创建虚拟机 1.2 虚拟机启动及配置 2 Xshell远程连接虚拟机 3 WinSCP文件传输 手动反爬虫,禁止 ...

  6. 【ubuntu(Linux)安装Vs code并配置c++编译及cmake多文件编译】

    目录标题 VS code配置c++编译环境 1. Linux系统安装 2. 在Ubuntu中安装VS code 2.1. 首先下载对应系统的VS code安装包 2.2. 安装VS code 3. 在 ...

  7. Linux安装Vim最复杂插件:YouCompleteMe

    目录 第一步:下载YouCompleteMe源码 第二步:拉取YouCompleteMe中的子git库源码 第三步:预先安装YouCompleteMe依赖库 1.安装python3.python3-d ...

  8. 【 Linux 】Vim的基本配置以及出现问题解决(su认证失败)

    [ Linux ]安装.配置并用 Vim 编写第一个 C 程序 上篇博文我们记录了如何在Vim下编写第一个C程序,总算成功了,可是使用Vim的体验并没有那么好,那是因为没有配置Vim,对于新手来说,如 ...

  9. Linux下 vim的基本配置

    vim的配置步骤 1. 首先进入终端,输入cd ~ 进入工作目录,再输入ls -al 查看是否有.vimrc文件和.vim目录,如果没有touch .vimrc和mkdir .vim目录 2.安装Ta ...

  10. Linux安装JDK1.8并配置环境变量

    文章目录 一.下载JDK安装包 二.安装JDK 三.配置环境变量 四.验证JDK是否安装成功 Hello,大家好! 今天分享Linux安装配置JDK1.8教程,本教程是学长在项目上线时撰写的,经过生产 ...

最新文章

  1. 《数学之美》第8章 简单之美--布尔代数和搜索引擎
  2. linux学习5-shell编程
  3. android 服务器201,Android端i-jetty服务器开发(八)
  4. c++服务器开源项目,开源一个c++ lua服务器框架
  5. python异或运算怎么算_小强学Python+OpenCV之-1.4.4掩膜mask及位运算(与、或、非、异或)...
  6. Redis高效性探索--线程IO模型,通信协议
  7. DateUtils解析
  8. 四极管:京东物流“后牌照”战略:8月底开放 或分拆
  9. sa提开放系统下的虚拟新贵Virtualbox权技巧之xp_regwrite替换sethc.exe
  10. FILTER的使用与过滤器实现session登录案例
  11. 推特php博客,实例代码:使用PHP调用Twitter的RSS
  12. [Unity]项目工程文件太大删除Library文件夹会怎么样
  13. [小游戏资源] 微信小游戏开发资源目录
  14. 解决QQ2009正式版登录时出现“服务器拒绝”问题
  15. 人类正从IT时代改革走向DT时代!
  16. mysql php apache源码_源码安装apache+mysql+php
  17. 史泰博Staple验厂内容?
  18. 顶级的 Bootstrap 日期选择器和时间选择器插件(附免费下载链接)
  19. 剪切BMP图片中的字符
  20. C++中析构函数(Destructor)

热门文章

  1. 华师在线计算机网络,华师在线-作业计算机网络.docx
  2. WIN7重装系统之缺少所需的CD/DVD驱动器设备驱动程序
  3. mysql 联合主键自增,mysql联合主键自增、主键最大长度小记
  4. 苹果超薄笔记本MBA设计缺陷
  5. 怎样把IE设置成默认浏览器
  6. ♥️Javascript之DOM♥️
  7. 教你如何写初/高级前端简历【全新web前端入门视频教程】
  8. 教你如何写初/高级技术岗位简历
  9. 尚学堂视频笔记六:多线程
  10. linux带密码解压密码,linux下解压有密码的rar压缩包