Jason Baker 发布的文章

 title=

你平时使用 RSS 阅读器么?

四年前当 Google Reader 宣布停止的时候,许多“技术专家”声称 RSS 订阅将会结束。

对于某些人而言,社交媒体和其他聚合工具满足了 RSS、Atom 以及其它格式的阅读器的需求。但是老技术绝对不会因为新技术而死,特别是如果新技术不能完全覆盖旧技术的所有使用情况时。技术的目标受众可能会有所改变,人们使用这个技术的工具也可能会改变。

但是,RSS 并不比像 email、JavaScript、SQL 数据库、命令行或者十几年前告诉我的其它时日无多的技术消失的更快。(黑胶专辑的销售额去年刚刚达到了其 25 年的顶峰,这不是个奇迹么?)只要看看在线 Feed 阅读器网站 Feedly 的成功,就能了解 RSS 阅读器仍然有市场。

事实是,RSS 和相关的 Feed 格式比任何广泛使用的尝试替换它的东西还要多才多艺。作为一名阅读消费者,对于我来说没有比它更简单的方法了,我可以阅读大量的出版信息,并且是用我选择的客户端格式化的,我可以确认看到发布的每一条内容,同时不会显示我已经阅读过的文章。而作为发布者,这是一种比我使用过的大多数发布软件都简单的格式,开箱即用,它可以让我的信息递交给更多的人,并且可以很容易地分发多种不同类型的文档格式。

所以 RSS 没有死。RSS 长存!我们最后一次是在 2013 年回顾了开源 RSS 阅读器选择,现在是更新的时候了。这里是我关于 2017 年开源 RSS 订阅阅读器的一些最佳选择,每个在使用上稍微不同。

Miniflux

Screenshot

Miniflux 是一个极度简约的基于 Web 的 RSS 阅读器,但不要将其特意的轻设计与开发人员的懒惰混淆。它目的是构建一个简单而有效的设计。Miniflux 的思想似乎是将程序弱化,以便让读者可以专注于内容,在大量臃肿的 web 程序中我们会特别欣赏这一点。

但轻便并不意味着缺乏功能。其响应式设计在任何设备上看起来都很好,并可以使用主题、API 接口、多语言、固定书签等等。

Miniflux 的 源代码GPLv3 Affero 许可证在 GitHub 中发布。如果你不想自行托管,则可以支付每年 15 美元的托管计划。

RSSOwl

RSSOwl Screenshot

RSSOwl 是一个跨平台的桌面 Feed 阅读器。它用 Java 编写,在风格和感觉上它像很多流行的桌面邮件客户端。它具有强大的过滤和搜索功能、可定制的通知,以及用于排序 Feed 的标签。 如果你习惯使用 Thunderbird 或其他桌面阅读器进行电子邮件发送,那么在 RSSOwl 中你会感到宾至如归。

可以在 GitHub 中找到 Eclipse Public 许可证下发布的 RSSOwl 的源代码。

Tickr

Tickr 在这个系列中有点不同。它是一个 Linux 桌面客户端,但它不是传统的浏览-阅读形式。相反,它会将你的 Feed 标题如滚动新闻那样在桌面横栏上滚动显示。对于想要从各种来源获得最新消息的新闻界来说,这是一个不错的选择。点击标题将在你选择的浏览器中打开它。它不像这个列表中的其他程序那样是专门的阅读客户端,但是如果比起阅读每篇文章,你对阅读标题更感兴趣,这是一个很好的选择。

Tickr 的源代码和二进制文件以 GPL 许可证的形式在这个网站上可以找到。

Tiny Tiny RSS

如果缺少了 Tiny Tiny RSS,那么很难称之为这是一个现代化的 RSS 阅读器列表。它是最受欢迎的自主托管的基于 Web 的阅读器,它功能丰富:支持OPML 导入和导出、键盘快捷键、共享功能、主题界面、插件支持、过滤功能等等。

Tiny Tiny RSS 还有官方的 Android客户端,让你可以随时随地阅读。

Tiny Tiny RSS 的 Web 版本和 Android 源代码以 GPLv3 许可 在 GitLab 上发布。

Winds

Winds 是一个建立在 React 之上的看起来很现代化的自托管的 web 订阅阅读器。它利用称为 Stream 的机器学习个性化 API,帮助你根据当前的兴趣找到可能感兴趣的更多内容。这有一个在线显示版本,因此你可以在下载之前先尝试。这是一个只有几个月的新项目,也许评估它是否能取代我日常的 Feed 阅读器还太早,但这当然是一个我感兴趣关注的项目。

Winds 的源代码MIT 许可证在 GitHub 上发布。


这些当然不是仅有的选择。RSS 是一个相对易于解析、文档格式良好的格式,因此有许许多多因为不同的需求而建立的各种 Feed 阅读器。这有一个很长的自托管的开源 Feed 阅读器列表,除了我们列出的之外你还可能会考虑使用它们。我们希望你能在下面的评论栏与我们分享你最喜欢的 RSS 阅读器。

你使用 RSS 阅读器么?你知道 Linux 中国一直就支持 RSS 阅读么?不知道的朋友,下面是我们的 RSS 地址,欢迎体验:

什么?你直接点击链接在浏览器打开了,感觉不会用?——虽然我们专门为 RSS 在浏览器中打开做了美化,但是你该用 RSS 阅读器来读啊,对,就是这篇文章介绍的这些,要不试试?

(题图来自:Rob McDonald on Flickr,由 Opensource.com 修改. CC BY-SA 2.0.)


作者简介:

Jason Baker - Jason 热衷于使用技术使世界更加开放,从软件开发到阳光政府行动。Linux 桌面爱好者、地图/地理空间爱好者、树莓派工匠、数据分析和可视化极客、偶尔的码农、云本土主义者。在 Twitter 上关注他 @jehb。


via: https://opensource.com/article/17/3/rss-feed-readers

作者:Jason Baker 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

想要构建你自己的 URL 缩短器?这些开源项目使这个变得简单。

没有人喜欢一个非常长的 URL。

它们很难解析。但有时候,站点的深层目录结构还有最后加上的大量参数使得 URL 开始变得冗长。在 Twitter 添加自己的链接缩短服务之前的那些日子里,一个长的 URL 意味着不得不削减推文中珍贵的字符。

如今,因为很多原因,人们开始使用链接缩短器。这样人们可以更容易地输入或记住另一个冗长的网址。它们可以为社交媒体帐户带来一贯的品牌建设。它们使对一组网址进行分析变得更轻松。它们使得为频繁变化的网站 URL 提供统一的入口成为可能。

URL 缩短器确实有一些不足。在点击之前很难知道链接实际指向哪里,而且如果提供短网址服务消失,就会导致 烂链 linkrot 。但是尽管面临这些挑战,URL 缩短器不会消失。

但是,既然已经有这么多免费链接缩短服务,为什么还要自己构建?简而言之:方便控制。虽然有些服务可以让你选择自己的域名来使用,但得到的定制级别不同。使用自托管服务,你可以自己决定服务的运行时间、URL 的格式以及决定谁可以访问你的分析。这是你自己拥有并且可以操作的。

幸运的是,如果你想建立下一个 bit.ly、goo.gl 或 ow.ly,你可以有很多开源选项。你可以考虑下面几个。

Lessn More

Lessn More 是一个个人 URL 缩短器,用 PHP 写成,并从一个名为 Buttered URL 的较旧项目 fork 而来,而 Buttered URL 又是从一个名为 Lessn 的项目的分支衍生而来。Lessn More 能提供你对 URL 缩短器所预期的大部分功能:API 和书签支持、自定义 URL 等。还有一些有用的功能,比如可以让 Lessn More 使用单词黑名单来避免不小心创建不适当的 URL、避免“看着相似”的字符来使 URL 更易读、能够选择是否使用混合大小写的字符,以及一些其它有用的功能。

Lessn More 在 GitHub 上以三句版 BSD 许可证公布了源代码

Polr

Polr 将自己描述为“现代、强大、可靠的 URL 缩短器”。它具有相当直接但现代化的界面,像我们这里详细介绍的其他选择那样,还提供了一个 API 来允许你从其他程序中使用它。在这三个可选品中,它在功能上是最轻量级的,但如果你正在寻找一个简单但功能完整的选择,那么这可能是你不错的选择。下载之前你可以查看在线演示

Polr 的源代码 在 GitHub 中以 GPLv2 许可证公布。

YOURLS

YOURLS,是 “Your Own URL Shortener”(你自己的 URL 缩短器)的缩写,它是我最熟悉的选择。我在个人网站上已经运行了好几年,并且对其功能非常满意。

它是用 PHP 编写的,YOURLS 功能非常丰富并且可以很好地开箱即用。你可以将其配置为任何人可公开使用,或只允许某些用户使用它。它支持自定义 URL,拥有书签功能,使得共享很容易,它还具有非常强大的内置统计信息,并支持可插拔的架构,以允许其他人添加功能。它还有一个 API,可以轻松地用它创建其他程序。

你可以在 Github 中找到 MIT 许可证下的 YOURLS 源代码


这些选择都不喜欢么?看下互联网,你会发现还有其他几个选择:shuriNimbusLstu 等等。除了这些选择外,构建链接缩短器可以作为帮助了解新语言或 Web 框架的第一次编程项目。毕竟,它的核心功能非常简单:以 URL 作为输入,并重定向到另一个 URL。除此之外,它取决于你自己想要添加的功能。

你有喜欢但没有在这里列出的 URL 缩短器吗?请在评论栏中让我们知道你的想法。


作者简介:

Jason Baker - Jason 热衷于使用技术使世界更加开放,从软件开发到阳光政府行动。Linux 桌面爱好者、地图/地理空间爱好者、树莓派工匠、数据分析和可视化极客、偶尔的码农、云本土主义者。在 Twitter 上关注他 @jehb。


via: https://opensource.com/article/17/3/url-link-shortener

作者:Jason Baker 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

随着越来越多的组织寻求构建和管理自己的开源云,所以拥有 OpenStack 经验仍然被视为技术界中最需要的技能。但是 OpenStack 是一个巨大的知识领域,包含了十几个正在积极开发的单独项目。仅仅使你的技能跟上它的最新发展就是一个挑战。

好消息是现在有很多资源可以让你跟上这个发展速度。除了其官方项目文档,各种培训和认证程序、纸质的指南、以及其他资源之外,还有大量的由 OpenStack 社区成员编写并发布在各种博客和线上出版物上的教程和指南。

在 Opensource.com,我们每个月都会收集这些社区资源中最好的资源,并将它们放到一个集锦中。这是我们上个月的内容。

  • 这次排第一位的是 Julie Pichon 对 Mistral 在 TripleO 中的使用的一个快速介绍。Mistral 是一个工作流服务,允许你设置一个多步过程自动化和异步协调操作。在该快速指南中学习 Mistral 的基础知识、它如何工作,以及如何在 TripleO 中使用它。
  • 想要使用 OpenStack 自己的一套工具来深入了解 TripleO 管理 OpenStack 部署么?你会想看看这一组为使用 TripleO 设置 OpenStack 的人士写的简洁提示。这是一个正在进行中的工作,所以如果你还想包含什么,欢迎随时贡献。
  • 使用 TripleO 设置独立的 Ceph 部署时,不要错过这个快速指南,这是我们的 TripleO 指南的第三篇。它所需要的只是一个简短的 YAML 文件和一个简单的命令。
  • 接下来,如果你是一个 OpenStack 贡献者,你可能会熟悉 Grafana 面板,它显示了 OpenStack 持续集成基础设施的各种指标。有没有想过这个服务如何工作,或想创建一个新的指标到面板上?学习如何创建你自己的本地面板的副本,你可以测试试试,并作出自己的修改。
  • 有没有想过 OpenStack 云上的网络底层到底在如何运作的?OpenStack 经常使用 Open vSwitch 用于 Neutron 和 Nova 的网络服务;在这个演练中学习设置的基础。

这次就是这样了。和往常一样,请查看我们完整的 OpenStack 教程,它汇集了过去三年发布的数百个单独的指南。

作者简介:

Jason Baker - Jason 热衷于使用技术使世界更加开放,从软件开发到阳光政府行动。Linux 桌面爱好者、地图/地理空间爱好者、树莓派工匠、数据分析和可视化极客、偶尔的码农、云本土主义者。在 Twitter 上关注他。


via: https://opensource.com/article/17/1/openstack-tutorials

作者:Jason Baker 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

Linux 容器正在改变 IT 从业者的工作方式。相比于庞大、沉重的虚拟机,一些组织发现把他们的应用部署在容器中更有效,可以提供更快的速度,更加密集,提升他们操作的敏捷性。

从安全的角度看,容器带来了一些优势,但是也面临着它们自己的一些安全挑战。和传统的基础设施一样,为了避免安全缺陷,确保运行在一个容器内的组件和系统库的定期更新是至关重要的。但是你如何知道什么东西运行在你的容器内?为了帮助你应对这些的安全挑战,一个名为 Anchore的初创公司正在开发一个同名的开源项目,它用来帮助展示 Linux 容器中的内容。

为了了解更多关于 Anchore,我找到了 Anchore 的市场和产品的发言人 Andrew Cathrow,来了解更多关于这个开源项目背后的公司。

简而言之 Anchore 是什么? 它如何工作?

Anchore 的目标是提供一套工具,允许开发人员、运营团队、安全团队在容器的整个开发周期中保持对“监管链(Chain of Custody)”的全程可见,并提供生产部署所需的可见性、可预测性和控制性。Anchore 的引擎通过插件可以进行分析(通过提取镜像数据和元数据)、查询(允许对容器进行分析)、以及策略评估(这里的策略指可以被指定的管理的图像)。

虽然市场上有很多扫描工具,但是大部分不开源。我们认为安全合规的产品应该是开源的,否则你怎么才能信任他们。

Anchore 除了开源以外,还有两大优势,使它可以区别于市场中的商业产品。

首先,我们看的不止是操作系统的镜像。如今的扫描工具专注于操作系统的软件包,比如“你的 RPM 或 DEB 包中有CVE(安全漏洞)么?”这虽然是很重要的,你不希望你的镜像中有不安全的包,但是操作系统包只是镜像的基础。其他的层次都需要进行验证,包括配置文件、语言模块、中间件等等。你可以用的全是最新的软件包,但是可能一个配置文件配置出现错误,不安全就出现在里面。第二个不同就是允许用户添加自己的数据、查询或策略来扩展这个引擎。

什么推动了容器的校验和分析工具的需求出现?这个工具可以解决运营面临的什么问题呢?

企业使用 Docker 首要关注的就是安全,特别是他们正在部署的容器的分配和合规性。在生产环境中,从公共镜像库拉取一个镜像,运行它,并在几秒钟部署,是非常简单的,甚至不知道下面可能发生什么。终端用户在部署应用时,必须信任他们所部署的是安全、高效和易于维护的。

容器是不透明的,它们是一个包含应用程序的可部署的“黑盒”。虽然非常容易把这些镜像看作“打包的应用程序”,但是它们包括了系统的镜像和多达数百个包和成千上万个文件。如同所有在物理服务器、虚拟机或者云上的操作系统一样,镜像也需要维护。镜像或许包含了未补丁的安全缺陷、带有 bug 和错误配置的过期软件。

要对您的容器部署有信心,你需要知道底层是什么,并基于容器镜像的内容来做出决定。

如今容器的创新基本上都是开源的,你认为是为什么呢?是什么促使了它们开源呢?

在过去的 20 年中,各个组织已经经历了开源带来的优势,节省成本,减少锁定,提高了安全性和更快的创新。容器,特别是 Docker,都是非常好的例子。Docker 公司的团队不能在专有系统上创建一个新的软件部署模式,他们不能要求在修改专有系统的代码,而是与行业领导者比如谷歌、IBM、英特尔、红帽合作,朝着一个共同的目标。开源和 Linux 总是开启创新和激励产业困境。在过去,实现一个大的想法需要一个大的团队和很多资源。在开源世界,一个有着很大的创意的小公司可以工作在一个更大的社区中,通过知识共享的力量来协作,提供真正的企业创新。

为了深入的说明开源的使用,Anchroe 团队最近刚从多伦多的 LinuxCon 回来,在哪里,令人难以相信的是,微软作为钻石级的赞助商,展示了他们用在 Linux 上的产品投入的增长。Linus Toravlds 曾说过,“如果微软为 Linux 开发应用就意味着我赢了”。我要把这句话改为“开源赢了”。

容器领域的通用标准的创建还需要时间,在容器的几乎所有部分,仍有许多挑战。在这个领域,创业公司有哪些挑战?

这里有个很重要的点,就是没有开放的标准和开源,我们不可能看到快速推动容器的采用和改变行业格局的创新。开放容器倡议(OCI)由 Linux 和容器行业的行业领导者组成,正在为运行环境和镜像格式创造标准,这将使我们能够看到更多的创新。Anchore 很自豪能成为 OCI 的新成员,我们期待帮助形成标准。

你将如何围绕 Anchor 项目建立一个开源社区?

Anchore 团队来自 Ansible、Eucalyptus Systems 和 Red Hat 的领导团队,在开源社区中拥有丰富的工作经验。从一开始,Anchore 就准备创建一个强大的开源社区,我们正在应用我们在开源世界中学到的经验和教训。第一课,当然,发布要尽早尽快。我们在 6 月开源我们的检测和分析引擎,远远早于我们的商用产品,以便了确保开源项目能够独立运行,使更多的直接用户能够使用它,而无需购买 Anchore 的商用产品。通过支持、服务和增强型的数据源,有很多机会给商用产品创造更多价值,但是如果开源引擎本身没有用,我们将看不到活跃的社区。

我们将 Anchore 模块化,允许添加分析、报告和策略插件,而不需要更改核心的引擎。我们希望保证任何人都可以创建插件,所以我们选择了 Python 作为项目的基本语言,因为 Python 被开发者和系统管理员广泛应用。但是,即使你不熟悉 Python,你仍然可以使用任何你喜欢的语言或者脚本环境创建插件。如果你可以创建一个 Bash 脚本,那么你也可以创建一个 Anchore 插件。我们的目标是最大化的吸引社区的参与。虽然我们鼓励用户将贡献回馈给社区,但是我们也为这个项目构建并进行了授权,来确保可以独立创建和维护私有的插件和模块。

容器的用途不止是在服务器上更大密度的部署应用程序或者技术层面更快的速度,而且还有不同工具的组合,这些工具提供了一种不同的方式来拉近开发者和操作者共同工作。作为在这个领域工作的公司,你们希望提供一个什么样的消息来让开发者和运营产生共鸣?

随着越来越多的运行环境、编排、监控和集成产品,容器的生态系统正在快速发展。所以,我们的架构中的第一个考虑因素不是限定 Anchore 的部署和使用。我们需要确保我们可以适应任何 CI/CD 工作流,无论是私有部署还是云端部署。一个经常问到我们的问题是,Anchore 是否将提供一个包含了镜像扫描和分析的容器仓库。虽然这将大大简化我们的工作,但是这会迫使用户进入特定的部署架构,并限制了用户部署他们自己最好的组件的能力。我们已经确保 Anchore 可以和所有领先的仓库、运行环境平台、 CI/CD 平台和编排工具配合使用。

一些开发者掌握了运营技能,并转换为 DevOps 角色,我们看到系统管理员/运营团队也在更多的了解开发,转换成 DevOps 角色。我们也看到了具有混合能力的团队。我们设计了可供开发运营和安全团队使用的 Anchore ,以便他们共同定义规则和策略来评估开发周期中的任何一个环节。另外一个例子是插件/模块的架构,使任何人都可以在他们喜欢的环境中轻松创建一个模块 —— 无论是以 Python、Go、Perl、C 甚至是一个 Bash 脚本。


via: https://opensource.com/business/16/10/interview-andy-cathrow-anchore

作者:Jason Baker 译者:Bestony 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

使用一款安全开源的密码管理器来储存唯一、复杂的密码来保护你数据及账户的安全。

为你使用的每个站点和服务维护一份唯一、复杂的密码是安全专家每年给公众最常提的建议。

然而不管说过多少遍,几乎每周我们都能听到 XX 网站又被黑了的新闻,问题是这些网站的用户们就爱用一些像“12345”或“password”这样的口令来保护他们的账号。

或许用户对经典的密码做了足够的变形,符合了网站所要求的最低的密码规则。但不幸的是,“Pa$$w0rd!”也不是真正意义上的安全密码。从这方面来说,大多数单词、短语及数字的组合或替换对于密码破解工具而言都太容易破解了,密码越短越容易破解。

最棒的密码应该是长长的,任何可能的字符的随机或者伪随机组合,每个使用场景都用不同的密码。但对一个普通人而言怎么可能记住上百甚至上千个他们创建的独立的账户密码呢?简短的答案是:不能。甚至不管是在现实世界或者数码世界不应该明文记录下任何一个密码。

或许最简单地保存这些复杂、唯一密码的方法是使用密码管理器,它提供了一种访问这些强密码的简单方式。虽然像 LastPass 这样商业解决方案很受欢迎,但是还有一些开源方案。另外对于密码,可以审计你的密码管理器的源码也是很重要的,因为它可以确保你的密码被正确地加密,并且没有后门。

所以不用多说,下面有几款你可以考虑的密码管理器。

KeePass

KeePass 是一个 GPLv2 授权的密码管理器,主要设计用于 Windows ,但是同样可以在其它平台运行。KeePass 提供多个强加密选项、便于导出、多用户密钥、高级搜索特性等等。其为桌面用途设计,也有可以直接运行在浏览器中的插件,并且如果你想要在不同的机器间随身携带你的密码,它可以运行在 U 盘中。想要了解更多 KeePass 信息,你可以从在 Ricardo Frydman 的这篇旧贴中找到。

KeePassX,是 KeePass 的 Linux 移植版本,是另一个你可以考虑的项目。KeePassX 与 KeePass 2 密码文件兼容,并且已经被移植到不同的操作系统上。事实上,KeePass 的非官方版本列表覆盖了日常使用的所有系统。

Padlock

Padlock 是一个最近新进的开源密码管理器。目前在 Windows、iOS、Android 上可用,Linux 版本正在开发中,Padlock 被设计成为了一个“极简风”的密码管理器。它的源码GPLv3 授权的形式发布在 Github 上。项目同样也正在开发一个云后端,同样是开源的,这对那些厌烦了管理密码文件或者在多台电脑间设置同步的人而言是一个很好的补充。

Passbolt

Passbolt 是另一个相对较新的选择,它有 Firefox 和 Chrome 的插件,支持移动设备,还有正在开发的命令行。它基于 OpenPGP,你可以查看在线的一些功能演示(虽然这需要你安装浏览器插件)。以 AGPLv3 授权发布,你可以在 Github 上查看它的源码或者浏览一下项目的路线图来了解下目前和将来计划的功能。


使用一款你信任的密码管理器以及用复杂的密码并不能代替其他安全预防措施,它也不是万无一失的。但是对于许多用户而言,它是让你的数字生活保持安全的很重要的一部分。这些的确不是唯一的选择。还有一些更老的选择,比如 ClipperzPassword Safe,还有我有兴趣想尝试一下的基于 web 的工具 RatticDB

你会使用哪款密码管理器?为什么呢?


via: https://opensource.com/article/16/12/password-managers

作者:Jason Baker 译者:geekpi 校对:wxy

本文由 LCTT 组织编译,Linux中国 荣誉推出

多年来,我一直想学 Vim。如今 Vim 是我最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具。我说的学习,指的是真正意义上的学习。想要精通确实很难,所以我只想要达到熟练的水平。我使用了这么多年的 Linux ,我会的也仅仅只是打开一个文件,使用上下左右箭头按键来移动光标,切换到插入模式,更改一些文本,保存,然后退出。

但那只是 Vim 的最最基本的操作。我的技能水平只能让我在终端使用 Vim 修改文本,但是它并没有任何一个我想象中强大的文本处理功能。这样我完全无法用 Vim 发挥出胜出 Pico 和 Nano 的能力。

所以到底为什么要学习 Vim?因为我花费了相当多的时间用于编辑文本,而且我知道还有很大的效率提升空间。为什么不选择 Emacs,或者是更为现代化的编辑器例如 Atom?因为 Vim 适合我,至少我有一丁点的使用经验。而且,很重要的一点就是,在我需要处理的系统上很少碰见没有装 Vim 或者它的弱化版(Vi)。如果你有强烈的欲望想学习对你来说更给力的 Emacs,我希望这些对于 Emacs 同类编辑器的建议能对你有所帮助。

花了几周的时间专注提高我的 Vim 使用技巧之后,我想分享的第一个建议就是必须使用它。虽然这看起来就是明知故问的回答,但事实上它比我所预想的计划要困难一些。我的大多数工作是在网页浏览器上进行的,而且每次我需要在浏览器之外打开并编辑一段文本时,就需要避免下意识地打开 Gedit。Gedit 已经放在了我的快速启动栏中,所以第一步就是移除这个快捷方式,然后替换成 Vim 的。

为了更好的学习 Vim,我尝试了很多。如果你也正想学习,以下列举了一些作为推荐。

Vimtutor

通常如何开始学习最好就是使用应用本身。我找到一个小的应用叫 Vimtutor,当你在学习编辑一个文本时它能辅导你一些基础知识,它向我展示了很多我这些年都忽视的基础命令。Vimtutor 一般在有 Vim 的地方都能找到它,如果你的系统上没有 Vimtutor,Vimtutor 可以很容易从你的包管理器上安装。

GVim

我知道并不是每个人都认同这个,但就是它让我从使用终端中的 Vim 转战到使用 GVim 来满足我基本编辑需求。反对者表示 GVim 鼓励使用鼠标,而 Vim 主要是为键盘党设计的。但是我能通过 GVim 的下拉菜单快速找到想找的指令,并且 GVim 可以提醒我正确的指令然后通过敲键盘执行它。努力学习一个新的编辑器然后陷入无法解决的困境,这种感觉并不好受。每隔几分钟读一下 man 出来的文字或者使用搜索引擎来提醒你该用的按键序列也并不是最好的学习新事物的方法。

键盘表

当我转战 GVim,我发现有一个键盘的“速查表”来提醒我最基础的按键很是便利。网上有很多这种可用的表,你可以下载、打印,然后贴在你身边的某一处地方。但是为了我的笔记本键盘,我选择买一沓便签纸。这些便签纸在美国不到 10 美元,当我使用键盘编辑文本,尝试新的命令的时候,可以随时提醒我。

vim cheat sheet

Vimium

上文提到,我工作都在浏览器上进行。其中一条我觉得很有帮助的建议就是,使用 Vimium 来用增强使用 Vim 的体验。Vimium 是 Chrome 浏览器上的一个开源插件,能用 Vim 的指令快捷操作 Chrome。我发现我只用了几次使用快捷键切换上下文,就好像比之前更熟悉这些快捷键了。同样的扩展 Firefox 上也有,例如 Vimerator

Vimium

其它人

毫无疑问,最好的学习方法就是求助于在你之前探索过的人,让他给你建议、反馈和解决方法。

如果你住在一个大城市,那么附近可能会有一个 Vim meetup 小组,或者还有 Freenode IRC 上的 #vim 频道。#vim 频道是 Freenode 上最活跃的频道之一,那上面可以针对你个人的问题来提供帮助。听上面的人发发牢骚或者看看别人尝试解决自己没有遇到过的问题,仅仅是这样我都觉得很有趣。


那么,现在怎么样了?到现在为止还不错。为它所花的时间是否值得就在于之后它为你节省了多少时间。但是当我发现一个新的按键序列可以来跳过词,或者一些相似的小技巧,我经常会收获意外的惊喜与快乐。每天我至少可以看见,一点点的回报,正在逐渐配得上当初的付出。

Vim Advantures

学习 Vim 并不仅仅只有这些建议,还有很多。我很喜欢指引别人去 Vim Advantures,它是一种使用 Vim 按键方式进行移动的在线游戏。而在另外一天我在 Vimgifts.com 发现了一个非常神奇的虚拟学习工具,那可能就是你真正想要的:用一个小小的 gif 动图来描述 Vim 操作。

你有花时间学习 Vim 吗?或者是任何需要大量键盘操作的程序?那些经过你努力后掌握的工具,你认为这些努力值得吗?效率的提高有没有达到你的预期?分享你们的故事在下面的评论区吧。


via: https://opensource.com/life/16/7/tips-getting-started-vim

作者:Jason Baker 译者:maywanting 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出