在公司突发奇想,想把自己使用vim时的常用操作录下来,希望对大家有所帮助~ 用到了几个插件,也有一些自己定义的功能,在我的博客里都可以找到相应的介绍。
对于录屏中我使用的插件,欢迎竞猜,竞猜无奖,纯属娱乐,哈哈~~
作者是 Vim.
发布于 in最后更新于 .
作者是 Vim.
发布于 in最后更新于 .
好吧,vim中毒愈深,最近设计页面也开始用vim画图,上图先~~
哈哈,其实还是很不错的~~关键是连画图都不用鼠标啦~
要实现这个功能也比较简单,www.vim.org上有两个相关的插件,一个是sketch.vim,一个是drawit.vim。
对于sketch.vim,看名字就知道,他主要是想实现草图的功能,所以使用鼠标来画图的,也可以实现一些很复杂的图形,但是有个缺点就是当快速的拖动鼠标的时候,直线会夹杂一些空白的地方,所以被我无情抛弃。
再来看drawit.vim,普通模式下 \di是启动,\ds是关闭,用上下左右键就可以进行直线绘图,用home,end,pgup,pgdn,就可以实现斜线的绘制~~总而言是还是非常棒滴!
另外和大家分享一下,有同事问我怎么快速的画出一个多行表格,其实还是很简单啦,其实多行的话,无非是y一行,然后p 多行;多列的话,就是ctrl+v进入列模式,然后还是y,p就行。
OK,就这样~wordpress的后台总是打不开,所以第一次尝试用windows ...
作者是 Vim.
发布于 in最后更新于 .
由于工作需要,所以最近ssh到服务器上写代码的时间越来越多,反而在本地用gvim写代码的机会却少了,所以工作方式上也就发生了一点变化。
由于ctags本身在windows下运行效率的瓶颈(还有gvim对tags文件的检索),我在windows下面很少愿意提前装载tags的,不过在linux下就完全不一样啦,即使几百兆的工程 tags,在linux下面配合Omnicppcomplete进行全能补全也是速度飞快的。
下面是一些我常用的操作:
map cta :call Add_tags()<CR>
map ctd :call Del_tags()<CR>
function Add_tags()
let dir =expand("%:p:h")
let curtags = dir.g:vimrc_splitstr."tags"
let curtags=substitute(curtags,'\\','\','g')
if filereadable(curtags)
exec "set tags+=" ...
作者是 Vim.
发布于 in最后更新于 .
最近工作比较忙,所以一直没有时间写vim相关的文章,今天写一篇,以飨读者。 貌似前台开发的同事都是不太喜欢用vim的,而喜欢用editplus,emeditor之类的,说起来我遇到vim之前也都用过一段时间,嗯,先不说啦,留在后面说。 Vim7默认就是支持javascript的,但我觉得还不够,还可以更多。
1)配色 vim对javascript的配色其实已经不错了,但是我对于js库大行其道的今天,没有对几个js库配色的支持,怎么对得起vim这个响当当的名字~,所以去www.vim.org上搜了一下,果然让我找到了jQuery的配色支持。 下载地址:http://www.vim.org/scripts/script.php?script_id=2416 把jquery.vim放到vimfiles\syntax目录,然后在vimrc中加入如下代码:
au BufRead,BufNewFile *.js set syntax=jquery
上图~~~ 不加入jQuery配色:
加入jQuery配色:
2)缩进 vim默认的javascript缩进实在不能让我满意,所以之前也用到过一个jsbeautify.vim ...
作者是 Vim.
发布于 in最后更新于 .
公司开发机Linux上的Vim一直不支持多字节支持(:set fenc ,用这个命令就可以知道是否支持),导致在终端下的vim对中文的显示总是有问题(而且对于汉字,要按两次键才能移动过一个汉字)。 所以从新编译了一下,简单把编译的过程写在这里: 从www.vim.org上下载vim-7.2.tar.bz2 执行
tar zxvf vim-7.2.tar.bz2
注:后发现有误,tar zxvf 无法直接解压bz2,不过可以现在windows下用winrar或者7z解压。 进入vim72目录,执行(特别注意:所有的命令的操作用户,请保证是root权限,以免出现目录创建不了的错误)
./configure --prefix=/usr/vim --enable-multibyte --with-features=huge make && make install
对参数简单说明一下:
--enable-multibyte选项使vim可以支持使用多字节编码字符集的文件。 --with-features=huge 最大特性支持
这样vim就安装上啦,如果公司上有多个vim ...
作者是 Vim.
发布于 in最后更新于 .
网上的一张VIM的使用图,觉得不错就贴在这里(并无盗用之意,只是实在不知道出处是哪),看看各位VIMER们能看出他是怎么实现的不?
呵呵,相信Vimer们就心照不宣啦~~我只吐个槽-----那就是,配色是desertEx,嘿嘿
作者是 Vim.
发布于 in最后更新于 .
前几天,依云兄在我博客上推荐了一款插件gui2term.py,用了之后立马叫好,苦于一直没有时间,所以今天特意推荐一下。
这款插件实现了将gvim的配色转化成终端配色的解决方案。下载链接
相信不少朋友和我一样,需要在windows和终端下同时工作,而工具都是vim,所以,保持配色的相同就显得非常重要啦!
我们拿著名的desert配色来测试一下:
1.把desert.vim改成 test.vim,和gui2term.py放到同一目录。打开test.vim,将let g:colors_name="desert" 改为 let g:colors_name="test",并删除掉它的终端配色。
2.将vim根目录下的rgb.txt放到和gui2term.py同一目录。
3.执行./gui2term.py test.vim test2.vim
4.打开test2.vim,将会发现终端配色代码已经生成啦
放最终效果图 windows下gvim:
xshell下vim:
好吧,我甚至觉得xshell下的vim要比windows下的gvim好看…… ...
作者是 Vim.
发布于 in最后更新于 .
新年伊始,首先祝大家新年快乐~~ 今天和朋友看了一下flash对3D的支持,需要用到扩展名为.as的actionscript文件(虽然我暂时确实不知道怎么写它……),于是就尝试着用vim来编辑它。 首先,下载actionscript着色文件:actionscript.vim,放到syntax目录下。然后打开一个.as文件。 结果事与愿违,由于atlas和actionscript都可以用as扩展名,而vim却将.as文件认做是atlas文件,所以着色完全不对。解决方法有三,其中第三种是最好的,但是作为思路,还是3中方案全部记录在这里:
1.修改filetype.vim文件 在vim72目录下有一个filetype.vim文件,找到
Atlas au BufNewFile,BufRead *.atl,*.as setf atlas
修改为
au BufNewFile,BufRead *.atl setf atlas
au BufNewFile,BufRead *.as setf actionscript
这样就可以了。
---------------------------------我是华丽的分割线---------------------------------
在说明后两种方法之前 ...
作者是 Vim.
发布于 in最后更新于 .
最近准备已久的模板载入插件 load_template 终于搞定了,现在正式放出下载大家使用.www.vim.org上已经放出了下载链接,如下: http://www.vim.org/scripts/script.php?script_id=2957 注:不好意思,由于之前我的疏忽,部分在vimrc中的变量没有放到插件中,已经修正,在www.vimer.cn和www.vim.org均可下载 就不多废话了,直接把写的中文介绍文档贴到这里啦
1.简单介绍
该插件主要实现了自动载入各种模板的功能(如类模板,html模板,makefile模板等等),并且支持动态模版的功能,即能够通过脚本动态的实现文件名,类名的替换。(默认已经提供了简单main函数模板、单体类模板、html标准模板、xml标准模板)
2.使用说明
1)下载load_template.vim插件,并放在plugin的目录下 ...
作者是 Vim.
发布于 in最后更新于 .
最近正在忙着做一个新的vim插件,功能可以说是完全为技术用家准备的,当然非技术用户也可以非常好的使用,代码已经写完了,中文介绍文档也已经ok了,剩下的就是老婆大人那边帮忙翻译出英文版的啦~ OK,废话不多好,为了过几天就会端出来的正餐,今天先给大家一些小甜点吧 今天主要是想实现在cpp文件中,自动添加.h文件的引用. 即在一个class1.cpp中,能够自动的添加一行代码
#include "class1.h"
其实这个功能可以说是很简单了,但是习惯偷懒的我,确实忍受不了每次都要去写一遍代码: vim脚本如下(特别说一下,有朋友反映我的vim脚本代码总是不高亮,结果换成高亮的html代码之后,总是保存出现问题,郁闷了,看样子还是继续调整一下):
function InsertIncludeFileI()
let sourcefilename=expand("%:t")
let outfilename=substitute(sourcefilename,'\(\.[^.]*\)$','.h','g')
call setline('.','#include "'.outfilename.'"')
endfunction
imap <c-b><c-h> <ESC>:call InsertIncludeFileI()<CR>
function InsertIncludeFileN()
let ...