技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 发现 --> Vim(gvim)在recover时支持diff

Vim(gvim)在recover时支持diff

浏览:2484次  出处信息

很久没有写vim相关的文章,愧对vimer.cn这个域名呀~~哈,不过我还是尽量保持经常给大家提供一些Vim相关的知识。
这次介绍的是 recover.vim (http://www.vim.org/scripts/script.php?script_id=3068)
先简单介绍一下背景,vim有自动生成swp文件的功能,能够在异常情况下(简单来说就是你的vim进程被强制终止)将你没有来得及保存的代码存储下来。
但这仍然有个问题,当你再次打开那个文件的时候,vim仅提示你是否要恢复,但是我们并不知道会被恢复成什么样子。。
recover.vim就是为了解决这个问题。
我们直接来做个演示可能会比较明确,以windows下的gvim7.3为例。
新建一个文件 1.cpp,写入如下数据但是不保存

1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <string>
#include <vector>
#include <map>
using namespace std;
int main(int argc, const char *argv[])
{
 
    return 0;
}

打开任务管理器,kill掉gvim进程,我们会发现多了一个1.cpp.swp文件。
重新打开1.cpp,提示如下:

1

选择是,之后界面如下:

2

鼠标落在右边窗口,执行:diffput 之后界面如下:

3

执行:FinishRecovery,结束恢复过程,1.cpp.swp也会被删除。
------------------------------------------------------------------
另:
博友依云提出本插件缺少一个直接删除的选项,因此修改插件如下,有需要的朋友可以下载:(修改了autoload/recover.vim)

autoload/recover.vim

建议继续学习:

  1. vim几个小技巧(批量替换,列编辑)    (阅读:35894)
  2. 简明Vim练级攻略    (阅读:20698)
  3. Vim下的代码自动补全和代码跳转阅读    (阅读:14335)
  4. 为什么要用 Emacs/Vim,而不是任何其他编辑器    (阅读:12129)
  5. 在vim(gvim)中运行终端(对,你没有看错,我也没有写反)    (阅读:9335)
  6. vim入门,进阶与折腾    (阅读:9149)
  7. 让vim在终端下的配色亮起来!    (阅读:8559)
  8. 最近总结的一些技巧(vim,python,svn,fiddler等)    (阅读:7030)
  9. vim的复制粘贴小结    (阅读:6465)
  10. Vim 中截取部分内容保存到其他文件    (阅读:6319)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1