My Plugins

Summary

全面总结在我地mac,windows pc,安卓手机上用到地各种插件,希望达到的效果是,今后换电脑可以迅速地搭建起一套熟悉地环境。

Plugins

Chrome Plugins

TamperMonkey

不同网站上脚本资源的合集,可以优化网站浏览。比较推荐的脚本有豆瓣资源下载大师,youtube download等。

ABP

用于拦截广告

Vimium

一款在chorme上实现vim操作的插件,与下面的CrxMouse设计逻辑完全相反,这个是将所有操作尽量在键盘上完成

  • 上下左右:k j h l d 下翻半页 u 上翻半页 gg 至顶 G 至底
  • 新建、关闭标签页:x X t ctrl+t ctrl+w cmd+shift+t 打开刚关闭的标签页
  • 跳转网页链接:f + 黄色框提示
  • 切换标签页:J K T搜索 Ctrl+Tab Cmd+1、2、3
  • 前进,后退 H L
  • 进入可视模式: v选中之后按y复制,V选中一行
  • 常用搜索:
    • O o 打开Vomnibar 搜索历史、标签页等
    • T 打开标签页
    • B b 使用默认搜索引擎
  • 使用Vomnibar 使用搜索引擎

    • 操作方法:先使用o打开Vomnibar 在渐入佳境关键字加空格进入搜索引擎,比如g 空格 华中科技大学。
    • 添加搜索引擎:手动添加了百度和知乎
      1
      2
      b: https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%s Baidu 
      zh: https://www.zhihu.com/search?type=content&q=%s Zhihu
  • Tricky:

    • gi 跳转至输入框 使用tab跳转各个输入框 使用esc跳出输入框
    • cmd + l 跳转至输入框
    • 如果焦点集中在了输入框中怎么办:按下ESC跳出输入框
    • 如果焦点集中在地址栏怎么办:先按下Tab跳转至输入框,然后在Esc跳出输入框
    • i输入模式的作用非常小,主要是使得Vimium快捷键失效,这样可以使用chrome自带的与vimimu冲突的快捷键

CrxMouse

对于mac上使用鼠标操作进行了优化

  • 右键在网页上划动
    • 左:向前
    • 右:向后
    • 上:鼠标上滚
    • 下:鼠标下滚
    • 左下:到底
    • 左上:到顶
    • etc
  • 左键拖动文字
    • 向左拖动谷歌搜索文字
    • 向右拖动百度搜索文字
  • 左键拖动链接
    • 向左或向右拖动在新的标签栏打开
  • 左键拖动图片
    • 向左或者向右:在新的标签栏中打开图片
    • 向下保存图片

      Octotree

      用于侧边栏中显示github中的目录

      OneTab

      将暂时不用的相关标签页集中收纳

      Downie 3

      配合Downie客户端使用,自动下载网页链接中的资源文件

      sourcegraph

      像IDE一样在github中查看代码,跳转

VIM

spf13vim

GitHub:spf13-vim
这是一个大神vim的插件集合,其中包含了众多插件,这里介绍几个我使用频率较高的插件。

  • Vundle
    用于管理插件的插件,大小写敏感
    • :BundleInstall 在vim中执行命令以安装插件
    • :BundleUpdate 根据.vimrc.bundle中bundle后的内容删除插件
    • :BundleClean 删除已经卸载掉的插件包
    • :BundleList 插件列表
  • NerdTree
    用于打开文件列表
    • Ctrl + E打开左侧列表栏
    • j,k上下切换
    • o 或者双击 打开文件夹或者文件
    • go 在已有窗口打开文件,但不跳转之
    • t 在新tab中打开
    • ? 显示帮助
    • gT 跳转至打开的前一个Tab
    • gt 跳转至打开的后一个Tab
    • :tabc 关闭当前tab页
    • :tabo 关闭之外的tab页
    • :tabs 显示所有打开的tab页
    • :tabp 前一个tab页
    • :tabn 下一个tab页
  • NerdCommander
    • leader + cc 注释
    • leader + cu 取消注释
    • leader + c space 注释与取消之间切换
  • ctrlp
    文件模糊搜索
    • Ctrl + p 模糊搜索当前文件夹下及其子目录文件
    • 搜索完成后 Ctrl + j Ctrl + k 进行上下选择
    • 选中文件后 Ctrl + x 水平分屏显示 Ctrl + v 垂直分屏显示 Ctrl + t 新tab中打开
  • neosnippet
    自动补全工具 自动补全语法位于.vim/bundle/neosnippet-snippet/neosnippet中
    • 关键字输入后会有匹配列表,使用tab键选择匹配项
    • 选中需要的匹配之后 Ctrl + k 将匹配项应用到代码中
  • undo tree
    可视化地显示撤销操作

    • 使用 leader + u打开undotree窗口
  • surround
    给一段文字加上括号

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # *表示光标所在位置
    Old text Command New text ~
    "Hello *world!" ds" Hello world!
    [123+4*56]/2 cs]) (123+456)/2
    "Look ma, I'm *HTML!" cs"<q> <q>Look ma, I'm HTML!</q>
    if *x>3 { ysW( if ( x>3 ) {
    my $str = *whee!; vlllls' my $str = 'whee!';
    <div>Yo!*</div> dst Yo!
    <div>Yo!*</div> cst<p> <p>Yo!</p>

EasyMotion

强大的跳转功能

  • leader + leader + w 向后跳转,助记word, 此操作之后会有若干个字母高亮,选择字母跳转到相关位置
  • leader + leader + b 向前跳转,助记back
  • leader + leader + s f于F的加强版,不限行号,此操作后输入一个想跳转的字符,则跳转至该处。
  • leader + leader + j,k 行级跳转
  • leader + leader + h,l 行内跳转
  • leader + leader + . 重复上一次操作

Markdown Preview

在spf13之外自己添加的一个bundle
GitHub:MarkdownPreview

VS Code

VSCODE VIM

没有.vimrc可提供配置,但是在~/Library/Application\ Support/Code/User/settings.json 中可以添加设置内容
目前我添加的内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
"_command":"json不能有注释,所以这些只是文本之外的说明"
"vim.easymotion": true,
"_command":"使用EasyMotion 主要用法与shell中vim的EasyMotion相同"
"vim.sneak": true,
"_command":"快速跳转工具,使用方法s<char><char>用于搜索之后第一个出现的<char><char>"
"vim.incsearch": true,
"_command":"在搜索的时候,同时跳转"
"vim.useSystemClipboard": true,
"vim.useCtrlKeys": true,
"vim.hlsearch": true,
"_command":"搜索高亮"
"vim.insertModeKeyBindings": [
{
"before": ["j", "j"],
"after": ["<Esc>"]
}
],
"_command":"jj替代esc"
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": ["<leader>", "d"],
"after": ["d", "d"]
},
{
"before": ["<C-n>"],
"commands": [":nohl"]
}
],
"_command":":nohl的含义是搜索之后如果移开搜索内容,则高亮消失"
"vim.leader": "<space>",
"vim.handleKeys": {
"<C-a>": false,
"<C-f>": false
}
"_command":"在vim中禁用c-a c-f使其为系统快捷键"
}

ZSH

  • oh-my-zsh
    GitHub:oh-my-zsh
    这个插件类似于spf13vim,是一个插件的集合,里面包好非常多实用的插件,但是默认只开启了git,安装完oh-my-zsh 之后只需在.zshrc中Plugins中添加想使用的插件,然后source一下即可。
    1
    2
    3
    plugins=(
    git zsh-autosuggestions
    )

ydict

GitHub:ydict
shell版本有道词典,使用ydict hello即可

The Fuck

纠正之前错误的命令
GitHub:TheFuck

autojump

使用j加模糊地址搜索快速跳转至常用地址
GitHub:AutoJump

zsh-syntax-highting

将fish上的输入正误判断移植到了zsh上,若输入命令正确则显示为绿色,输入错误显示红色
GitHub:Zsh-Syntax-Hightlighting

AutoSuggestions

根据之前的命令输入自动提示命令
GitHub:AutoSuggestions

vi-mode

用vi模式使用命令行,在oh-my-zsh中收录

Nyancat

彩虹猫彩蛋,在oh-my-zsh中收录
GitHub:Nyancat

cMatrix

模仿黑客帝国的字符下坠彩蛋
GitHub:cMatrix

Command Lines

Git Download

用于下载git中的单个文件。
GitHub:git-dwon-repo

pbcopy and pbpaste

命令行中使用系统剪切板,常见的用法有

1
2
3
pwd | pbcopy # 将当前路径复制到剪切板中  
pbcopy << b.txt # 将b.txt中的内容复制到剪切板中
pbpaste >> a.txt # 将剪切板中内容复制到a.txt中

vim中与系统剪切版交互

将vim中文字复制到系统剪切板需要使用v模式,然后按三个按键:
“ + y
同理,将系统剪切板复制到vim中:
“ + p

grep -nr

在某个文件下搜索所有文字内容

1
grep "will_he" /etc -nr #在/etc文件夹下遍历所有文件查找will_he

mdfind

osx中类似于spotlight的搜索命令

1
2
3
4
5
6
7
8
9
10
mdfind -onlyin ~/Downloads/ essay  
```
其中 onlyin用于限制搜索的范围
## screencapture
使用命令行截屏
```bash
screencapture -C -M image.png # 抓去光标所在全屏幕,并插入到新邮件的附件中
screencapture -c -W # 用鼠标选取窗口并复制到剪切板
screencapture -T 10 -P image.png #抓去10s之后的屏幕,并在预览中打开
screencapture -s -t pdf image.pdf #用鼠标截取用一个区域,存为pdf

launchctl

控制脚本启动
launchctl list显示当前启动列表

say

say hello 读出hello,可以用于在脚本中发出提示音,也可以尝试ssh远程控制电脑发声

1
say -f hello.txt -o hello.aiff #将文件读出来,并存放在音频文件中

Tools

Downloads

OSX

  • Downie 3
    复制网址,嗅探资源,同时具备资源检索能力
  • Folx
    资源下载加速
  • 迅雷
    配合电影天堂之类网站可以找到丰富的资源

    Windows

  • IDM
    开启多线程下载
  • PanDownload
    百度云盘下载不限速
  • uTorrent
    蝴蝶,珞樱,北邮人bt等PT站的下载工具

OSX

iTerm2

非常好用的终端神器

Dr.Cleaner Pro

系统清理工具,若要用到app管理功能需要手动找破解版

Windows PC

Everything

Windows平台上轻量,快速查找文件的利器

XX-Net

免费的VPN

Android Phone

Termux

安卓端Shell,打开了手机的新世界,可玩性非常之高
具体可以参考
Termux使用技巧
目前用到的内容主要有.

  • 安装oh-my-zsh

    1
    sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
  • 使用SSH控制电脑

  • 在电脑上SSH到手机上
  • 换成清华的源
  • termux文件夹下创建系统文件夹软链接,实现与系统文件的交互
    关于Termux相关内容可以另起一个新文章描述

    Xposed

    又一安卓神器,在此框架下可以实现支付宝偷能量,微信修改运动步数等操作,需要手机ROOT

    GitMe

    在手机上的GitHub第三方客户端

    Google Platform

    谷歌框架,安装后可以通过GooglePlay安装,管理一些国内应用市场上没有的应用。
    例如Termux之类的。同时Google的语音助手在英文上也很强大

    VPN

    目前使用的是Cisco AnyConnect,之前使用过SS,另外Lantern也有安卓版本,没有试过是否好用

Tricks

count char in vim

1
:%s/./&/g  #含义是所有的字符用自身替换

跳出vim还有另外一种计算文件字符数量,行数,单词数量的方法 wc

1
cat foobar.txt | wc -c

jump to pair

快速跳转至括号的另一半 %

VIM 中快速缩进

在normal模式中使用>> 和 两个小于号 快速缩进,在virtual模式中,使用单个大于号小于号 快速缩进
另外vim中还可以用等于号快速格式化

VIM中重复操作

重复类型 重复操作符 回退操作符
文本改变重复 . u
行内查找重复 , ;
全文查找重复 n N
文本替换重复 & u
宏重复 @[寄存器] u

正则表达式中变量的使用

查找部分(和)中间放变量名,在替换部分用\1 \2 \3替代。

1
:%s/<C-\(.\)>/Ctrl + \1/gci #将类似于<C-e>替换成Ctrl + e

Markdown中箭头使用方法

注:需要去除右边符号中的空格
| 箭头效果 | 对应markdown符号|
| —— | —— |
| ↑ | & uarr;|
| ↓ | & darr;|
| ← | & larr;|
| → | & rarr;|
| ↔ | & harr;|
| ↕ | & varr;|
| ⇐ | & lArr;|
| ⇒ | & rArr;|