Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1763723
  • 博文数量: 306
  • 博客积分: 3133
  • 博客等级: 中校
  • 技术积分: 3932
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-19 16:50
文章分类

全部博文(306)

文章存档

2018年(7)

2017年(18)

2016年(39)

2015年(35)

2014年(52)

2013年(39)

2012年(22)

2011年(29)

2010年(53)

2009年(12)

分类: LINUX

2009-07-24 17:41:32

跳转到函数、变量定义处:
[+ctrl+i 跳转到函数、变量和#define
[+ctrl+d 跳转到#define处
ctrl+i 向前跳到前几次光标位置
ctrl+o 向后跳到后几次光标位置

函数体跳转:
[[
]]
[]
][
{}

2009-07-07 17:31 补充

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

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

:h text-objects


vi{ 选中{}中间的内容,不包括{}
va{ 选中{}中间内容,包括{}
vi( 选中()中间内容
vi< 选中<>中间内容
vi[ 选中[]中间内容
vit 选中中间的内容
vi” 选中”"中间内容
vi’ 选中”中间的内容
vis 选中一个句子
vib 选中一个block
viw选中一个单词
vip 选中一个段落


[[
]]
[]
再加上
][
一共是 4 个在段落(对于 C 来讲就是函数)间跳转的命令。

总结是:
1,相同就跳到函数的开头:(如果都是左括号或者都是右括号),不同就跳到函数的结尾:
     { 和 } 用来跳到函数的开头。
     [] 和 ][ 用来跳到函数的结尾。
2,左右左右,“左”在前面。前后前后,“前”也在前面。因此左括号打头则表示向前,右括号打头则表示向后:
     [[ 和 [] 用来向前跳
     ]] 和 ][ 用来向后跳

结合起来就是:
[[ 用来跳到光标前面的一个函数开始处。如果光标在函数体内的话,那就是所在函数的开始处。
][ 用来跳到光标后面的一个函数结尾处。如果光标在函数体内的话,那就是所在函数的结尾处。
]] 用来跳到光标后面的一个函数开始处。如果光标在函数体内的话,那就是下一个函数的开始处。
[] 用来跳到光标前面的一个函数结尾处。如果光标在函数体内的话,那就是上一个函数的结尾处。

1,先想是想往前跳,还是往后跳?
如果是想往前,就摁 [,如果是想往后,就摁 ],然后指头别松开。
2,再想是想到开始处,还是结尾处?
如果是开始处,就再摁一下。如果是结尾处,就摁另一个键。


(1).w跳到下面一个单词(word)
(2).b跳到上面一个单词
(3).e跳到下面一个单词的最合一个字符
(4).ge跳到上面一个单词的最后一个字符
移动光标
h 左移动
j 下移动
k 上移动
l 右移动
打开显示模式的开关 ::set showmode
a 增加模式
i插入字符
x删除一个字符
dd删除一行
J删除换行符
u撤销最后一次
U撤销游标所在行的变动
CTRL-R(重做)来反撤销
o 另起一行在下面
O 另起一行在上面
A 在行的末尾增加
I 在行的开始插入
 
 
( 跳到上一个句子
)跳到下一个句子
{ 跳到上一个段落
} 跳到下一个段落
数字计数法如向上移动9行可以使用9k
$ 移动到当前行的行尾
^ 移动到当前行非空白的行首
0(零)把光标移动到行首(不管是不是空白)
$可以接受计数,如1$光标移动到当前行的行尾,2$则会移动到下一行的行尾
f单字符搜索命令 如“fx"在当前行搜索第一个"d",同时可以带计数功能,如"3fl"表示搜索当前行的第3个"l"
F命令是向左方向进行搜索
t命令与f命令相似但是他不是光标做在搜索到的字符,而是落在搜索到的字符的前一个字符上
T命令是向左方向进行搜索
%命令匹配2个括号
G跳转到哪一个行24G,跳转到24行 ,G跳转到最后一行,gg跳转到第一行,G跳转到最后一行
22j 向下22行
H 命令跳转到当前屏幕的最上面
M 命令跳转到当前屏幕的最中间
L 命令跳转到当前屏幕的最下面
50% 表示到文件的50%地方
CTRL+G 告知当前所在的位置
:set number 显示行号 :set nonumber关闭行号
:set ruler 屏幕右下角显示光标的位置
CTRL-U 文本向下滚动半屏
CTRL-D 窗口向上移动半屏,相当于文本向上移动了半屏
CTRL_E 向上滚动一行
CTRL-Y 向下滚动一行
CTRL-F 向前滚动一整屏
CTRL_B 向后滚动一整屏
zz 把当前行置于屏幕正中央
zt 把当前行置于屏幕顶端
zb 把当前行置于屏幕低端
/138 简单搜索如果有.*[]^%/?~$ 这些字符需要用\进行转译,查找下一个按n键,如果需要查找第3个就键入3n
?与/使用方法相同,只不过搜索的方向是相反的。
N命令是反方向进行搜索的
:set ignorecase 忽略大小写
:set noignorecase 取消忽略大小写
搜索命令历史,直接输入/然后按上下键 如果输入/o,然后再输入上下键,则是看到o开头的搜索结果
* 选中当前单词进行查找
# 是*的反向搜索版
/the\> 查找the开头的单词
/\ 查找单词the
:set hlsearch 高亮显示搜索结果
:set nohlsearch 关闭高亮显示搜索结果
:set incsearch 键入搜索后开始搜索
:set nowrapscan  键入回车后才开始搜索
:set list 显示换行符,制表符
/^a匹配开头是a的
/3333$ 匹配结尾是333的
/ee.dd .匹配单字符
''两个引号可以跳回原来的位置,当使用G跳转的时候
:jumps 会列出曾经跳转过的列表
使用ms做标记 ,然后使用's跳转到标记的位置
 
dw删除一个单词
d4w删除4个单词
d$删除当然光标到行尾的字符
D从光标删除到行尾


gg跳到开头,yy复制光标所在行。

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

chinaunix网友2009-10-09 15:18:33

博主的vi水平不错呀, 很多技巧都是中高级水平的操作