虚空藏菩萨纹身图片男:vi里如何:撤销上次操作?,多次重复一组编辑操作?.......还有一个目录问题?大家进来看看,在线等,100分 - Linux/Unix社区 / 程序开发区

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 20:01:23
a)   撤消上一个编辑操作。       ====》   U
b)   重复上一个编辑操作。     =====>   .
c)   还原被撤消的编辑操作。   ======>   Ctrl   +   R
d)   多次重复一组编辑操作。
". "命令可以重复最近一次的编辑动作.   但是如果你要做的操作远比
这些小儿科复杂呢?   那就是Vim为什么要引入命令记录的原因.   使用命令
记录分三个步骤1
1.   使用 "qfregisterg "命令开始,   后续的动作将被记录进名为fregisterg的
寄存器中.   给出的寄存器名字必需是a到z之间的一个字母2
2   执行你要执行的操作3.
3.   按下q以结束对命令的记录(注意仅仅是q一个字符,   不要键入多
余的字符).
现在你可以通过 "@frecordingg "命令来执行刚刚记录下来的记录宏
了.下面的例子将演示如何实际运行该功能.   假如你有如下的文件名列
表:
stdio.h
fcntl.h
unistd.h
stdlib.h
而你实际想要的结果如下:
#include   "stdio.h "
#include   "fcntl.h "
#include   "unistd.h "
#include   "stdlib.h "
将光标移动到第一行上.   接下来执行:
qa   开始将后续的命令记入寄存器a
^   将光标移动到行首
i\#include   "   在该行之前插入#include   "
$   移动到行尾
a "   在行尾加上 "字符
j   移到下一行
q   停止记录
现在你已经将对第一行的操作完成了一遍,   对其它三行只需要执
行3次 "@ "命令 "@a "命令也可以加一个数字前辍1,   这会使该记录被回放由
该数字指定的次数.   在上面的例子中是:
normal   mode   command
3@a
e)   把一段文字转换为全部大写。
~   交换大小写(a   ->   A,   A   ->   a)
U   将小写变大写(a   ->   A,   A   ->   A)
u   将大写变小写(a   ->   a,   A   ->   a)


drwxrwsr-x         7   dijk           team                   4096     4月     8   19:34   qingli

a)   这里的   s   属性有何作用?        
set-uid位。当程序执行的时候,会改变执行权限,既设置了set-uid位后程序的执行权限变为文件所有者权限。
b)   属性字段后的数字   7   表示什么?
子目录的个数   包含.   ..目录。

这里的7,应该是指链接到此文件的个数吧.!
==========================================
链接是ln创建的文件??

这样解释把:
7 专业的叫法是连接记数。
任何一个叶目录(不包含任何其他目录,也就是子目录的目录)其连接记数总是2,数值2来自于命名该目录的目录名以及该目录中的.项。当创建一个子目录该子目录里的..项指向他的父目录,使父目录的连接记数加1。
所以也可以说7是子目录的个数+目录名+.  
我上面说的..不包含在内。(不好意思)

liback.la     库文件的后缀.la是什么含义?
表示libback是个静态库。

vim 命令重复 

在vim中有很多的方式可以重复之前的命令

我介绍下自己遇到的三种情况。

1,使用 . 在normal模式下重复上一次的动作


2,在命令模式下,使用方向键选择以前的动作,

:!!          Repeat last system command. 

:!  ↑        select  a  previous system command 

: ↑          select  a  previous command 

输入前几个字母,再使用tab或者导航↑ 键即可在以前的命令中自动补全


3,以上都是单个的命令记录,一个另外的方法是记录一连串的动作

(1)。使用"q{register}"命令开始,后续的动作将被记录进名为register的寄存器中。给出的寄存器名字必需是a到z之间的一个字母

(2)。执行你要执行的操作。

(3)。按下q以结束对命令的记录(注意仅仅是q一个字符,不要键入多余的字符).现在你可以通过"@{recording}"命令来执行刚刚记录

下来的记录宏了。

就象绝大多数VIM命令一样,@{recording}前加数字,可以让命令重复多次数.

部分内容参考vim用户中文手册