vim撤销与重做

在vi中按u可以撤销一次操作
u 撤销上一步的操作Ctrl+r 恢复上一步被撤销的操作

注意:如果你输入“u”两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式了。重做如果你撤销得太多,你可以输入CTRL-R(redo)回退前一个命令。换句话说,它撤销一个撤销。要看执行的例子,输入CTRL-R两次。字符A和它后面的空格就出现了:young intelligent turtle有一个特殊版本的撤销命令:“U”(行撤销)。行撤销命令撤销所有在前一个编辑行上的操作。 输入这些命令两次取消前一个“U”:A very intelligent turtlexxxx 删除veryA intelligent turtlexxxxxx 删除turtleA intelligent用“U”恢复行A very intelligent turtle用“u”撤销“U”A intelligent“U”命令自己改变自己,“u”命令撤销操作,CTRL-R命令重做操作。这有点乱,但不用担心,用“u”和CTRL-R命令你可以切换到任何状态。
流行的文本编辑器通常都有前进和后退功能,可以在文件中曾经浏览过的位置之间来回移动。在 vim 中使用 Ctrl-O 执行后退,使用 Ctrl-I 执行前进。相关帮助: :help CTRL-O :help CTRL-I :help jump-motions

好久没有用Linux了,身边又没有环境,烦请各位给看看,给个准确答案: 1 在 vim 中,遇到如下的编辑问题,应该怎么操作? a) 撤消上一个编辑操作。 b) 重复上一个编辑操作。 c) 还原被撤消的编辑操作。 d) 多次重复一组编辑操作。 e) 把一段文字转换为全部大写。
2 下面的目录属性 drwxrwsr-x 7 dijk team 4096 4月 8 19:34 qingli a) 这里的 s 属性有何作用? b) 属性字段后的数字 7 表示什么?
3 liback.la 库文件的后缀.la是什么含义?
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 "<Esc> 在该行之前插入#include " $ 移动到行尾 a"<Esc> 在行尾加上"字符 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 表示什么? 子目录的个数 包含. ..目录。

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

b) 属性字段后的数字 7 表示什么? 子目录的个数 包含. ..目录。? 这里的7,应该是指链接到此文件的个数吧.!

这里的7,应该是指链接到此文件的个数吧.! ========================================== 链接是ln创建的文件?? 这样解释把: 7专业的叫法是连接记数。 任何一个叶目录(不包含任何其他目录,也就是子目录的目录)其连接记数总是2,数值2来自于命名该目录的目录名以及该目录中的.项。当创建一个子目录该子目录里的..项指向他的父目录,使父目录的连接记数加1。 所以也可以说7是子目录的个数+目录名+.

推荐阅读更多精彩内容