在Linux上其实并不缺少画图软件(比如yEd等),那么为什么还需要用VIM来画图:

  1. 更轻,不需要安装太多东西
  2. 更小,就是一些文本,比图片什么的小多了,使用起来也更简单
  3. 更有逼格


那么我们该怎么做呢?首先,在VIM中安装DrawIt插件,可以参考这里:
vundle让你不需要在纠结到哪里去找插件和配置,所有的插件都以相似的方式进行管理,很大程度上降低了使用成本!插件存放的路径为~/.vim/bundle/,目录建好后下载vundle:

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 

以后配置都可以在~/.vimrc里面完成:

set nocompatible " 关闭兼容模式 filetype off " 关闭对文件类型的自动检测 set rtp+=~/.vim/bundle/Vundle.vim " 加入运行时路径 call vundle#begin() " 初始化 " 插件列表开始 Plugin 'VundleVim/Vundle.vim' " 插件列表结束 call vundle#end() " 完成 filetype plugin indent on " 打开文件类型检测

常用的插件来源配置有:

github.com	github上托管的插件(Plugin ‘tpope/vim-fugitive’) vim-scripts.org/vim/scripts.html	在该站维护的插件(Plugin ‘L9’)

配置完成后打开VIM就可以开始使用了,用到下面命令:

:PluginList:打开插件列表 :PluginInstall:安装插件 :PluginSearch foo:搜索插件,找到之后可以选择安装 :PluginClean:清理不用的插件

最后举个例子,当你想安装winmanager插件时:

在.vimrc中添加Plugin 'winmanager' 打开vim 执行:PluginList就可以看到winmanager插件 执行:PluginInstall进行安装

然后就可以开始画图之旅,在命令模式下使用:

\di #开启DrawIt \ds #关闭DrawIt 

开启之后有两种模式:画图和擦除,他们之间通过空格来切换。
可以使用按键来控制向八个方向画线(或者擦除):

方向键的上、下、左、右分别对应其四个方向 Pgup #上右 Pgdn #下右 Home #左上 End #左下

如下图(其实也不需要记,和键盘上的位置是一致的):

 Home Up Pgup \ | / \ | / \ | / \|/ Left----------Right /|\ / | \ / | \ / | \ End Down Pgdn

箭头的画法也很直观,简单的箭头用>、、\<、\^、\v来弄(感觉粗的箭头不太好控制):

 > <| _ _ . \ / /_\ '

用鼠标可以选择块,这对后面的操作有一定的简化,利用用\a(\l不带箭头)来根据选中的块来画线:

------- \----------- \----------- \----->

或用\b来画矩形框或者用\e来画椭圆:

+--------------------+ ************* | | **** **** | | ** ** +--------------------+ * * ** ** **** **** *************

完事了可以用\f来对图形进行填充:

+------------------+ |##################| |##################| |##################| +------------------+

位置有一些偏差是常有的事情,这时候不要急着重画:

用鼠标选中要移动的块,然后按住ctrl并拖动鼠标。 

当要擦除一整快的内容时,用方向键来搞也比较蛋疼,可以用:

用鼠标选中要擦除的部分,然后执行r (相当于用空格替换)。 

另外需要注意:ubuntu和mint上安装到VIM默认是不支持系统剪贴板的,需要安装:

sudo apt-get install vim-gnome 

简单体验下来,如果能灵活运用VIM本身的强大功能(复制、粘贴等),DrawIt用起来还是挺给力的!PS:提示一下,那些箭头符号都是键盘上按键,仔细找找吧!

本文转载自:http://www.linuxprobe.com/vim-originally-can-play-like-this.html

更多Linux干货请访问:http://www.linuxprobe.com/

高逼格的画图:VIM原来可以这样玩的更多相关文章

  1. 高逼格的实现WiFi共享,不安装第三方wifi共享软件,两种方式实现开启wifi的功能

    作为一枚程序员,不会点高逼格的doc命令,那么都有点感觉对不起自己的行业了,好了废话就到这里了   第一种方式: 首先使用cmd命令:window键+R 然后输入cmd回车 第一种方式: 第一步: 设 ...

  2. VopSdk一个高逼格微信公众号开发SDK(源码下载)

    看之前回复很多说明大家很有热情&文章被误删掉了,不想让有的朋友错失这个高逼格的东西,现在重新发布,这次就直接放出源码,文章最末下载地址. 看之前回复很多说明大家很有热情&文章被误删掉了 ...

  3. VopSdk一个高逼格微信公众号开发SDK:自动化生产(装逼模式开启)

    VopSdk一个高逼格微信公众号开发SDK(源码下载) VopSdk一个高逼格微信公众号开发SDK:自动化生产(装逼模式开启) 针对第一版,我们搞了第二版本,老规矩先定个目标. 一 我们的目标 a.移 ...

  4. 多服务器终端交互利器--polysh和atnodes到高逼格日志中心

    最近博客更新的少了,相对而言,我在自己的个人公众号里还是挺活跃的,大家可以扫描旁边的二维码,或者微信搜索公众号:“编程一生”加关注. 在分布式的年代,一个应用需要部署到多台服务器上.那么要查看日志文件 ...

  5. hexo——轻量、简易、高逼格的博客

    背景 写blog虽然经历了N多不同时代的产品,恒久不变的始终是自己无人问津的网站.虽然没几个人看,还是隔断时间就要折腾一下.从最开始的wordpress,到tale,到现在的hexo,网站变得越来越简 ...

  6. 分享几套生成iMac相关高逼格免费mockup的素材和在线工具

    好久没有过来转, 今天姐姐我分享几套高逼格的iMac相关设计资源, 希望各位靓妹帅哥会喜欢, 最重要滴是,都是FREE,此处应有掌声~~~ , yeah!! iMac桌面效果Mockup 只需要下载后 ...

  7. 教你制作高逼格的技术分享Keynote(PPT)

    本文来自 网易云社区 . 作为一个程序猿/媛,想必大家都参与过大大小小各式各样的技术分享,异或在不同的场合分享自己的技术心得.抛开分享内容的质量不谈,笔者发现通常这些分享者的演示文稿(Keynot或P ...

  8. 高逼格UILabel的闪烁动画效果

    高逼格UILabel的闪烁动画效果 最终效果图如下: 源码: YXLabel.h 与  YXLabel.m // // YXLabel.h // // Created by YouXianMing o ...

  9. Python爬虫,看看我最近博客都写了啥,带你制作高逼格的数据聚合云图

    转载请标明出处: http://blog.csdn.net/forezp/article/details/70198541 本文出自方志朋的博客 今天一时兴起,想用python爬爬自己的博客,通过数据 ...

随机推荐

  1. 类似UC天气下拉和微信下拉眼睛头部弹入淡出UI交互效果(开源项目)。

    Android-PullLayout是github上的一个第三方开源项目,该项目主页是:https://github.com/BlueMor/Android-PullLayout  原作者项目意图实现 ...

  2. Android Phonebook编写联系人UI加载及联系人保存流程(五)

    2014-01-07 10:46:30 将百度空间里的东西移过来. 在前面的文章中我们分析了UI的加载,其中提到了一个重要的对象:RawContactDeltaList mState,我前面说过这个对 ...

  3. bzoj 2595 斯坦纳树

    题目大意: 选定一些格子保证景点对应的格子通过这些格子连通,保证选定的所有格子对应的权值和最小 这是相当于理解为将所有点形成的最小生成树 这里点的个数很少,所以可以对每一个点进行状态压缩 f[st][ ...

  4. CodeForces 546B-Soldier and Badges

    题意: 给出一些数字,要求每个数字都不一样需要增加几 思路: 先排序,然后一个个增加,最后求总和差 代码如下: #include <iostream> #include <cstdi ...

  5. vector用法总结(转载)

    一.vector的基本概念 vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值.和string对象一样,标准库负责管理存储元素的相关内存.我们把vector称为容器,是因为它可以包 ...

  6. [转] C中的位域

    一.位域 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位.例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可.为了节省存储空间,并使处理简便,C语言又提供了一 ...

  7. 新版的tomcat里面get请求通过http协议的时候似乎默认是UTF-8的编码了吗?

    不在servler.xml的connector中添加URICoding=“UTF-8”,使用默认值一样没有乱码,而添加URICoding=“iso-8859-1”就是乱码了. POST请求还是用iso ...

  8. php 封装分页查询类

    <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 private $lis ...

  9. poj1837 dp

    //Accepted 2176 KB 47 ms //杠杆平横的条件:sum(c[i]*sum(g[j]))=0 // 所有的hook到原点的距离乘它上面挂着的物体的重量和的和为0 //对于一个hoo ...

  10. 2013杭州现场赛B题-Rabbit Kingdom

    杭州现场赛的题.BFS+DFS #include <iostream> #include<cstdio> #include<cstring> #define inf ...