lytsing.org logo GNU - gnu - vim

一个人对Linux的熟悉程度,看他对vi的操作就知道了。

安装vim

ubuntu 8.04

sudo apt-get install vim-full
sudo apt-get isntall ctags vim-doc vim-scripts cscope vim-doc vim-gnome

fedora 12

yum install vim

C/C++

Accelerated editing your code!

配置 ~/.vimrc

首先,生成 ~/.vimrc 文件,这个是vim的配置文件,Linux发型版本一般都带有example_vimrc这个文件,

Fedora 12:

$ cp /usr/share/vim/vim72/example_vimrc ~/.vimrc
Ubuntu 8.04:
cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc
cp /usr/share/vim/vim70/gvimrc_example.vim ~/.gvimrc

然后主要就是修改配置文件 ~/.vimrc

“主题,我喜欢这个,一般要设终端是白字黑背景色.
colo desert

” 对齐与缩进
set cindent
set smartindent
set shiftwidth=4
set ts=4

” for cpp class, switch
set cino=:0g0t0(sus

” 设置行号
set nu

C/C++ 插件,这些插件都可以在vim官方网www.vim.org下载得到.

c-surpport 写c/c++必备

下载地址: http://www.vim.org/scripts/script.php?script_id=213, 下载cvim.zip完成后,放在~/.vim目录下,unzip解压即可。

” 设置leader的快捷键,原来的“\”太远了,而且位置还不固定
” leader key for c.vim
let g:C_MapLeader  = ‘,’

默认的文件模板不太符合我的要求,不美观,

cd ~/.vim/c-support/templates

编辑 c.comments.template,还有 Templates这个文件,定义很多宏,主要是作者,邮件,版权等等。

code_complete

code_complete很不错,和SuperTab冲突 code_complete 的 tab 键可以改成其他键的,比如我就改为了Ctrl+j,和 latexSuite 一样。编辑 ~/.vim/plugin/code_complete.vim

" options, define them as you like in vimrc:
if !exists("g:completekey")
     let g:completekey = "<C-j>"   "hotkey
 endif

C++ STL 自动补充

要安装omnicomplete插件

cpptags stltags 可以在这里下载

修改 ~/.vimrc

au Filetype cpp set tags+=~/.vim/cpptags
au Filetype cpp set tags+=~/.vim/stltags

iautoscroll.vim

可以在鱼一尾的博文 让vim像emacs那样在输入的时候自动卷屏(autoscroll) 找到下载。

如何把一个文件夹下的所有.cc,.hpp的一个变量改为别的?

args *.hpp *.cc
argdo %s/old_var/new_var/g | update
argdo %s/\<old_var\>/new_var/g | update

Specially thinks frognix@smth

Doc:

http://www.tldp.org/HOWTO/C-editing-with-VIM-HOWTO/

ruby/Rails

snipMate

在 Vim 上使用像是 Textmate 的功能,看过Rails的demo,你一定会对那个编辑器 Textmate 很感兴趣,没错,vim上也能实现。之前我用过snippetsemu,这个插件也不错,只是写代码的时候,用tab对齐,不能正确的输入,每次都要先输入一个空格,才能按tab,于是放弃使用supertab与snippetsemu

php

json

http://www.vim.org/scripts/script.php?script_id=1945

install details

json.vim go in '.vim/syntax', not '.vim/ftplugin'. I

To your filetype.vim just add something like:

au! BufRead,BufNewFile *.json setfiletype json