Vim 使用教程

安装

vim 是一款文本编辑器,能安装众多的插件足以满足不同的开发需求,但是它最强大之处在于:键盘上的每个键都是功能键,当你熟悉相关命令之后,能极大的提高编码效率。
首先去官网下载一个 vim

配置

创建配置文件

  • 1、安装完成之后,去用户目录下(windows:C:\Users\xx, linux:home/xx/)查找 .vim 文件夹和 .vimrc
  • 2、如果没有就手动创建出来
  • 3、先列出个人的 .vimrc 文件,包含后续内容中的所有配置
set nocompatible                      " be iMproved, required
filetype off                          " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
Plugin 'VundleVim/Vundle.vim'         "let Vundle manage Vundle, required
Plugin 'flazz/vim-colorschemes'       "配色插件
Plugin 'scrooloose/nerdtree'          "树形目录
Plugin 'jistr/vim-nerdtree-tabs'      "多标签共用nerdtree
Plugin 'ctrlpvim/ctrlp.vim'           "查找文件
Plugin 'vim-scripts/indentpython.vim' "自动缩进
Plugin 'vim-syntastic/syntastic'      "静态语法检测
Plugin 'nvie/vim-flake8'              "添加PEP8代码风格检查

" All of your Plugins must be added before the following line
call vundle#end()                     " required

filetype plugin indent on             " required
" To ignore plugin indent changes, instead use:
"filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line
" System vimrc file for MacVim
"
" Maintainer:   Bjorn Winckler <bjorn.winckler@gmail.com>
" Last Change:  Sat Aug 29 2009

syntax enable                           "语法高亮
set background=dark                     "设置背景色
colorscheme Monokai                     "默认配色
set nocompatible                        "关闭对 vi 的兼容
set nu                                  "设置行号

" The default for 'backspace' is very confusing to new users, so change it to a
" more sensible value.  Add "set backspace&" to your ~/.vimrc to reset it.
set backspace+=indent,eol,start

" Disable localized menus for now since only some items are translated (e.g.
" the entire MacVim menu is set up in a nib file which currently only is
" translated to English).

"静态语法检测
let g:syntastic_lua_checkers = ['luacheck']
let python_highlight_all=1
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0

"NERDTree快捷键
map <F2> :NERDTreeToggle<CR>            "设置f2为打开、关闭NERDTree快捷键
let g:NERDTreeWinPos="left"             "靠左显示
let g:NERDTreeWinSize=25                "最大长度
let g:NERDTreeShowLineNumbers=1         "显示行号
let NERDTreeShowHidden=1                "是否显示隐藏文件
let g:nerdtree_tabs_open_on_console_startup=1 " 在终端启动vim时,共享NERDTree,用于打开多个标签页的情况
let NERDTreeIgnore=['\.pyc','\~$','\.swp'] " 忽略一下文件的显示
" let NERDTreeShowBookmarks=1           " 显示书签列表
let NERDTreeHighlightCursorline = 1     "高亮当前行
let g:NERDTreeAutoCenter=1
let g:neocomplcache_enable_at_startup = 1 
"从NERDTree打开文件后自动关闭NERDTree
let g:NERDTreeQuitOnOpen=1
" 在终端启动vim时,共享NERDTree
" 显示书签列表
"autocmd vimenter * NERDTree            "打开vim默认打开nerdtree
"autocmd VimEnter * wincmd p            "打开vim默认光标位置在文件中

" Highlight current line
au WinLeave * set nocursorline nocursorcolumn
au WinEnter * set cursorline cursorcolumn
set cursorline cursorcolumn

" Display tabs at the beginning of a line in Python mode as bad.
au BufRead,BufNewFile *.py,*.pyw match CursorLineNr /^\t\+/
" Make trailing whitespace be flagged as bad.
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match CursorLineNr /\s\+$/

"设置缩进
set tabstop=4
set softtabstop=4
set shiftwidth=4
set textwidth=120
set showmatch
set expandtab
set autoindent
set fileformat=unix
set nohls
set guifont=Consolas:h14

set encoding=utf-8
set langmenu=zh_CN.UTF-8
"解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"解决consle输出乱码
language messages zh_CN.UTF-8

"默认最大化窗口打开
au GUIEnter * simalt ~x 

安装 Vundle

  • 1、可以理解为 linux 下的 install,安装了 Vundle 之后,可以很方便的安装其他插件,Vundle
  • 2、先从 github上 clone Vundle相关文件,git clone https://github.com/VundleVim/Vundle.vim.git xx/.vim/bundle/Vundle.vim(~为用户目录)
  • 3、打开 .vimrc 文件:添加一下代码,然后打开 vim,输入 :PluginInstall
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
call vundle#end()

配色

之前习惯使用 sublime,安装完成 vim 之后发现颜色很不习惯,那就先解决一下配色问题。
  • github上有篇文章详细介绍了配色问题(链接),
  • 不过上面我们讲到能使用 Vundle 来安装插件,其实很简单就是新增一项Plugin ‘flazz/vim-colorschemes’,然后重启 vim,执行 :PluginInstall 就会自动安装
  • 安装完成之后,你会发现供选择的配色实在是太多了,上下拖动很麻烦,我这里是把大部分都删除了,只保留了molokai.vimMonokai.vim 两种。
  • 当前你可以挑选一款自己喜欢的颜色,然后每次打开 vim 是是用该颜色:只需要在.vimrc 中添加 colorscheme Monokai

树形目录插件(NERDTree)

有了 NERDTree 之后,就能像 sublime 一样能一览工程目录
  • 1、首先安装,在 .vimrc 中添加 Plugin ‘scrooloose/nerdtree’
  • 2、其他相关的配置参考上面 .vimrc 文件中 NERDTree快捷键
  • 3、下面列出常用的 NERDTree 命令:
?: 快速帮助文档
o: 打开一个目录或者打开文件,创建的是buffer,也可以用来打开书签
go: 打开一个文件,但是光标仍然留在NERDTree,创建的是buffer
t: 打开一个文件,创建的是Tab,对书签同样生效
T: 打开一个文件,但是光标仍然留在NERDTree,创建的是Tab,对书签同样生效
i: 水平分割创建文件的窗口,创建的是buffer
gi: 水平分割创建文件的窗口,但是光标仍然留在NERDTree
s: 垂直分割创建文件的窗口,创建的是buffer
gs: 和gi,go类似
x: 收起当前打开的目录
X: 收起所有打开的目录
e: 以文件管理的方式打开选中的目录
D: 删除书签
P: 大写,跳转到当前根路径
p: 小写,跳转到光标所在的上一级路径
K: 跳转到第一个子路径
J: 跳转到最后一个子路径
<C-j>和<C-k>: 在同级目录和文件间移动,忽略子目录和子文件
C: 将根路径设置为光标所在的目录
u: 设置上级目录为根路径
U: 设置上级目录为跟路径,但是维持原来目录打开的状态
r: 刷新光标所在的目录
R: 刷新当前根路径
I: 显示或者不显示隐藏文件
f: 打开和关闭文件过滤器
q: 关闭NERDTree
A: 全屏显示NERDTree,或者关闭全屏

静态语法检测

  • 1、安装 syntastic, 包含了 Lua、和 Python 的语法检测。
  • 2、参考 .vimrc 中的静态检测配置

多标签页

:tabnew [++opt选项] [+cmd] 文件            建立对指定文件新的tab
:tabc       关闭当前的tab
:tabo       关闭所有其他的tab
:tabs       查看所有打开的tab
:tabp      前一个
:tabn      后一个

多窗口

  • 创建多窗口
:split 将当前窗口分割成上下两半,他们显示的是相同缓冲区的内容(同一个文件)
:vsplit 将当前窗口分割成左右两半,他们显示的是相同缓冲区的内容(同一个文件)
:split otherfile 将当前窗口分割成上下两半,他们显示的是当前的文件和和新指定的文件。
:vsplit otherfile 将当前窗口分割成左右两半,他们显示的是当前的文件和和新指定的文件。
  • 在窗口之间切换
按住Ctrl + W,然后再加上h, j, k, l,分别表示向左、下、上、右移动窗口。
按住Ctrl + W,然后再加上t, b, p,分别表示向最左上角、最右下角、前一个访问的窗口。
按住Ctrl,然后再加上方向键,也可以移动窗口。

autocmd 的用法

  • 可以添加一些命令,跟事件绑定,目前尚未研究清楚
  • 参考

推荐几个博客用来参考

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值