Vim是一个很是好的文本编辑器,不少专业程序员使用Vim编辑代码,即便之后你不编写程序,只要跟文本打交道,都应该学学Vim,能够浏览参考一下普通人的编辑利器——Vim这篇文章,看看Vim能够如何用。css
Vim学习曲线很是陡峭,各类编辑器学习曲线以下图(有调侃的意思):html
Vim跟五笔打字很相似,不会的时候好象很高大上,感受学起来很难,其实否则。我建议你们经过“作中学”来学习Vim,你会发现Vim学起来至关简单,掌握三五个命令就能够用起来了。具体来讲经过VimTUTOR甚至玩游戏(Vim大冒险或PacVim)来学习。前端
玩游戏去Vim大冒险或PacVim通关就学会了Vim。git
VimTUTOR是个实践教程,经过实践30分钟让你对Vim编辑器入门,只要在命令行中输入Vimtutor,而后跟着教程练习就能够了。以下图:程序员
而后你能够把这张图作计算机的桌面背景,参考《简明 Vim 练级攻略》天天学习一两个键,一两周就能够很好的用Vim了:
github
IT相关的同窗能够看看程序员专用的Vim键盘图:web
程序员有几个键提示一下:shell
:e filename
进入Vim后,打开其余文件:n
, :N
先后切换:bn
, :bp
先后循环切换:files
,:buffers
或 :ls
能够列出目前缓冲区中的全部文件
+
表示缓冲区已经被修改过了的文件#
表明上一次编辑的文件%
是目前正在编辑中的文件:b
文档名或编号 切换至该文件:spilit
(:sp
), :vspilit
(:vsp
) 切分viewCtrl+w, w
循环view切换Ctrl+w,方向键
切换到前/下/上/后一个viewCtrl+w,h/j/k/l
切换到前/下/上/后一个viewCtrl+w,=
让上下左右view等宽等高Ctrl+w,_
当前view高度扩展到最大Ctrl+w,|
当前view宽度扩展到最大Ctrl+w,c
:关闭当前view:tabnew [++opt选项] [+cmd] file
新tab中打开文件:tabc
关闭当前的tab:tabo
关闭其余的tab:tabs
查看全部打开的tab:tabn
切换到后一个tab:tabp
切换到前一个tabngt
切换到后n个tabngT
切换到前n个tab刚安装好的Vim是难看又难用,经过配置和安装插件,Vim能够变成神器。编程
~/.Vimrc
是Vim的配置文件,经过.Vimrc文件你能够控制Vim的外观、字体、操做方式、快捷键、插件属性等。vim
上面提到几个设置:
每次打开Vim都这么设置也是很烦人的,咱们能够把这几行写入~/.Vimrc
,这样打开Vi时就不用咱们一个一个的设置了。 ~/.Vimrc
中能够设置
做为一个老牌编辑器,Vim有近万个插件。所需即所获:像 IDE 同样使用 Vim经过定制,你彻底能够把Vim打形成IDE:
打造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/ ..
在配置文件中启用插件:
Vim ~/.Vimrc filetype plugin on
使用前咱们使用vi ~/.Vim/c-support/templates/Templates
编辑一下模板,主要是Author, Authorref,Email,Organizaiont,Company等:
咱们这时用vi hello.c
来编辑C代码时,会自动插入文件说明:
咱们使用输入\im
就能够生成main函数:
帮助文档参看~/.Vim/c-support/doc/c-hotkeys.pdf
,经过下面的截图你能感觉到c.Vim功能的强大:
上面的命令不用死记硬背,经过作中学
在实践中慢慢的掌握。
咱们也能够经过在线文档查找帮助。
若是想安装其它插件,Vim的官方插件在Vim Scripts,github上有个镜像Vim Plugins On GitHub。
如上所示,Vim经过在 .Vim 目录中预约义子目录管理全部插件,如子目录 doc存放插件帮助文档、plugin 存放通用插件脚本,用户将插件打包文档中的对应子目录拷贝至 .Vim/ 目录便可完成插件的安装。可是这样一锅粥的管理方式会致使一些问题:好比命名冲突,更新、卸载等管理复杂。现代的编辑器如Atom,Sublime Text的插件管理就很是好。
这个问题也有Vim插件来解决,Vim的插件管理有Pathogen,Vundle,Vim-plug这些插件。Vundle应用比较广,想学的话下面的参考资料中有教程,咱们在这里使用小巧快速的Vim-plug。
首先咱们下载 plug.Vim 并把它放在 ~/.Vim/autoload
目录。而后配置~/.Vimrc
,加入一个Vim plug节:
call plug#begin()
开始plug#end()
结束这个节好比,咱们安装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
中列出的插件了:
其余插件管理的命令以下:
这样,根据本身的需求就能够定制具备我的特点的Vim了。
c.Vim 是C/C++程序员使用Vim必装的插件,咱们上面已经介绍了安装和使用的方法,经常使用的操做有
Emmet (Zen Coding的新版本) 是一个能大幅度提升前端开发效率的一个工具。
Emmet适用于编写HTML/XML 和 CSS 代码的前端开发人员。Emmet为大部分流行的编辑器都提供了安装插件,Emmet-Vim是Vim的Emmet插件。
Emmet-Vim的基本用法:先写简写形式,而后用"Ctrl+y+,"将其转成HTML代码
例入,先输入!
或html:5
,而后按"Ctrl+y+,",就会扩展出来:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> </html>
基本规则:
for Vim-markdown
need tabular
Vim有多牛?几乎全部的现代编辑器,IDE甚至浏览器都有Vim模式插件,下面是我使用过的一个不彻底列表。固然这些插件功能和Vim会差不少,但至少都会支持常见的编辑和移动。
set -o vi
,Bash中就能够像vi同样进行编辑和移动了Vim for Sublime:选择Preferences->Settings- Default, 在文本的最下面有一行 "ignored_packages": ["vintage"], ["vintage"]->[].
...
欢迎关注“rocedu”微信公众号(手机上长按二维码)
作中教,作中学,实践中共同进步!
版权声明:自由转载-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
若是你以为本文对你有帮助,请点一下左下角的“好文要顶”和“收藏该文”