在vim中其实也有像Eclipse中的ctrl + shift +F 的自动格式化代码的操作,尽管非常强大,但是通常会破坏代码的原有的缩进,

所以不建议在python这样缩进代替括号的语言中和源程序已经缩进过的代码中使用,废话少说,下面说步骤:

1,gg 跳转到第一行

2,shift+v 转到可视模式

3,shift+g 全选

4,按下神奇的 =

在vi中按u可以撤销一次操作

u   撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作

注意:
如果你输入“u”两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式了。
重做
如果你撤销得太多,你可以输入CTRL-R(redo)回退前一个命令。换句话说,它撤销一个撤销。要看执行的例子,输入CTRL-R两次。字符A和它后面的空格就出现了:
young intelligent turtle
有一个特殊版本的撤销命令:“U”(行撤销)。行撤销命令撤销所有在前一个编辑行
上的操作。 输入这些命令两次取消前一个“U”:
A very intelligent turtle
xxxx 删除very
A intelligent turtle
xxxxxx 删除turtle
A intelligent
用“U”恢复行
A very intelligent turtle
用“u”撤销“U”
A intelligent
“U”命令自己改变自己,“u”命令撤销操作,CTRL-R命令重做操作。这有点乱,但不用
担心,用“u”和CTRL-R命令你可以切换到任何状态。

流行的文本编辑器通常都有前进和后退功能,可以在文件中曾经浏览过的位置之间来回移动。在 vim 中使用 Ctrl-O执行后退,使用 Ctrl-I 执行前进。
相关帮助:  :helpCTRL-O  :helpCTRL-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是子目录的个数+目录名+.   
  我上面说的..不包含在内。(不好意思)

vi格式化代码,撤销,重做,回退操作相关推荐

  1. html5 observer api,基于HTML5新特性Mutation Observer实现编辑器的撤销和回退操作

    MutationObserver介绍 MutationObserver给开发者们提供了一种能在某个范围内的DOM树发生变化时作出适当反应的能力.该API设计用来替换掉在DOM3事件规范中引入的Muta ...

  2. linux的vim撤销命令,[Linux] Vim 撤销 回退 操作

    在vi中按u可以撤销一次操作 u   撤销上一步的操作 Ctrl+r 恢复上一步被撤销的操作 注意: 如果你输入"u"两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式 ...

  3. linux vim怎么回退,[Linux] Vim 撤销 回退 操作

    在vi中按u可以撤销一次操作 u 撤销上一步的操作 Ctrl+r 恢复上一步被撤销的操作 注意: 如果你输入"u"两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式了. ...

  4. linux vi 撤销重做于前进后退--转

    在vi中按u可以撤销一次操作 u   撤销上一步的操作 Ctrl+r 恢复上一步被撤销的操作 注意: 如果你输入"u"两次,你的文本恢复原样,那应该是你的Vim被配置在Vi兼容模式 ...

  5. git的一些撤销/回退操作

    在个人开发和协同开发过程中,我们是通过git把我们本地仓库和远程仓库联系起来,首先 我们要知道的是git 有工作区.暂存区和Git仓库.我们本地编写的代码,不执行git命令都处于工作区. 执行 git ...

  6. android 自定义画笔,在Android Canvas中使用撤销/重做操作的自定义画笔

    我想使用自定义画笔&撤消/重做操作实现画布绘制应用程序.首先,我的代码完美工作,无需使用自定义画笔(包括撤消/重做操作).根据这个答案How to make custom brush for ...

  7. git撤销/回退操作

    以config文件为例 修改后的撤销 git status后提示为modified已修改的文件, 撤销方法git checkout -- config,比如如果vendor目录下有多个文件修改,且需要 ...

  8. qt撤销与回退_Qt 的撤销回退事件 - osc_1i3ltp99的个人空间 - OSCHINA - 中文开源技术交流社区...

    Qt 的撤销回退事件 日期 作者 版本 2020年12月16日 Mister H V1.0 前言 在工作中有时候需要撤销和回退(重做)功能,而在网上的资料大多都相同且较复杂,研究了一段时间,终于看出了 ...

  9. 回滚master代码_[转]Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时)...

    两种情况(场景) 情况一 代码还只在本地,未push到运程仓库,想把代码还原到上一次commit的代码,此时操作为代码撤销 解决方案: 情况二 代码已经push到运程仓库,想把代码还原到上一次提交,此 ...

最新文章

  1. 一年过去了,25万月薪的AI工程师还存在吗?
  2. 美日两位科学家获2018年度诺贝尔生理或医学奖
  3. 子类继承父类,并重写父类方法
  4. python截取后三位元素_python – 如何从BeautifulSoup的表中获取第一个和第三个td?...
  5. 在Simplicity Studio下创建适用于EFR32的工程项目
  6. Pentium II Pentium III架构/微架构/流水线 (6) - SSE
  7. shiro认证授权过程
  8. Android-opencv之CVCamera (转载)
  9. Python爬取王者荣耀皮肤
  10. echarts网络拓扑图
  11. 【Prescan学习】Prescan环境配置(介绍+安装+学习资源)
  12. 宏基因组 微生物组 微生态杂志简介及2019最新影响因子
  13. heic转换成jpg,学会这个方法就够了
  14. 台式机Ubuntu20.04系统下安装Tenda U12 无线网卡驱动
  15. Postman下载及安装详细教程
  16. i18n国际语言代码对照表
  17. fer2013的csv文件转换为ImageNet格式(以图片格式保存在各自类别的文件夹中)
  18. Navicat Premium 连接oracle 提示ORA-01017:用户名/口令无效;登陆被拒绝
  19. 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU特性那些事(2)- RT1052DVL6性能实测(CoreMark)...
  20. 【限流算法】java实现redis分布式时间窗口计数器算法

热门文章

  1. linux下提示/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14‘ not found 解决办法
  2. matlab缩小矩阵尺寸,Matlab中对矩阵使用矩阵尺寸的索引
  3. matlab 邻近度 离群点_Matlab基础学习第一弹!干货来啦!
  4. 数据结构实验之栈与队列九:行编辑器
  5. 用C++实现不能被继承的类
  6. 《mongodb权威指南》学习
  7. 2.分布式文件系统HDFS之一
  8. 【数学与算法】协方差矩阵 与 w*w^T 的关系
  9. 【opencv】3.在一个opencv窗口中显示多个视频界面、画箭头、画掉头箭头
  10. 缓存级别与缓存更新问题