设置gvim字体
如果你不知道可用的字体名字,使用下面的命令可以得到一个字体名字的列表:
:set guifont=*
如果需要想对特定的文件类型使用特定的字体,则可以将下面的语句加入到vimrc文件中去:
autocmd BufEnter *. txt set guifont = Arial \ 12
这样,在下次打开.txt文件的时候,就会设置字体Arial 12字体
将空格替换为回车
:%s/ /\r/g 才能替换会换行,如果用 :%s/ /\n/g 得到的就是蓝色的^@
生成连续的数字或行号
第一种:直接生成
let i=1|g/^/s//\=i/|let i=i+1
第二种.用Vim的查找替换,说白了,比如说要生成1到100,那么就讲100个1顺序替换,每次替换自加就可以了。方法如下:
1)在Vim中键入1.
2)在1所在行,yy,100p。
3)进入命令行模式,输入如下命令:
let i=1 | g/1/s//\=i/| l et i=i+1
其实命令比较简单,简单解释一下:
1/ 代表查找1
s/ 代表替换后的新字符就在这个位置
/ 就代表后面跟的是新的字符内容
\=i \=是把后面的字符串当成表达式来对待,在这里就是i的值
| (逻辑或的符号)用以连接三个语句
删除空行 :%s/^\n//g 或 :g/^$/d
Vim 删除不包含指定字符串的行:
:g/pattern/d 是找到pattern, 删之
:v/pattern/d 是找到非pattern,删之
gvim注释用单个双引号:"
eg: " aaaaaaaaaaaaaaaaaa
gvim不产生临时文件
vimrc加入
set nobackup
set nowritebackup
set noswapfile
###################
Taglist提供了相当多的功能,我的vimrc中这样配置:
"""""""""""""""""""""""""""""" " Tag list (ctags) """"""""""""""""""""""""""""""
if MySys() == "windows" "设定windows系统中ctags程序的位置
let Tlist_Ctags_Cmd = 'ctags'
elseif MySys() == "linux" "设定linux系统中ctags程序的位置
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
endif
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的 let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口
在taglist窗口中,可以使用下面的快捷键:
跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
o 在一个新打开的窗口中显示光标下tag
显示光标下tag的原型定义
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出现顺序排序间切换
x taglist窗口放大和缩小,方便查看较长的tag
+ 打开一个折叠,同zo
- 将tag折叠起来,同zc
* 打开所有的折叠,同zR
= 将所有tag折叠起来,同zM
[[ 跳到前一个文件
]] 跳到后一个文件
q 关闭taglist窗口
显示帮助
#####################
CTRL-Wx 切换当前窗口与下一个窗口进行位置的对换
CTRL-Wr 使得窗口向下进行循环移动
CTRL-Wt 切换到顶部的窗口
CTRL-Wb 切换到底部的窗口
CTRL-Wp 切换到我们进行切换操作以前我们所在的窗口
countCTRL-Ww 向下切换一个窗口.如果是在底部,则进行回环.如果指明了数字,则切换到 数字所指定的窗口.
countCTRL-WW 向下切换一个窗口,如果是在顶部,则进行回环,如果指蝗了数字,则切换到 数字所指定的窗口
######################
使用VIM的列编辑模式,使用的GVIM7.2 FOR WINDOWS
1.在命令模式使用下面的快捷键:CTRL+q,小写的q就可以了
2.然后使用HJKL四个键来移动和选中相关的行和列,你发现你可以选中一个区块了,千万不能用鼠标。
3.如果想在区块的左侧增加一列文本,选中区块后,按大写的I,然后光标自动到区块左上角的位置,你可以输入内容了,你可能以为怎么不是每列都插入啊?别急啊,输完内容后按ESC键,奇迹发生了,每行都增加了同样的内容。
4.如果想删除一个区块,更容易,选中后按d键
5.拷贝一个区块,用y键.
6.粘贴一个区块,用p键.
注: 在linux里用ctrl-v,windows下用ctrl-q可能被重新映射了.
#####################
在windows下安装:
1. 先在上下载 taglist_45.zip,解压后有两个文件doc和plugin。把这个两个文件,拷到vim的安装目录的doc和plugin即可。
2. 打开vim
:helptags $(home)/doc
:help taglist
这时就可以看taglist的帮助内容了。
3. 下载Exuberant Ctags
下载一个支持windows的版本的,只要拷贝出ctags.exe这个文件就可以,把它放在$(home)\vim71下(也就是在vim的安装目录下找到.exe这样的文件所在的文件目录下)
特别重要的地方:
编辑_vimrc,在里面加入以下两句:
set tags=tags;
set autochdir
注意第一个命令里的分号是必不可少的。这个命令让vim首先在当前目录里寻找tags文件,如果没有找到tags文件,或者没有找到对应的目标,就到父目录中查找,一直向上递归。因为tags文件中记录的路径总是相对于tags文件所在的路径,所以要使用第二个设置项来改变vim的当前目录。
如果不加入这两个语句,那么有的宏定义,还有一些就找不到了。
4. 同时按下win + R , 键入cmd,打开dos窗口,在所要看的源代码根目录下运行:
ctags -R
如果不能运行,可能是ctags.exe的路径没有设置。
在这个目录下会生成一个tags文件。可以看看里面的内容。
5. 打开源文件,键入
:Tlist (再次键入时,关闭)
这时可以看到两个窗口(要改变窗口的位置,可以修改taglist.vim或是在_vimrc中修改)
最常用的几个命令:
:Tlist
ctr + ]
ctr + o
ctr + W W
ctags跟踪到宏定义
ctags --c-kinds=+defgmnstuvx-pc --langmap=c:.c.h.ho.hem.het.hec.hev.him.hit.hic.hiv -R .
-pc(是除去prototypes和classes,因为不需要跟踪这两个)
后面那一大堆hxx,是我发现实际上ctags的参数是不认通配符的,所以只能把每一种头文件后缀都加上
###########################
在linux下安装
For using taglist plugin,you must install ctags plugin first.
1.ctags
(1)到下载ctags源码ctags-5.6.tar.gz
windows user need to set a variable in "_vimrc" file lied in you $vim home directory.
let Tlist_Ctags_Cmd='c:\xxx\Ctags56'
linux user can use configure && make && make install to install it.
(2)使用
[/home/brimmer/src]$ ctags -R
"-R"表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。"tags"文件中包括这些对象的列表:
l 用#define定义的宏
l 枚举型变量的值
l 函数的定义、原型和声明
l 名字空间(namespace)
l 类型定义(typedefs)
l 变量(包括定义和声明)
l 类(class)、结构(struct)、枚举类型(enum)和联合(union)
l 类、结构和联合中成员变量或函数
VIM用这个"tags"文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法:
1) 用命令行。在运行vim的时候加上"-t"参数,例如:
[/home/brimmer/src]$ vim -t foo_bar
这个命令将打开定义"foo_bar"(变量或函数或其它)的文件,并把光标定位到这一行。
2) 在vim编辑器内用":ta"命令,例如:
:ta foo_bar
3) 最方便的方法是把光标移到变量名或函数名上,然后按下"Ctrl-]"。用"Ctrl-o"退回原来的地方。
注意:运行vim的时候,必须在"tags"文件所在的目录下运行。否则,运行vim的时候还要用":set tags="命令设定"tags"文件的路径,这样vim才能找到"tags"文件。
2. taglist
能够列出源文件中的tag(function, class, variable, etc)并跳转.
注意:taglist依赖于ctags,所以要先装ctags,否则taglist装了也没法用!
(1)到
下载taglist_42.zip,即
(2)解压得到两个文件
# unzip -d taglist taglist_42.zip
# cd taglist
# tree
.
|-- doc
| `-- taglist.txt
`-- plugin
`-- taglist.vim
(3)安装
cp doc/taglist.txt /usr/share/vim/vim61/doc/
cp plugin/taglist.vim /usr/share/vim/vim61/plugin/
(4)配置和使用
cd /usr/share/vim/vim61/doc/
启动vim,用 “:helptags .”来配置好帮助文件
重启vim,用“:TlistToggle”来打开和关闭taglist窗口。
可以用“:help taglist”来获得更多帮助信
###########################
tag_scripts
#!/bin/bash
# build_tag.sh
tag_file=$(pwd)/tags
for file in $(find $(pwd) -name "*.[ch]" -print -o -name "*.def" -print) ; do
ctags -a -f ${tag_file} ${file}
done
#####################
set用法
:set nu 设置行号
:set nonu 取消行号
:set syntax=on (off) 设置颜色
:set ts=4 设置TabStop的长度(空格数量)
:set wrap=on 是否换行
:set co=80 设置显示的列数
多窗口
:{height} new [file] 上下分割窗口(宽屏), 从上面冒出
:{column} vnew [file] 左右分割窗口(窄屏), 从左面冒出
ctrl+ww 窗口间切换
位置标定
mx 标记一个位置
`x 跳回这个位置
'x 跳回这个位置所在行的第一个非空字符前
H 跳到屏幕头
L 跳到屏幕尾
#####################