Vim 初级入门

前言

没有接触过Vim的同学, 一定会觉得平时使用的IDE很好用, 但是当你开始使用Vim, 并且渐渐熟悉, 我觉得你会爱上这一款编辑器. 千万不要因为一开始Vim有太多命令需要记忆而放弃它.

这篇博客是翻译自《Learn Vim Progressively》, 并在我觉得有必要添加说明的地方添加了自己的说明. 我认为是最适合入门Vim的教程, 没有之一.


正文开始

你想以最快的方式自学Vim吗? 在人类最优秀的编辑器面前, 你必须至少先学会如何幸存下来, 然后再去一点点整合使用它的技巧.

Vim the Six Billion Dollar editor

Better, Stronger, Faster

当你学会使用Vim, 它将成为你最后一个编辑器. 虽然学习它的过程很不容易, 但是最后它会难以置信的好用.

NSPredicate(谓词) 的使用

谓词(NSPredicate)提供在Cocoa中指定查询的普通解决方案。NSPredicate类用于定义逻辑条件以限制或筛选获取结果。 NSPredicate 的基本使用 定义: NSPredicate *predict = [NSPredicate predicateWithFormat: @"SELF CONTAINS[cd] %@", SOMESTRING]; 常用方法: 关键字 效果 比较运算符…

HTML5 WebWorker 简单使用

  1. 什么是WebWorker

    web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。我们知道页面的展示放在主线程,如果让主线程进行一系列复杂的操作,那么页面就会变得非常卡,用户体验会很差。这是我们可以使用web worker进行复杂操作的实现,然后将处理结果返回给页面,页面进行更新即可,这样就不会影响用户主页面展示的执行。

  2. 方法: postMessage() : 用于向HTML页面返回消息 terminate() : 终止web worker, 并且释放资源

HTML5应用缓存简单使用

  1. 什么是应用缓存?

    HTML5引入了应用缓存概念,意味着在没有因特网连接时也可以进行访问。

  2. 使用应用缓存好处:

    • 离线浏览,没有因特网的情况下依然可以进行访问
    • 访问速度提升,已经缓存的资源加载更快
    • 减少服务器负载,浏览器只需要下载更新过的页面资源
  3. 实现方法:

    如果需要使用应用缓存,需要在页面<html>标签中包含 manifest 属性,而manifest文件建议使用文件扩展名.appcache

  4. Manifest文件功能:

    • CACHE: 在此标题下列出的文件会在首次访问加载之后进行缓存;
    • NETWORK: 在此标题下列出的文件需要与服务器连接、且不会被缓存;
    • FALLBACK: 在此标题下列出的文件规定当页面无法访问时的退回页面(如404页面)

UITableView使用简单进阶(二):索引条

前文已经介绍了如何给UITableView添加搜索栏,这次要给UITableView进一步添加索引条。 基本思路:

  1. 获取总统名字的首字母组成一个索引字母表储存在数组中;
  2. 修改TableView的代理方法实现section的显示,section的数量应为索引字母表的元素的个数;
  3. 把索引条添加到TableView 中,用TableView的代理方法即可实现。

UITableView使用简单进阶(一):搜索栏

UITableView 是开发中使用十分频繁的控件,本系列记录UITableView的进阶使用:UITableView的搜索栏和字母索引表。

不想看我废话的可以直接到gitHub仓库下载源码😏。 UITableView使用进阶gitHub源码

搜索栏有两种实现方式,第一种是通过UISearchBar和UISearchDisplayController实现,第二种是通过UISearchController实现。而在iOS8.0之后,苹果官方推荐使用第二种方式。

使用UISearchController

本文使用的是第二种方式(UISearchController),不过源码中也实现了第一种(UISearchBar+UISearchDisplayController)。关于UISearchBar和UISearchDisplayController的使用,可以参考我的另一篇文章:UISearchBar和UISearchDisplayController实现搜索栏