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
2b: 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
- 左键拖动文字
- 向左拖动谷歌搜索文字
- 向右拖动百度搜索文字
- 左键拖动链接
- 向左或向右拖动在新的标签栏打开
- 左键拖动图片
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
3plugins=(
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
3pwd | 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
10mdfind -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
又一安卓神器,在此框架下可以实现支付宝偷能量,微信修改运动步数等操作,需要手机ROOTGitMe
在手机上的GitHub第三方客户端Google Platform
谷歌框架,安装后可以通过GooglePlay安装,管理一些国内应用市场上没有的应用。
例如Termux之类的。同时Google的语音助手在英文上也很强大VPN
目前使用的是Cisco AnyConnect,之前使用过SS,另外Lantern也有安卓版本,没有试过是否好用
Tricks
count char in vim
1 | :%s/./&/g #含义是所有的字符用自身替换 |
跳出vim还有另外一种计算文件字符数量,行数,单词数量的方法 wc1
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;|