在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. cf 307

    一开始我是不想打的  又因为307这个数字太特殊了 毕竟307  希望今天的考试不要挂掉 http://codeforces.com/contest/551/problem/A #include< ...

  2. bzoj 1997: [Hnoi2010]Planar

    #include<cstdio> #include<cstring> #include<iostream> #define M 20005 #define N 20 ...

  3. JavaScript 自定义事件

    //自定义事件 function Event() { var handles = []; //绑定事件 this.addHandle=function(fn) { handles.push(fn); ...

  4. IT公司100题-5-查找最小的k个元素

    问题描述: 输入n 个整数,输出其中最小的k 个. 例如输入8, 7, 6, 5, 4, 3, 2, 1这8 个数字,则最小的3 个数字为3, 2, 1.   分析: 时间复杂度O(nlogn)方法: ...

  5. Program L 暴力求解

    Description The GeoSurvComp geologic survey company is responsible for detecting underground oil dep ...

  6. ToolBar+DrawerLayout + NavigationView

    http://www.jianshu.com/p/9471b87f2c61 很好的博客可以瞅瞅 <android.support.design.widget.NavigationView and ...

  7. 获取手机联系人项目 PPGetAddressBook

    PPGetAddressBook PPGetAddressBook对AddressBook框架(iOS9之前)和Contacts框架(iOS9之后)做了对应的封装处理; 支持获取按联系人姓名首字拼音A ...

  8. 《用C++语言编写一个程序,求PI的值》

    //编写一个C++程序求PI的值 /* PI=16arctan(1/5)-4arctan(1/239) 其中arctan用如下形式的极数计算: arctan=x-(x^3/3)+(x^5/7)-(x^ ...

  9. 高效的iOS宏定义

    iOS开发过程中使用一些常用的宏可以提高开发效率,提高代码的重用性:将这些宏放到一个头文件里然后再放到工程中的-Prefix.pch文件中(或者直接放到-Prefix.pch中)直接可以使用,灰常方便 ...

  10. 对NSNumber的理解

    1.nsnumber最重要的作用是可以封装任何的值对象,就是说nsnumber对象的类型可以是任何的类型. 如nsnumber *number = @"12" nsnumber * ...