ubuntu

做中学之学用学用Vim

2018-05-11  本文已影响563人  04282aba96e3

Vim

VIM是一个非常好的文本编辑器,很多专业程序员使用VIM编辑代码,即使以后你不编写程序,只要跟文本打交道,都应该学学VIM,可以浏览参考一下普通人的编辑利器——Vim这篇文章,看看Vim可以如何用。

VIM学习曲线非常陡峭,各种编辑器学习曲线如下图(有调侃的意思):

学习曲线

Vim跟五笔打字很类似,不会的时候好象很高大上,感觉学起来很难,其实不然。我建议大家通过实践练习来学习Vim,你会发现Vim学起来相当简单,掌握三五个命令就可以用起来了。具体来说通过VIMTUTOR甚至玩游戏(Vim大冒险PacVim)来学习。

玩游戏去Vim大冒险PacVim通关就学会了VIM。

VIMTUTOR是个实践教程,通过实践30分钟让你对VIM编辑器入门,只要在命令行中输入vimtutor,然后跟着教程练习就可以了。如下图:

vimtutor vimtutor界面

然后你可以把这张图做计算机的桌面背景,参考《简明 Vim 练级攻略》每天学习一两个键,一两周就可以很好的用Vim了:

vim

IT相关的同学可以看看程序员专用的Vim键盘图:

vim-programmer

程序员有几个键提示一下:

Vim配置

刚安装好的Vim是难看又难用,通过配置和安装插件,Vim可以变成神器。

~/.vimrc是Vim的配置文件,通过.vimrc文件你可以控制Vim的外观、字体、操作方式、快捷键、插件属性等。

上面提到几个设置:

每次打开Vim都这么设置也是很烦人的,我们可以把这几行写入~/.vimrc,这样打开Vi时就不用我们一个一个的设置了。 ~/.vimrc中可以设置

Vim 插件管理

作为一个老牌编辑器,Vim有近万个插件。所需即所获:像 IDE 一样使用 vim通过定制,你完全可以把Vim打造成IDE:

image

打造C/++ IDE, c.vim是一个重要的插件,我们以c.vim说明一下Vim插件的下载、安装、使用、管理的问题。

~/.vim目录是存放所有插件的地方。如果是第一次安装插件要通过 mkdir ~/.vim 创建~/.vim 目录。通过cd ~/.vim 进入~/.vim目录。

mkdir src
cd src
git clone https://github.com/WolfgangMehner/c-support.git
cp -r ./c-support/ ..

image

在配置文件中启用插件:

vim ~/.vimrc
filetype plugin on

使用前我们使用vi ~/.vim/c-support/templates/Templates编辑一下模板,主要是Author, Authorref,Email,Organizaiont,Company等:

image

我们这时用vi hello.c来编辑C代码时,会自动插入文件说明:

image

我们使用输入\im就可以生成main函数:

image

帮助文档参看~/.vim/c-support/doc/c-hotkeys.pdf,通过下面的截图你能感受到c.vim功能的强大:

image image

上面的命令不用死记硬背,通过做中学在实践中慢慢的掌握。

我们也可以通过在线文档查找帮助。

如果想安装其它插件,Vim的官方插件在Vim Scripts,github上有个镜像Vim Plugins On GitHub

如上所示,Vim通过在 .vim 目录中预定义子目录管理所有插件,如子目录 doc存放插件帮助文档、plugin 存放通用插件脚本,用户将插件打包文档中的对应子目录拷贝至 .vim/ 目录即可完成插件的安装。但是这样一锅粥的管理方式会导致一些问题:比如命名冲突,更新、卸载等管理复杂。现代的编辑器如AtomSublime Text的插件管理就非常好。

这个问题也有Vim插件来解决,Vim的插件管理有Pathogen,VundleVim-plug这些插件。Vundle应用比较广,想学的话下面的参考资料中有教程,我们在这里使用小巧快速的Vim-plug

首先我们下载 plug.vim 并把它放在 ~/.vim/autoload 目录。然后配置~/.vimrc,加入一个vim plug节:

比如,我们安装c.vim:

" 指定插件目录 (for Neovim: ~/.local/share/nvim/plugged)
call plug#begin('~/.vim/plugged')

" 注意:插件路径放到单引号中,下面是几个Vim-plug的命令例子

" github上的插件安装可以使用简化引用: 比如安装fetches https://github.com/junegunn/vim-easy-align 
" Plug 'junegunn/vim-easy-align'

" 也可以使用git URL 安装
"Plug 'https://github.com/junegunn/vim-github-dashboard.git'

" 用|分隔可以在一行安装多个插件 
" Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'

" 安装c.vim

Plug 'https://github.com/vim-scripts/c.vim.git'

" Initialize plugin system
call plug#end()

保存~/.vimrc,重新打开vim,使用:PlugInstall就可以安装~/.vimrc中列出的插件了:

image

其他插件管理的命令如下:

image

这样,根据自己的需求就可以定制具有个人特色的Vim了。

Vim 常用插件

c.vim

c.vim 是C/C++程序员使用Vim必装的插件,我们上面已经介绍了安装和使用的方法,常用的操作有

Emmet(HTML,CSS)

YouCompleteMe(自动补全)

Vim使用举一反三

Vim有多牛?几乎所有的现代编辑器,IDE甚至浏览器都有vim模式插件,下面是我使用过的一个不完全列表。当然这些插件功能和Vim会差很多,但至少都会支持常见的编辑和移动。

参考资料


上一篇 下一篇

猜你喜欢

热点阅读