Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1188231
  • 博文数量: 12
  • 博客积分: 10050
  • 博客等级: 上将
  • 技术积分: 1661
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-31 11:01
文章分类

全部博文(12)

文章存档

2008年(12)

分类: LINUX

2008-03-21 04:21:59

vim技巧

近来写程序时候发现比较为会常用到的我都我把它记录下来拉

++++++++++++++++++++++++++++++++++++++++++++
一个窗口同时打开多个文件浏览
:vs file

++++++++++++++++++++++++++++++++++++++++++++
上下两行合并
shift+j

++++++++++++++++++++++++++++++++++++++++++++
修改命令操作
c l 更改当前字符
c w 修改到某个单词的结尾位置
c 3 w 修改到第三个单词的结尾位置
c b 修改到某个单词的开始位置
c W 修改到某个以空格作为分隔符的单词的结尾位置
c B 修改到某个以空格作为分隔符的单词的开始位置
c 7 B 修改到前面7个以空格作为分隔符的单词的开始位置
c 0 修改到某行的结尾位置
c) 修改到某个语句的结尾位置
c 4) 修改到第四个语句的结尾位置
c( 修改到某个语句的开始位置
c } 修改到某个段落的结尾位置
c { 修改到某个段落的开始位置
c 7 { 修改到当前段落起始位置之前的第7个段落位置
c tc 修改当前行直到下一个字符c所出现位置之间的内容
C 修改到某一行的结尾
c c 修改当前行
5 c c 修改从当前行所开始的5行内容

++++++++++++++++++++++++++++++++++++++++++++++++
快速定位
H 跳到第一行
M 跳到中间一行
L 跳到最后一行

++++++++++++++++++++++++++++++++++++++++++++++++
行复制

复制
起初行ma 结束行y'a 粘贴行 pp
剪贴
起初行ma 结束行d'a 粘贴行 pp
剪切
shift +v 选定要到行后 ctrl+x 粘贴行pp
shift +v 选定要到行后 ctrl+x直接进入编辑模式修改文件 要粘贴进入命令模式到粘贴行pp

命令模式
:1,10 co 50
光标在1行输入ma在10行输入mb在50行输入mc,然后命令:'a,'b co 'c
剪切则将刚刚到co改为m

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ZQ          相当于:q!,无条件退出
ZZ          相当于:wq,保存退出
:%!nl -ba   全文加上编号,如不加-ba则空行不计算在内。
m[a-z]      做标记[a-z]
'[a-z]      跳到标记[a-z]
Ctrl+} 下一个空行
+++++++++++++++++++++++++++++++++++++++++++++++++++
折叠功能

zf          代码折叠,需要选中
Ctrl+o      还原
还有set tags=./tags,(其它tags),索引的顺序跟这里的先后顺序有关。

如果在Insert模式下想选中一段文本该怎么做呢?都不管用啊,别急,用可进入(Insert)模式,这个时候在用进行块选定。

+++++++++++++++++++++++++++++++++++++++++++++++++++++
如何选中括号中的内容 进行:
将光标移至括号内,按shift+v进入行选模式,然后

i{ - 选小括号中内容,不包括小括号
a{ - 选小括号中内容,包括小括号
ib - 选中括号中内容,不包括括号
ab - 选中括号中内容,包括括号
i{ - 选大括号中内容,不包括大括号
a{ - 选大括号中内容,包括大括号

:h text-objects

下面还有些相关的tips,未全部验证:
vi{ 选中{}中间的内容,不包括{}
va{ 选中{}中间内容,包括{}
vi( 选中()中间内容
vi< 选中<>中间内容
vi[ 选中[]中间内容
vit 选中中间的内容
vi" 选中""中间内容
vi' 选中''中间的内容
vis 选中一个句子
vib 选中一个block
viw选中一个单词
vip 选中一个段落
...
++++++++++++++++++++++++++++++++++++++++++++++++++++
tags 用法
在函数中移动光标
[{ 转到上一个位于第一列的"{"
}] 转到下一个位于第一列的"{"
{ 转到上一个空行
} 转到下一个空行 ([ and ] 也分别是两个指令)
ctrl+t 跳回
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方
Vim 的创造者是一名计算机程序员,因此这就不奇怪 Vim 中有许多帮助编写程序的功能:
跳转到标识符被定义和使用的地方;在另一个窗口中预览有关的声明等等。
阅读(3081) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~