Tag: undo redo

如何在vi / vim中返回(ctrl + z)

在正常的文本编辑器中[对Vim有所顾忌],当你做了一些令人讨厌的事情并想返回到前一版本的文本时,有一个快捷键Ctrl + Z。 像Word中的“后退”button。 我想知道你怎么能在Vim中实现这种行为。

使用Vim的持久性撤消?

Vim 7.3中的新特性之一是“持久性撤消”,它允许在退出缓冲区时将无动词保存到文件中。 不幸的是,我还没有完全启用它,或者我必须错误地使用它。 以下是我迄今为止所尝试的: 我将以下内容添加到〜/ .vimrc中 set undofile " Save undos after file closes set undodir=$HOME/.vim/undo " where to save undo histories set undolevels=1000 " How many undos set undoreload=10000 " number of lines to save for undo 之后,我应该能够打开任何文件,编辑它,然后保存 – closures它,当我再次打开它时,我应该能够撤销/重做,就像我永远不会离开。 不幸的是,这似乎并不是这样,因为从来没有任何不妥之处。 笔记: 我在Win 7上使用Vim 7.3而不是使用Vim项目。 持久性撤消是被烘烤的。 $ HOME / .vim / undo存在于我的文件系统上

NSInvocation为傻瓜?

NSInvocation究竟如何工作? 有一个很好的介绍吗? 我特别在理解下面的代码(来自Cocoa Programming for Mac OS X,3rd Edition )是如何工作的,但是也可以独立于教程示例应用这些概念。 代码: – (void)insertObject:(Person *)p inEmployeesAtIndex:(int)index { NSLog(@"adding %@ to %@", p, employees); // Add inverse of this operation to undo stack NSUndoManager *undo = [self undoManager]; [[undo prepareWithInvocationTarget:self] removeObjectFromEmployeesAtIndex:index]; if (![undo isUndoing]) [undo setActionName:@"Insert Person"]; // Finally, add person to the array [employees insertObject:p atIndex:index]; […]