vim7.3的持久撤销

最近几天折腾git,发现一个麻烦的问题。用macvim编辑文件时总会生成一个 .<FILENAME>.un~的隐藏文件,文件对别的协同开发者来说没啥用,可以每次都把 .*.un~添加到

.gitignore文件用来忽略此类文件,但是比较麻烦。google了好久终于找到,原来这个文件是用来持久撤销的,较新的vim支持此功能,所以可以类似于把备份文件一样的处理方式统一把这些文件放到一个文件夹里。

http://wiki.ktmud.com/tips/Vim.html

Vim7.3 的持久撤销

Vim 7.3 提供 持久撤销 (Persistent Undo) 功能,即使文件关闭后,再次打开时仍然可以撤销文件关闭之前的编辑历史。要使用这一功能,在 vimrc 中添加

" 重启后撤销历史可用 persistent undo
set undofile
set undodir=$VIMFILES/\_undodir
set undolevels=1000 "maximum number of changes that can be undone

set undofile - 开启本功能。开启之后会默认在文件当前目录下建立一个 filename.ext.un~ 的文件,自然是会给我们带来麻烦的。所以配置一个 undodir 集中放置所有undofile。

$VIMFILES/\_undodir - $VIMFILES 是我们之前在 vimrc 中定义的环境变量, windows 下是 $VIM/vimfiles/ 。请注意,为了和其他目录区分,undodir前面有下划线 _undodir 。因为有下划线,前面的反斜杠又不可少了。而且这个目录必须自己手动建立。如果不存在,Vim 是不会帮你自动建立的。

vim7.3的持久撤销,布布扣,bubuko.com

时间: 2024-08-12 00:35:29

vim7.3的持久撤销的相关文章

6. Oracle 回滚(ROLLBACK)和撤销(UNDO)

转载自:http://blog.csdn.net/leshami/article/details/5731158 一.回滚(ROLLBACK)和撤销(UNDO) 回滚和前滚是保证Oracle数据库中的数据处于一致性状态的重要手段. --在9i版本以前 Oracle使用数据库中的回滚段来实现未提交数据或因系统故障导致实例崩溃时进行回滚操作 每一个表空间需要创建回滚段,各个表空间对回滚段实现各自的管理 --在9i及后续版本 提供了一种新的回滚数据的管理方式,即使用Oracle自动管理的撤销(Undo

C#中泛型容器Stack&lt;T&gt;的用法,以及借此实现&rdquo;撤销/重做&rdquo;功能

.Net为我们提供了众多的泛型集合.比如,Stack<T>先进后出,Queue<T>先进先出,List<T>集合元素可排序,支持索引,LinkedList<T>,双向链表的泛型实现,不支持索引;ISet<T>不允许被复制,他有2个实现,一个是HashSet<T>,不维持集合元素的排序,另一个是SortedSet<T>,支持集合元素的排序;IDictionary<TKey, TValue>是一个字典集合的泛型接口

Extjs 4.2 树结点右键菜单(全选,反选,撤销)

自己写的最新版本extjs4.2的树结点的操作,记录一下,以后可能会用到. var tree = new Ext.tree.TreePanel({ flex: 1, animate: true, autoScroll: true, anchor: '100% 93%', store: new Ext.data.TreeStore({ root:{ expanded: true, text:'A', children:[{ expanded: true, text:'1', children:[{

git撤销操作

在本地更改了文件 用 git status 命令是能看到更改了哪些文件的 显示为红色修改的文件,接下来 git add <filename> 将修改的这个文件添加到暂存区 显示为绿色,通过git reset HEAD --<filename>  将通过 git add 添加的文件从缓冲区撤销 会重新变为红色 再通过 git checkout -- <filename>  撤销工作区的修改,回到你没有修改过的地方.同时这个命令可以用于你不小心改了好多你不想提交的文件,让文

业务层将持久层方法调用

主要业务层和持久层的联系 员工实体Bean package com.project.bean; import java.sql.Date; /** * 员工信息实体类 * @author 45470 * */ public class EmployeeBean { /**员工id*/ private int empId; /**员工登录名*/ private String empAccount; /**员工登录密码*/ private String empPwd="123456"; /

面向对象——三层架构(表现层、业务层、持久层)

三层架构:即表现层.业务层.持久层. ① 持久层:采用DAO模式,建立实体类和数据库表映射(ORM映射).也就是哪个类对应哪个表,哪个属性对应哪个列.持久层 的目的就是,完成对象数据和关系数据的转换. ② 业务层:采用事务脚本模式.将一个业务中所有的操作封装成一个方法,同时保证方法中所有的数据库更新操作,即保证同时成 功或同时失败.避免部分成功部分失败引起的数据混乱操作. ③ 表现层:采用MVC模式. M称为模型,也就是实体类.用于数据的封装和数据的传输. V为视图,也就是GUI组件,用于数据的

Linux集群系列之六——LVS持久连接

DR: arp_ignore = 1 arp_announce = 2 数组:变量阵列 array_name=("" "" "" ) declare -a A 把一个变量明确申明为数组 LVS的持久连接:   无论使用什么算法,LVS持久连接都能实现在一定时间内将来自同一个客户端请求派发到同一个RS. 持久连接模版(内存缓冲区): 每一个客户端 及分配给它的RS的映射关系: ipvsadm -L -c 显示当前的持久连接数 ipvsadm -A|

UWP开发之ORM实践:如何使用Entity Framework Core做SQLite数据持久层?

选择SQLite的理由 在做UWP开发的时候我们首选的本地数据库一般都是Sqlite,我以前也不知道为啥?后来仔细研究了一下也是有原因的: 1,微软做的UWP应用大部分也是用Sqlite.或者说是微软推荐使用Sqlite吧! 2,简单!就只有一个类库没有多余的参照什么的.不像其他数据库还得做复杂配置什么的麻烦! 3,不需要数据库服务,数据服务和客户都在同一个进程里面.如下图: 4,作为存储系统它只支持一个用户一个数据实体. 5,跨平台跨结构,这个好! Sqlite主要使用内容 如果想充分使用好S

WebSocket 是什么原理?为什么可以实现持久连接?

著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:Ovear链接:http://www.zhihu.com/question/20215561/answer/40316953来源:知乎 一.WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟