Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3409909
  • 博文数量: 534
  • 博客积分: 11595
  • 博客等级: 上将
  • 技术积分: 5785
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-22 17:00
文章分类

全部博文(534)

文章存档

2015年(4)

2014年(27)

2013年(15)

2012年(38)

2011年(36)

2010年(85)

2009年(63)

2008年(142)

2007年(124)

分类: LINUX

2007-08-01 09:46:51

设置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    向下切换一个窗口,如果是在顶部,则进行回环,如果指蝗了数字,则切换到        数字所指定的窗口
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nick0411/archive/2008/08/21/2807438.aspx
 
######################
 
使用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"文件。
在函数中移动光标
[{ 转到上一个位于第一列的"{"
}] 转到下一个位于第一列的"{"
{ 转到上一个空行
} 转到下一个空行 ([ and ] 也分别是两个指令)
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方
Vim 的创造者是一名计算机程序员,因此这就不奇怪 Vim 中有许多帮助编写程序的功能:
跳转到标识符被定义和使用的地方;在另一个窗口中预览有关的声明等等。
(ctags使用部分参考了 文章“ctags和vim”,原文在
http://hi.baidu.com/original/blog/item/2cf8d53f00b7fcc27d1e71f0.html
更多使用也请参考原文)

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          跳到屏幕尾
#####################
 
阅读(3081) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~