Chinaunix首页 | 论坛 | 博客
  • 博客访问: 413993
  • 博文数量: 78
  • 博客积分: 1527
  • 博客等级: 上尉
  • 技术积分: 830
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-27 20:57
文章分类

全部博文(78)

文章存档

2011年(1)

2008年(12)

2007年(53)

2006年(12)

我的朋友

分类: LINUX

2006-12-09 11:14:54

vim使用手记

                                      

vim:
下载vim 7 :
tar jxvf vim-7.0.tar.bz2

设置vim别名,方便输入
vi ~/.bashrc
alias vi='vim'

键盘动作:

翻页 CTRL-F/-B 上翻/下翻
查找 / , N 上一处,n 下一处
     ?.向前搜索 /.向后搜索
替换 :%s/x/y/g 全局替换 x为y
删除 d删除,D删除至行末
移动光标:zt移动光标到屏幕顶端 zb底端,zz中间
H屏幕顶行,L屏幕底行
复制,粘贴 Y拷贝行 ,p粘贴

/etc/vimrc全局设置

vi ~/.vimrc  #用户设置
1 " ==============================================
2 " General settings
3 " ==============================================
4
5 set nocp
6 set ru
7 " 使用cindent
8 set cin
9 set cino = :0g0t0(sus
10
11 set sm
12 set ai
13 " 缩近
14 set sw=4
15 set ts=4
16 " 不展开tab为空格,反之set et
17 set noet
18
19 set lbr
20 set hls
21 set backspace = indent , eol , start
22 set whichwrap = b , s , < , > , [ , ]
23 set fo+ = mB
24 set selectmode =
25 set mousemodel = popup
26 set keymodel =
27 set selection = inclusive
28 set matchpairs+ =
29
30 " ==============================================
31 " Cursor movement
32 " ==============================================
33 nnoremap gj
34 nnoremap gk
35 vnoremap gj
36 vnoremap gk
37 inoremap gj
38 inoremap gk
39
40 nnoremap g$
41 nnoremap g0
42 vnoremap g$
43 vnoremap g0
44 inoremap g$
45 inoremap g0
46
47 nmap :confirm bd
48 vmap :confirm bd
49 omap :confirm bd
50 map! :confirm bd
51
52 " 打开语法高亮
53 syntax on
54 " 使用语法进行折叠
55 set foldmethod=syntax
56
57 if (has( " gui_running " ))
58 set nowrap
59 set guioptions+=b
60 colo inkpot
61 else
62 set wrap
63 colo ron
64 endif
65
66 " 设置swap文件的目录
67 set dir =/tmp/vim
68 " 设置备份文件的目录
69 set backupdir=/tmp/vim/bak
70
71 " 设置leader的快捷键,原来的“\”太远了,而且位置还不固定
72 let mapleader = " , "
这里是一些基本设置
如果有什么不太清楚的,可以在Vim里normal模式下
:h 关键字
查看帮助
set nocompatible #不和vi兼容
set bs=2
set columns=80 屏幕行数
set background=dark
set tabstop=8  #tab键跳过的空格数

set wrapmargin=8
set nobk #关闭文件备份的功能
syntax on #开启结构强调

set ruler  #使得vim在右下角显示当前行列数
set noexpandtab #使vim在tab处,插入tab符而不是一串

set number #行首前显示行号
set ai #自动缩进

:help获取帮助

vim的自动补全功能
一般使用Ctrl+n就可以自动补全了,从Vim7后,C/C++的函数、变量或者是类的成员,使用Ctrl+x,

Ctrl+o也可以自动补全。在安装了cppomnicomplete后,对象的成员也可以用Ctrl+x,Ctrl+o来补全

 代码折叠
许多editor都支持代码折叠,Vim也不例外
常用的快捷键
zc 折叠代码
zo 打开折叠的代码
还有其他的快捷键可以查看帮助
:h fold

自动格式化代码
在Visual模式下,选中代码按=就可以了
Normal模式下,按=会格式化所在行


高亮显示
:set hlsearch

或是在~/.vimrc李加上一行:
代码:
set hlsearch
如果不想要高亮了,就set nohlsearch
改成带颜色的
syntax on/syntax off
用法和上面那个一样。注意,确定用的是vim

用vjde作为java的代码提示插件
处依然以 vjde做为代码提示插件.另外,对c语言本身由vim支持已经不错.

请参考 1.如何使用vim 做为Java编辑器(linux版)(安装篇)

在安装后,执行
chmod +x /usr/local/share/vim/vimfiles/plugin/vjde/readtags

本执行文件用于读取ctags生成的文件,无其它任何恶意代码

可以设置 g:vjde_completion_key作为代码补全
本例中以为补全的键
然后,编译tags文件,使用如下指令,对c++
ctags --C++-kinds=+p -R .

然后,使用set tags设置好你的tags,

在 能使用的条件下,对以下示例:
string str;
str.s
则会提示出string 类的以s打头的
size()
substr()
会被提示出来.

目前,已经使用stl,boost,ice,pqxx作为目标进行测试.基本能满足一般要求


参考:


键盘图:
更高级的
http://blogs.xmu.edu.cn/wayne/archives/000154.html

阅读(1711) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~