macOS 下打造完美终端 iTerm2+Oh My Zsh

iTerm2 是 macOS 下公认的最佳默认终端替代品,当然只是安装上的话没有经过任何配置会和系统默认的终端使用无异,本文主要是来记录一下我的配置过程。

先来张效果图
iTerm2+Oh My Zsh

首先我们要安装 iTerm2 下载地址https://www.iterm2.com/

安装好以后我们要把 shell 切换成 zsh
(默认的shell是bash,关于bash和zsh之争网上有很多文章在讲,总结下来就是zsh比bash更优秀)

chsh -s /bin/zsh

使用上面的命令可以把默认的shell改成zsh

接着我们来安装 Oh My Zsh
首先来解释一下 Oh My Zsh 是什么,你可以理解成为是 zsh 辅助工具,因为 zsh 本身过于复杂,而安装 Oh My Zsh 后可以让你做到开箱即用。
Oh My Zsh GitHub https://github.com/robbyrussell/oh-my-zsh

GitHub里的文档给出两种安装方式
方法一 curl

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

方法二 wget

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

安装好以后我们要做的就是来配置 Oh My Zsh
配置主要分为两部分,主题和插件
Oh My Zsh 的配置文件名称为 .zshrc 存放在你的用户名文件夹下,是个隐藏文件,你可以用 command+shift+. 这个组合键查看隐藏文件。官方文档中写的编辑方式采用的是 vi 编辑器,需要全部在shell中完成,这里考虑到新手,我们用比较传统的方式,用编辑器直接打开 .zshrc 编辑。

主题配置在11行
Oh My Zsh 自带了多个主题,可以来这里查看
选择你中意的主题,然后修改配置文件的参数。例:我选择的是 agnoster 修改的内容如下

ZSH_THEME="agnoster"

插件配置在65行
Oh My Zsh 自带了很多个实用的插件,可以来这里查看
挑选你需要的插件,当然你也可以安装第三方插件,比如自动补全,我用的是 zsh-autosuggestions
安装方法也很简单,直接克隆到本地

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

不管是自带插件还是第三方插件,你都需要写入配置文件中,写法如下

plugins=(git extract z zsh-autosuggestions)

git这个东西就不用介绍了;extract是一个解压插件,可以让你不用记住各种繁琐的解压命令;z这个插件就比较有意思了,他可以帮你快速的跳转目录,比如你想去home目录,只需要z home 就可以瞬间移动过去;zsh-autosuggestions就是上面写到的自动补全插件。以上就是我启用的几个插件,当然你想启用其他的插件,只需要在配置文件中开启就行。

补充一点:有些主题字体可能不支持,比如我用的 agnoster 主题如果不安装额外的主题,会出现乱码。
Oh My Zsh的文档写了你需要安装 Powerline字体 才能让某些主题显示正常。
安装方法

# 克隆到本地
git clone https://github.com/powerline/fonts.git --depth=1
# 安装
cd fonts
./install.sh
# 清理安装文件
cd ..
rm -rf fonts

以上就是大致的安装过程,具体某些个性化的设置你可以直接打开 iTerm2 的设置自行调整,比如给终端加个背景做个透明化改下配色方案等等,这个靠你自己发挥了。


Dash macOS 激活授权文件

Dash 是 macOS 系统里一个非常好用的 API 文档查询软件。

Dash is an API Documentation Browser and Code Snippet Manager. Dash stores snippets of code and instantly searches offline documentation sets for 200+ APIs, 100+ cheat sheets and more. You can even generate your own docsets or request docsets to be included.

官网 https://kapeli.com/dash
下载地址 https://singapore.kapeli.com/downloads/v4/Dash.zip

授权文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Product</key>
    <string>Dash</string>
    <key>Name</key>
    <string>Yang Wang</string>
    <key>Email</key>
    <string>[email protected]</string>
    <key>Licenses</key>
    <string>1</string>
    <key>Timestamp</key>
    <string>1487632616</string>
    <key>Version</key>
    <string>4</string>
    <key>TransactionID</key>
    <string>KAP170220-3181-48919</string>
    <key>Signature</key>
    <data>DxmY4cUBFC/iYn/zRodj/5EwhL/7TD5BKyqXAOHoE/K19lNCorbnTvWKGmTrWJC242/mT8DJ7Zod
db5J98m8h0Q/YOfDHeDTyTkz5o5gYRAplIzBOqCGwdUjn1YHOI4OsMKH6LIML5VoHIpkxAOQwmmH
iHrpg4CHXopKW1uB45Q=
</data>
</dict>
</plist>

文件另存为 license.dash-license

打开软件设置,找到 License 导入授权文件,完美激活。


给 Listen 1 Chrome 版添加下载功能

Listen 1 是一个非常牛逼的开源音乐播放器,就像作者说的,现在想听一首歌,因为版权的原因,要在不同播放器进行来回切换,这会很让人抓狂,Listen 1 可以很完美的帮你解决这个问题。

GitHub 主页 https://github.com/listen1
下载地址 https://listen1.github.io/listen1/

软件提供了多个平台的安装版本,这里以Chrome讲解。

Listen 1 虽然完美,但是不能下载音乐很让人蛋疼,当然我也找到了一个办法,每个歌曲会有一个链接,点开可以进入歌曲的原始网页,然后使用声海盗这个Chrome插件进行下载,这样操作肯定是繁琐的。我就想着修改代码自己添加一个下载功能,很巧合的是刚好看到网上已经有人发布过该方法,这里我就直接借用代码了。因为那个人修改是老版本的代码,这里我会以新版本为例从新贴一下代码和新的修改位置,并且打包出一个 Listen 1 最新版本的修改版。

具体要修改的地方有两处
第一处在 listen1.html 433行

修改

<div class="title">{{ currentPlaying.title }}</div>

<div class="title">{{ currentPlaying.title }} <a id="download_music" download="" class="" href="" target="_blank">下载</a></div>

这里我增加了 target 新窗口打开,并且把原作者的 download 设置为空,因为安全的原因所以跨域这个问题无解。这样的设置的不足就是无法自动保存歌曲名称,需要手动修改保存的歌曲名称。

第二处在 js/loweb.js 173行
修改

        function successCallback() {
          playerSuccessCallback();
          success();
        }

        function successCallback() {
          button = document.getElementById('download_music')
          button.href = sound.url
          playerSuccessCallback();
          success();
        }

这两处修改好就完成了。

效果图
Listen 1 下载

修改版下载安装
https://cdn.kakarot.net/chrome/crx/listen1-d_chrome_extension-2.1.5.crx

安装方法:Chrome 因为安全原因禁止非Chrome商店的链接安装,你需要把.crx 文件下载到本地,然后打开 chrome://extensions/ 页面,直接把 .crx 文件拖拽到浏览器内进行安装。


麻花影视APP/播放器/iOS/iPhone/安卓下载安装教程

麻花影视绝对可以称得上是2019年初最佳APP了,因为盗版了几部贺岁大片,瞬间火了。APP内各种影视资源都有,并且都是高清无广告,最主要是免费的,可以帮你省下会员钱。

因为软件涉及盗版,所以被封杀的情况比较严重,一直在夹缝中生存。最近有朋友问我如何安装,因为在某度搜出来都是假的链接,并且很多安卓商店上架的都是假的麻花,写本文就是帮助你下载到真正的麻花影视APP。

下载地址https://kakarot.net/link?id=mahua-download

目前安卓系统都可以正常安装下载,直接点击对应的客户端下载即可。iOS版你可能注意到了麻花在App Store上架了一个麻花播放器,但是打开什么没有。因为麻花播放器属于伪装上架,下面重点讲。

打开了「IOS端下载」后会提示你到 App Store 下载一个麻花播放器,在商店下载后,回到麻花的下载界面,你会看到 Download 按钮,点击跳转到 App Store ,然后在选择打开,这样打开播放器后,软件会自动下载更新,更新完成后,你就会看到一个真正的麻花。

不得不佩服麻花开发者,用这种方法上架我想最大的好处就是可以解决苹果证书过期的问题。

推荐
麻花主要以正规影视内容为主,如果你看一些非常规内容,我想开心迅雷(点我下载)最适合你。



自建 IPFS 节点分享

IPFS(星际文件系统) 是这段时间比较流行的去中心化系统,你可以里面存储任何内容并且无法删除,一旦上传永久保存。

这么好的东西在国内肯定是无法使用的,目前官网和很多节点都被XX。为了方便研究,我自己建了一个节点。

https://ipfs.kakarot.net/ipfs/{HASH}

更多公共节点
https://ipfs.github.io/public-gateway-checker/


文件上传方法
官网的上传方法没有一点计算机基础,你可能会很难上手。不过好在为大家提供了一个GUI桌面客户端。

IPFS桌面客户端

下载地址
https://github.com/ipfs-shipyard/ipfs-desktop/releases

如果你想快速体验,可以打开网友制作的上传网站:https://globalupload.io/

网页版上传限制比较多,建议你花点时间学习安装客户端。

文件上传后你会得到文件的 HASH 例

QmUCiD6m15myQMbLXUGeMcstZrGtbSGmYdMq1KYeCEASgL

你只需要带入到节点中,就可以实现URL访问 例

https://ipfs.kakarot.net/ipfs/QmUCiD6m15myQMbLXUGeMcstZrGtbSGmYdMq1KYeCEASgL