追求效率, 上古神器 | 将VIM打造成专属IDE

传说中的Vim一直有着不可磨灭的神话, 为了追求效率, 嵌入式开发应该转入LInux下, 首先当然是学会使用强大的Vim了~

1. vi与vim

2. vim使用

在开始学习vim使用之前,先了解一下vim的三种工作模式:

  • 命令模式
    vim默认打开就处于命令模式,在此模式之下可以简单粗暴的使用vim快捷键操作文本,比如光标移动,文本复制、移动、粘贴、选择、替换等等;
  • 插入模式
    在命令模式下按i进入插入模式,可以和正常编辑器一样输入文本;
  • 末行模式
    在命令模式下输入:进入末行模式,在此模式下可以使用vim命令;

在末行模式和插入模式下,使用ESC退回到命令模式。

vim给我们提供了一个很好的30min教程, 在终端中输入vimtutor进入教程, 这个教程囊括了几乎常用所有的vim操作,认真的跟完这个教程自然就会了~

vim之所以强大,不仅仅因为它有效的工作模式和操作命令,更因为万千网友为它提供的各种插件,让它绽放光彩。

3. vim基本启动配置

vim中很多特性默认都不开启(比如显示行号),但是这些设置可以在末行模式里用set nu命令开启,不方便,所以vim提供了一个很方便的方法——创建启动脚本文件vimrc,如果这个配置对于当前用户使用,可以使用vim ~/.vimrc创建,然后在其中添加在vim启动前需要执行的命令即可,也就是需要的vim设置。
这里是我的一些配置,可以参考:

"author@ mculover666

"bash option
"--------------------------
"开启显示行号
set nu
"设置F1显示/不显示行号

"不与vi兼容
set nocompatible     
"打开语法高亮
syntax on
"底部显示当前模式
set showmode
"命令模式下显示输入命令
set showcmd
"支持使用鼠标
set mouse=a
"256色显示
set t_Co=256
"使用utf-8编码
set encoding=utf-8
"开启文件类型检查,并载入对应缩进规则
filetype indent on
"光标当前所在行高亮
set cursorline
"自动高亮另一个匹配的括号
set showmatch
"输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果
set incsearch
"根据编辑文件自动切换工作目录
set autochdir
"开启文件监视,外部改变后提示
set autoread
"搜索时,高亮显示匹配结果
set hlsearch
"回车后,下一行的缩进和上一行一样
set autoindent
"tab缩进值为4
set tabstop=4
"所有tab缩进值
set shiftwidth=4
"防止不同编译器tab值不同,将tab自动转为空格
set expandtab
"tab转为多少个空格
set softtabstop=4

"bash option end
"--------------------------

4. vim插件配置

4.1.准备工作

  • vim版本 > 7.4

  • 安装了git

4.2.vim插件管理器Vundle

vundle是vim的一个插件器,可以在配置文件vimrc中直接管理插件,方便实用~

  1. 使用git从github上下载vundle,放到vim的bundle路径下:
git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim
  1. ~/.vimrc中添加配置:
"vundle options
"-------------------------------------        
"关闭文件类型检查
filetype off    
"启用自动补全
filetype plugin indent on   
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
call vundle#end()            
"vundle option end
"--------------------------------------
  1. 运行vim,在末行模式下输入即可
PluginInstall
  1. vundle安装成功,安装插件时只需要在配置文件vimrc中添加Plugin <插件名>,然后运行Plugin Install即可安装插件。

4.3.目录树插件 —— NERDTree

猜你喜欢

转载自blog.csdn.net/Mculover666/article/details/84678324