Vim

Vim的十六进制编辑

目前正在玩《植物大战僵尸》这款游戏,画面精美,音效出众,操作简单。推荐大家都去玩玩,是个很好的 Time Killer。网上有汉化的,有需要的可以自己去 Google或是联系我。 广告暂时做到这里,在玩游戏的时候,发现钱不够,但是打钱是件漫长的事情,商店里又有那么多诱人的道具,当然得想办法去用一用那些道具。以正常人的思维思考一秒种后,决定修改存档来增加钱数。 当然,要修改存档当然需要十六进制编辑器,第一反应想到的就是 UltraEdit,去网上一找,10多M,还不是免费的,当然不爽。突然看到桌面上的 Gvim,于是乎网上一搜,发现 GVim可以支持十六进制的编辑,这么好的东西,当然得用了,还省得自己去下载 UltraEdit,也不用盗版(咳咳,什么时候变得这么正经了)。 用 GVim打开存档后,在命令模式中输入 :%!xxd 就可以进入十六进制编辑状态,修改后,需要退到正常,如果不退到正常状态直接保存,什么结果大家可以自己试试 退出在命令模式输入如下命令就可以了 :%!xxd -r 然后保存文档即可。 如果想看进多关于 VIM十六进制编辑,可以在命令模式输入 :help hex 有完整的帮助文档。 回到开头,如果真有朋友想知道改哪儿才能修改钱数,嘿嘿,自己找吧。这个秘密一般人我不告诉他。

接上一篇

好东西拿出来分享

最近在看 Learning the Vi editor 6th,看到好的东西,陆续拿出来大家分享 如果英文不好的同学,推荐有道桌面词典

VIM+Cscope/Ctags

Cscope和Ctags其实都是给源码加上标记,方便浏览源码的工具。 VIM默认支持Ctags,对于Cscope,可以通过vim --version | grep cscope,看看vim是否支持cscope。如果不支持需要重新安装vim,最简单的是在./configure 后加上-enable-cscope,当然可以在Makefile文件(./src/Makefile)中修改(把原来的注释去掉),CONF_OPT_CSCOPE = --enable-cscope,然后 make && make install 编译安装。经本人测试,Ubuntu 8.10源中带的VIM已经支持Cscope。 安装ctags和cscope sudo apt-get install ctags cscope 进入源码目录,运行 find . -name "*.h" -o -name "*.c" -o -name "*.cc" > cscope.files cscope -Rbkq -i cscope.files ctags -R 前面两句是生成指定后缀名的文件目录,然后cscope去访问这些文件,如果直接用cscope -Rbkq,则只会访问.c、.h、.l、.y的文件。这样就会生成 cscope.out,cscope.in.out,cscope.po.out三个文件。 上面所用到的命令参数,含义如下: -R: 在生成索引文件时,搜索子目录树中的代码 -b: 只生成索引文件,不进入cscope的界面 -q: 生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度 -k: 在生成索引文件时,不搜索/usr/include目录 -i: 如果保存文件列表的文件名不是cscope.files时,需要加此选项告诉cscope到哪儿去找源文件列表。可以使用“-”,表示由标准输入获得文件列表。 -I [...]

VIM进阶命令

1、文本编辑和操作命令 编辑行为 命令 在当前位置插入文本 在行首插入文本 i I 在当前位置追加文本 在行尾追加文本 a A 在光标所在行的下面新建一行 在光标所在行的上面新建一行 o O 删除行并替换文本 S 使用新文本覆盖现有文本 R 合并当前行和下一行 J 转换大小写 ~ 重复上次操作 . 取消上次操作 u 恢复行到初始状态 U                       2、编辑命令 文本目标 修改 删除 复制 1个单词 cw dw yw 2个单词 2cw或者c2w 2dw或者d2w 2yw或者y2w 向后3个单词 3cb或者c3b [...]

VIM剪切板

在VIM中,剪切板一直是比较弄不清的东西,原因很简单,VIM中有自己的剪切板,和系统的剪切板是两个独立的系统,所以一直困扰初学者。 我想大家都知道在VIM中,粘贴是用 p,但是p只是粘贴VIM本身的剪切板里的内容,如何粘贴系统的内容,其实只要shift+insert键就可以了,同时,鼠标中键也起到了相同的作用。没有鼠标中键?用力按下滚轮就是了。 在命令模式输入 :reg,可以查看当前剪切板的内容,会发现VIM其实有许多的剪切板(在VIM中应该叫寄存器),"符号后面跟个数字的是VIM的剪切板的内容,"后面跟个+号的是系统剪切板的内容。所以,如果想要粘贴系统剪切板的内容,只要在非编辑模式下按"+p三个键就可以了。(友情提示,前两个符号,是要按shift的)。要把内容复制到系统剪切板上,只要选中要复制的文字后,按"+y三个键就OK了。 PS:最近写程序都是在VIM(GVIM)下写,连windows也是,刚在windows下用了一下系统自带的记事本,编辑好内容后,想也没想就按了shift+z+z,呆了一秒钟,然后把最后面的”ZZ“删了,很不习惯的按下Ctrl+S,然后把手放到鼠标上,点了X,才把记事本关了。 PS2:昨天试用了一个Emacs,一款同样是很有名的编辑器,和VIM不同的是,Emacs是无模式的编辑器,所以的操作都要按Ctrl或是Alt加快捷键来完成,有时候还要按若干个快捷键才能把任务完成,用起来感觉不是很习惯,毕竟从一开始用Linux到现在,足足有3年多了,就一直是用VIM作为首选编辑器。在这里本人不想来说VIM好还是Emacs好,这种文章有兴趣的朋友可以去Google一下,一搜一大把。

在GVim中实现C++提示

喜欢在VC下写C++,因为按下"."后,会自动提示类里面的成员变量或成员函数,其实VIM也可以做到 下载omnicppcomplete插件:http://www.vim.org/scripts/script.php?script_id=1520,解压到~/.vim文件夹 安装ctags,sudo apt-get intall ctags shell下执行如下命令: ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . 这样便生成了tags文件,自动补全其实是以tags文件为基础 也可以生成系统的tags文件 ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/tags/systags /usr/include /usr/local/include 对于STL的tags文件,从http://www.sgi.com/tech/stl/download.html下载STL的头文件,解压后,进入STL目录,替换__STL_BEGIN_NAMESPACE 为"namespace std {" , __STL_END_NAMESPACE 为 "}",可以用如下命令 sed -in-place -e 's/__STL_BEGIN_NAMESPACE/namespace std {/g' * sed -in-place -e 's/__STL_END_NAMESPACE/}/g' * 然后再执行ctags,生成tags文件 在vimrc末尾加入如下命令: let OmniCpp_GlobalScopeSearch = 1 " 0 or 1 let [...]

在GVim中使用Consolas字体

找到一个比较好的等宽字体,在vs2005中广泛使用,版权问题心照不宣 顺便测试一下新的相册,使用的是yupoo,以后把图片都上传到yupoo去了

VIM的技巧

许多朋友抱怨Linux下没有好的IDE(集成开发环境),其实自带的VIM就是很好的一个开发工具,如果加以设置,可以更好的上手。本人比较喜欢用GVim,是VIM的GUI版本 sudo apt-get install vim-gnome 首先设置一下VIM,建议在自己的主目录下建一个.vimrc,不要去更改全局的vimrc,比如我的配置文件: syntax on set nu set cindent set mouse=a 接下来安装一些插件,让VIM更好用,所有插件可以从www.vim.org下载最新版,下载下来后解压到~/.vim下。比如,本人用了如下插件 bufexplorer.vim 使用这个插件,你可以快速在buffers之间进行切换。使用"\be"找开bufexplorer,或者使用"\bv"在一个单独的垂直分割窗口中打开bufexplorer。 当然了,如果你愿意,这些命令组合你是可以改变的。 taglists.vim Tag list插件是一个源代码浏览插件,方便查看源代码文件结构。 生成函数列表,支持跳转,可以根据光标位置查询到当前的函数名,使用taglists插件需要ctags的支持。 sudo apt-get install exuberant-ctags winmanager.vim winmanager使vim看起来更像一个典型的windows的IDE。winmanager把file explorer和buffer explorer以及taglists插件结合了起来,使vim变得更加方便,强大。 OK,当你安装好winmanager以后,按照如下配置文件: "设置taglists插件快捷键 nnoremap <silent> <F9> :TlistToggle<CR> let Tlist_Use_SingleClick=1 let Tlist_File_Fold_Auto_Close=1 """""""""""""""""""""""""""""" " winManager setting """""""""""""""""""""""""""""" let g:winManagerWindowLayout = "BufExplorer,FileExplorer|TagList" let g:winManagerWidth = 30 let g:defaultExplorer [...]