不小心发现了这么张图片,如果vim是微软设计的,还真的影射了微软的软件习惯呢,呵呵,发现大家都喜欢整点黑色幽默啊~~
呵呵,如果没有看懂的话,就注意那个回形针说的话哦~ 版权所有,转载请注明出处。 https://www.vimer.cn
作者是 Vim.
发布于 in最后更新于 .
不小心发现了这么张图片,如果vim是微软设计的,还真的影射了微软的软件习惯呢,呵呵,发现大家都喜欢整点黑色幽默啊~~
呵呵,如果没有看懂的话,就注意那个回形针说的话哦~ 版权所有,转载请注明出处。 https://www.vimer.cn
作者是 Vim.
发布于 in最后更新于 .
gvimfullscreen.dll
if has('gui_running') && has("win32")
map <F11> :call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>
endif
如果你想在插入模式也可以按下F11全屏的话,那么可以再加上这样一行
imap <F11> :call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>
OK啦,现在就可以再全屏模式下编辑VIM而不会受到各种东西的打扰啦,哈哈。
au GUIEnter * simalt ~x
如果要窗口大小恢复:
simalt ~r
要查看支持的命令菜单:
simalt ~
作者是 Vim.
发布于 in最后更新于 .
这里简单的给大家介绍一下Vim的查找替换,众所周知,Vim对正则表达式的支持是非常好的,对于程序员来说在分析大量数据的时候,用到Vim的这个功能无疑是件利器。
首先大家要明白vim正则里面的几个特殊含义:
^ 代表行首
$ 代表行尾
\d 代表数字
\D 代表非数字
[x,y,z]:代表各种条件选择
好的,那我们就出几个常用的题目做一下来试一下吧:
1.将以数字开头的行删除
%s/^\d.*$//igc :把这行置成空
%s/^\d.*$\n//igc :把这行直接删掉,包括换行符一起删掉,(注意是\n,而不是\r\n,因为这是针对linux平台,)下一行会到这一行的位置
2.将数字3或者4或者A开头的行删除
%s/^[3,4,A].*$//igc :把这行设置成空
3.
1 IP 202.114.1.1.23444
2 IP ...
作者是 Vim.
发布于 in最后更新于 .
OK,上一篇文章,我们已经配置好了一个可以正常使用的VIM,那么在我们真正来到程序员的VIM世界之前,希望你能在VIM里面再多加下面几个配置。
set go= "无菜单、工具栏
对,让我真正抛弃鼠标,进入美妙的VIM之旅吧!
首先说说一个IDE应该有的几个功能:
1)源代码结构及函数列表
2)变量定义支持跳转等
3)代码自动补全 当然VIM还给了我们几个小惊喜:
4)快速批量注释与反注释
5)由注释直接生成文档
6)文件头作者信息自动添加
7).cpp和.h文件之间的快速切换
那么接下来,我们久来看看我们将会用到的插件列表。
首先介绍一下一些必备知识,我们需要下面两样东西,来辅助完成vim成为IDE的大业--ctags和cscope,这两样东西不是vim的插件而是可执行程序,linux和windows下都有。ctags主要实现了c、c++、java、c#等语言的智能分析,并声称tags文件,后面所有的包括函数列表显示,变量定义跳转,自动补全等,都要依赖于他。
有了tags文件后,只需要在变量上按下 CTRL + ]键,就可以自动跳到变量定义的位置。
而cscope据说诞生就是为了来替代ctags的,因为他有着比ctags更加强大的功能,举个例子,ctags只能分析出这个函数在哪里被定义 ...
作者是 Vim.
发布于 in最后更新于 .
几天前第一次读到《别碰我,VIM》这篇文章的时候,就已经觉得不可理喻,谁知后来竟然还来了个续,实在是无法理解文章的作者无知无畏到什么时候,难不成以后还要出个续续?
行,套用作者的话,追求高效的我,不习惯体积庞大的到几G的vs,不习惯升个级都要1个小时的vs,甚至升级时的临时空间比安装空间还要大,不习惯没法自己定制,不习惯看不到文件的编译顺序,不习惯被vs的作者牵着鼻子走。
By the way,我这篇文章就是在用vim写,对,我还开了自动缩进,很爽。
好吧,上面的纯属个人发泄,撇开谁钟情什么不谈,就像我喜欢我老婆,你总不能逼我去喜欢张曼玉吧?也撇开那些什么开源模式之类不谈,好吧,作者在续中说了,VIM只是个引子,对没错,但是这个引子被描述错了,所以整个结论就没办法成立。
我首先想问一下,作者做过什么样的开发,windows,linux?你如果说你只做过微软那套SDK,那么咱也别说了,说了也没意思,因为你又都不懂;但如果说你做过linux开发,那该我不懂了,难道你都是把linux的文件down到本地,用vs编辑完了在上传上去?好吧,如果真的这样,那我对作者的耐心钦佩有加,但是同时也和作者一个观点自相冲突,你不说vs高效吗,但貌似不是这样哦 ...
作者是 Vim.
发布于 in最后更新于 .
其实VIM自己定义了一些操作快捷键来实现各种语言的方便编写,只是之前居然一直都没有发现,写在这里也帮大家参考一下~~
ci[ 删除一对 [] 中的所有字符并进入插入模式 ci( 删除一对 () 中的所有字符并进入插入模式 ci< 删除一对 <> 中的所有字符并进入插入模式 ci{ 删除一对 {} 中的所有字符并进入插入模式 cit 删除一对 HTML/XML 的标签内部的所有字符并进入插入模式 ci" ci' ci` 删除一对引号字符 (" 或 ' 或 `) 中所有字符并进入插入模式
使用了之后,用vim写c/c++/php/html高了很多。进一步演化,还能有些实用的组合:
vi[ 选择一对 [] 中的所有字符 vi( 选择一对 () 中的所有字符 vi< 选择一对 <> 中的所有字符 vi{ 选择一对 {} 中的所有字符 vit 选择一对 HTML/XML 的标签内部的所有字符 ...
作者是 Vim.
发布于 in最后更新于 .
这里所说的IDE主要是指C/C++开发,但是由于笔者之前也搞java和c#开发,所以对这两种语言也会有所兼顾。
这个话题可能要分好几篇文章来写了,今天主要讲一下最简单的,包括vimrc里面的基本配置,让vim能够完美支持各种源码文件;
vimrc配置如下(为简单起见,采取注释的方式直接说明):
if(has("win32") || has("win95") || has("win64") || has("win16")) "判定当前操作系统类型
let g:iswindows=1
else
let g:iswindows=0
endif
set nocompatible "不要vim模仿vi模式,建议设置,否则会有很多不兼容的问题
syntax on"打开高亮
if has("autocmd")
filetype plugin indent on "根据文件进行缩进
augroup vimrcEx
au!
autocmd FileType text ...
作者是 Vim.
发布于 in最后更新于 .
虽然VIM自7.0之后对双字节的编码已经支持的很不错了,但是,还是需要一些配置才能完全实现的哦。 要解决的问题: 1.识别双字节编码格式 需要先了解的知识: vim中的内置变量: enc(encoding):vim的内部编码 fenc(fileencoding):vim解析出来的当前文件编码(有可能解析成错的哦) fencs(fileencodings):vim解析文件时猜测的编码格式顺序列表 需要的配置: 1.vimrc中的代码如下:
set encoding=utf-8
set fenc=cp936
set fileencodings=cp936,ucs-bom,utf-8
if(g:iswindows==1)
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
language messages zh_CN.utf-8
endif
if v:lang =~? '^\(zh\)\|\(ja ...
作者是 Vim.
发布于 in最后更新于 .
前言: 用vim也有几年了,从windows开发到Linux,从在校大学生到在职员工,始终想为这个过程记录点什么,为一直陪伴自己的vim,也为自己。
之前在百度贴吧混迹过,结果发的代码全被判定为非法字符,于是打消了在百度发展的计划,而只在上面留了一个QQ号码,结果问问题的人却络绎不绝,我想也许,是该开个博客,不敢说教授,就是分享一下自己的经验吧,希望对感兴趣的各位有所帮助。
这是这个博客的第一篇日志,所以就写个Vimer们经常会遇到的一个需求吧----一键编译单个源文件。ps:本站所有文章都是直接通过vim编写的哦。
具体功能如下:
1.按F5编译单个文件,支持C,C++,C#,也可以支持java。
2.获取编译器错误描述,在错误描述上回车,可以直接跳转到错误行。
先贴上代码,可以看出,我把C#相关的注释掉了,实际上C#也是支持的,只是后来由于不再做C#相关开发,有需要的朋友可以去掉注释,还是可以编译C#的。
"单个文件编译
map <F5> :call Do_OneFileMake()<CR>
function Do_OneFileMake()
if expand("%:p:h ...