1、Vim/Vi 是一个文本编辑器,多适用在Linux/UNIX系统;早期是Vi,现在增强版是Vim,但使用的还是Vi的操作。
2、Vim/Vi 没有菜单,只有命令。
3、作用:建立、编辑、显示文本文件,编写代码。
常用操作:
Vi有三种工作模式:正常模式、插入模式、底行模式。
1、正常模式切换到插入模式:按i或者o
2、插入模式切换到正常模式:按Esc
3、正常模式切换底行模式:按shift+:(冒号),在冒号后面输入w保存;输入q退出;输入wq保存并退出;输入!wq强制保存并退出…
在使用linux时,我们可以利用yum命令,该命令用于查找、安装或者删除指定的软件包,当参数设置为 -y时,表示安装过程提示选择全部为“yes”,直接输入 sudo yum -y install vim 如图所示:
配置vim就是为了写代码以及编辑内内容等操作起来时方便而且有美化界面,快速注释功能,模板补全功能,工程浏览功能,代码补全功能。
手动配置的时候要找到 .vimrc 这个隐藏文件也是环境设置文件 在普通用户后面输入ls -al 就会出现 .vimrc这个隐藏文件 如图:
如果没有出现 可以输入 vim .vimrc直接创建 然后把如下指令粘贴到 .vimrc这个文件中。当然并不是统一标准这只是我之前使用(在网上找的配置),后面就使用了非常方便vimforcpp(下面会讲到)
" vim 自身功能配置
set nu " line number
set cursorline " row line
set cursorcolumn "col line
set hlsearch
set laststatus=2
set nowrap
" 前导键
let mapleader=“;”
" 基础配置
" filetype plugin on
" 命令映射, 表示前导键
nmap LB 0
nmap LE $
nmap q :q
nmap w :w
nmap Q :qa!
" 设置快捷键遍历子窗口
" " 依次遍历
nnoremap nw
" 跳转至右方的窗口
nnoremap lw l
" 跳转至方的窗口
nnoremap hw h
" 跳转至上方的子窗口
nnoremap kw k
" 跳转至下方的子窗口
nnoremap jw j
" 让配置变更立即生效
autocmd BufWritePost $MYVIMRC source $MYVIMRC
" 实时搜索
set incsearch
" vim 自动补全
set wildmenu
" 关闭兼容模式
set nocompatible " vundle required
" 插件安装
" vundle 环境设置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
" vundle 管理的插件列表必须位于 vundle#begin() 和 vundle#end() 之间
call vundle#begin()
" let Vundle manage Vundle, required
Plugin ‘VundleVim/Vundle.vim’
Plugin ‘altercation/vim-colors-solarized’
Plugin ‘octol/vim-cpp-enhanced-highlight’
Plugin ‘Lokaltog/vim-powerline’
Plugin ‘scrooloose/nerdcommenter’
Plugin ‘SirVer/ultisnips’
Plugin ‘honza/vim-snippets’
Plugin ‘scrooloose/nerdtree’
Plugin ‘sjl/gundo.vim’
Plugin ‘Valloric/YouCompleteMe’
"Plugin ‘Valloric/YouCompleteMe’
" 插件列表结束
call vundle#end()
filetype plugin indent on
" code scheme
syntax enable
syntax on
" set background=light
" colorscheme solarized
" powerline scheme
let g:Powerline_colorscheme=‘solarized256’
" 代码缩进
" 设置编辑时制表符占用空格数
set tabstop=4
" 设置格式化时制表符占用空格数
set shiftwidth=4
" 自适应不同语言的智能缩进
filetype indent on
" 基于缩进或语法进行代码折叠
set foldmethod=indent
"set foldmethod=syntax
set nofoldenable
" vim-snippets
" let g:UltiSnipsExpandTrigger=“”
" let g:UltiSnipsJumpForwardTrigger=“”
" let g:UltiSnipsJumpBackwardTrigger=“”
let g:UltiSnipsExpandTrigger=“”
let g:UltiSnipsJumpForwardTrigger=“”
let g:UltiSnipsJumpBackwardTrigger=“”
let g:UltiSnipsEditSplit=“vertical”
" 启用:Man命令查看各类man信息
source $VIMRUNTIME/ftplugin/man.vim
"
" " 定义:Man命令查看各类man信息的快捷键
nmap man :Man 3
" 使用 NERDTree 插件查看工程文件。设置快捷键,速记:file list
nmap fl :NERDTreeToggle
" 设置 NERDTree 子窗口宽度
let NERDTreeWinSize=22
" 设置 NERDTree 子窗口位置
let NERDTreeWinPos=“right”
" 显示隐藏文件
let NERDTreeShowHidden=1
" NERDTree 子窗口中不显示冗余帮助信息
let NERDTreeMinimalUI=1
" 删除文件时自动删除文件对应 buffer
let NERDTreeAutoDeleteBuffer=1
" 调用 gundo 树
nnoremap ud :GundoToggle
" YCM 补全菜单配色
" 菜单
highlight Pmenu ctermfg=2 ctermbg=3 guifg=#005f87 guibg=#EEE8D5
" 选中项
"highlight PmenuSel ctermfg=2 ctermbg=3 guifg=#AFD700 guibg=#106900
" 补全功能在注释中同样有效
let g:ycm_complete_in_comments=1
" 允许 vim 加载 .ycm_extra_conf.py 文件,不再提示
let g:ycm_confirm_extra_conf=0
" 开启 YCM 标签补全引擎
let g:ycm_collect_identifiers_from_tags_files=1
" 禁止缓存匹配项,每次都重新生成匹配项
let g:ycm_cache_omnifunc=0
" " 语法关键字补全
let g:ycm_seed_identifiers_with_syntax=1
这种方法非常适合我们新手使用,是一位大佬针对我们这种对vim配置方法不熟悉的新手封装的一键式vim环境安装包. 主要用在终端vim用户, 目前只支持centos 7版本。如何配置:在自己的普通用户后面输入:curl -sf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh 后面会再让你输入root用户密码也就是超级用户 就可以直接自动安装了如图:
下载使用vim的时候就会出现这个样子:
里面的比较方便的功能几乎都在里面了,包括按大V快捷键分屏,小q键保存文件,Q保存文件并退出,ctrl+展示标签如类,函数,全局变量什么的,ctrl+n打开文件树,按\代码折叠,ctrl+函数快速查找,ctrl+d快速注释,下一个页面ty上一个页面tr ,ctrl+跳转到函数的定义 ctrl+o回到原来的位置等等。