Vim 弄丢了我的数据!

悲剧

昨天(啊不, 前天 大前天 )在写 undo branches 那篇文章的时候,VimR 编辑器突然毫无征兆的崩溃退出,导致花费好半天翻译过来的几段文字全部丢失。颇具有讽刺意味的是,当时写的文章正是关于在 Vim 编辑器中如何使用 undo branches,避免丢失你宝贵的资料。事情发生时笔者从浏览器中复制了一段文字,然后直接按下 CMD + V 粘贴,可能是其中含有一些特殊字符……悲剧就这样发生了。

第一反应是去查看 undo 历史,很不幸那几段文字并没有保存其中。于是悲哀地意识到它们是永远也找不回来了:因为 undo branches 其实是保存文件撤销记录,而不是用来应对这种意外灾难的。真正的灾难应对机制已经被我关闭。

Read more…

【译】在 Vim 中使用 undo branches

Vim 支持标准的 撤销和重做 ,同时还支持 undo branches 。这允许你撤销一些更改,然后再做新的更改,而在此过程中 所有 的更改都在 undo tree 中得到保留。你甚至还能把撤销(undo)记录保存到文件中,下次编辑同一文件时恢复这些记录。本文将向你初步展示如何在 Vim 中使用 undo branches

Read more…

不一样的 Git 客户端——GitUp

尽管平时基本不使用 Git 客户端(偶尔用用 Tig ),不过看到 GitUp 的特性介绍,笔者还是产生了浓厚的兴趣。下载下来尝试了一下,感觉与其它 Git 客户端的确有些不一样。官方宣传声称 GitUp 就是“你朝思暮想的 Git 客户端”(The Git interface you've been missing);使用 GitUp 以后,再也“不必头痛 Git 版本管理”(without headaches)。那么, GitUp 究竟表现如何?接下来,随笔者一起来看看这个不一样的 Git 客户端吧。

/images/gitup_overview.thumbnail.png

Read more…

Vim 技巧:匹配数字递增

有时候会有将代码中的数字递增/递减的需求,一直没有找到相对简单优雅的做法。今天通过网络搜索加上幸运值暴增,感觉终于比较完善地解决了这个问题,遂作此文记录一下。

如果我们想将以下代码块中的所有数字,在原有基础上均递增两次:

my_array[1] = 0;
my_array[2] = 0;
my_array[3] = 0;
my_array[4] = 0;
my_array[5] = 0;
my_array[6] = 0;
my_array[7] = 0;

即变成以下这样:

my_array[3] = 2;
my_array[4] = 2;
my_array[5] = 2;
my_array[6] = 2;
my_array[7] = 2;
my_array[8] = 2;
my_array[9] = 2;

Read more…

【译】8 个 Vim 技巧让你成为专家级用户

提要 :在这篇文章里,我将用实际例子向你展示一些我最喜爱的 Vim 技巧 。如果你不使用 Vim,这些技巧并不会给你多少理由让你想使用它。但是,如果你已经在使用,那本文无疑会让你成为更专业的 Vim 用户。

即便最近开始,我越来越多地使用 Atom ,然而不使用 Vim 却让我一天也过不下去。并不是因为我不得不使用它,而是这样做让我感到很舒适。

是的,舒适。当谈及 Vi 编辑器或任何它的变种时,这是个太奇怪的词语,对不对?的确,我承认,Vi 不是那个最符合直觉的文本编辑器。

但是,经过一些实践及记忆训练后,你可以通过仅仅几次击键,就能完成看似复杂的编辑任务,使用一些别的命令行编辑器无法实现的功能。

尽管如此,今天我并不想写“Vi 入门介绍”,我想通过个人常用的技巧——一些在其它编辑器中我梦寐以求的技巧,向你展示 Vi(m) 编辑器的真正威力。我并不会对这些技巧做全面的阐释,但我强烈推荐你反复试验,直到你理解它们是如何工作的。

如果你喜欢 Vim 并想完全掌握它,你也可以参与由 Linux Training Academy 提供的 Vim 在线课程。

Read more…

Contents © 2018 ashfinal - Powered by Nikola