2008-12-29

Vim的一般模式

撤销:
u
上下左右:
hjkl
去到文件尾:
Shift + g
去到行尾:
$
去到行首:
0
整页翻页(f就是forword b就是backward)
ctrl-f ctrl-b
翻半页(d=down u=up)
ctrl-d ctlr-u
滚一行
ctrl-e ctrl-y

当前光标之前插入:
i
当前光标之后插入:
a
块缩进(比如:光标下的12行缩进一次)
12>1
退出命令行模式:
ESC

2008-12-25

Vim的插件

准备工作:
cd ~
mkdir .vim
cd .vim
mkdir doc
mkdir plugin
推荐插件一(taglist):
先在ubuntu的新立得包管理器中搜索ctags,把它装上。它是用来“build tag file indexes of source code definitions”,然后,按照这里提示的进行操作
:TlistOpen 打开标签窗口
:TlistClose 关闭标签窗口
:TlistToggle 切换打开和关闭状态
这里有更详细的文档
推荐插件二(matrix):
这里下载,然后放到plugin目录下,执行 :Matrix 就可以看到黑客帝国主题的屏保了。酷!
作者似乎是华裔。
推荐插件四(Calendar)
http://www.vim.org/scripts/script.php?script_id=52
:Calendar

推荐插件五(Template)

:NewTemplate php

Vim的命令行模式下常用操作

显示行数:
:set nu
去到某行:
:某
搜索:
:/^hello$/
搜索时,不区分大小写
:set ic
也就是
:set ignorecase
强大的g
对指定内容执行编辑器命令,比如:删除所有空白行用 :g/^$/d。这样,结合正则表达式,就很方便对文档进行许多自动化的操作。这里有更详细的描述
:g/^$/d
加密
:X
替换功能
去掉所有的行尾空格:
:%s/\s\+$//g
去掉所有行首空格:
:%s/^\s\+//g
去掉所有的空白行:
:%s/\(\s*\n\)\+/\r/
去掉所有的“//”注释:
:%s!\s*//.*!!
去掉所有的“/* */”注释:
:%s!\s*/\*\_.\{-}\*/\s*! !g
将多个空格替换为单个tab键
:%s/\s\+/\t/g
对多行进行单行注释:
: 30,45 s/^/#/
取消对多行进行单行注释:
: 30,45 s/^#//
隐藏菜单栏和工具栏:
:set go=
设置一个养眼的配色方案:
:colorscheme torte

Vim的配置

sudo vim /etc/vim/vimrc

"注释用双引号

"显示行号
set nu

"将tab键自动转换成4个空格
set tabstop=4
set shiftwidth=4
set expandtab

"不生成备份文件
set nobackup

"设置语法高亮
set syn="python"

"不产生临时文件
setlocal noswapfile

"设置自己喜欢的颜色
color torte


p.s.
编码问题
可以在vimrc中默认设为GBK,读取UTF8编码的文件时临时再该回来,最好是习惯用UTF8,这样可以免去很多麻烦。
set encoding=cp936
set termencoding=cp936
set fileencoding=cp936

这里有个讨论。

取消自动缩进:
rename * *.bak
都改掉名字就ok了。
目录:C:\Program Files\Vim\vim72\indent
这里有篇介绍。