各类工具使用小技巧

VIM 使用小技巧

配置鼠标和显示行号

服务器在安装了加密之后,vim无法使用鼠标,也无法显示行号了,可以通过如下方法修改:

  1. 在~路径下创建.vimrc,然后加入两行
    set mouse=a
    set nu
    修改完之后保存退出。
  2. 关闭bash窗口,或者source .vimrc,接下来vim就可以使用鼠标和显示行号了。

shell 脚本小技巧

shell脚本注意事项

有些情况下,我们会碰到一个问题,在编译时,有些shell脚本会无法执行。相信大家会第一时间去检查脚本的权限,看看脚本是否有可执行权限——ls查看下。如果权限不对,使用chmod指令修改下就好了。
但是有些时候,发现权限对了,脚本执行仍然不对,如这种提示——bad interpreter:No such file or directory。这种情况,其实是脚本的文件结尾符是dos格式的,而非unix标准编码。
碰到这种情况,可以通过如下方式定位、解决。

  1. 使用vim打开文件,然后进入命令模式,输入set: ff( )并回车,此时,文件下方会有提示 或者 如果是第二种,那么恭喜你中招了,这个文件的格式是dos的(也就是windows一系列系统的格式),这种格式的脚本,是无法在shell中执行的。
  2. 想要修改,也非常简单。输入命令 ,然后回车,问题搞定了。保存文件,会发现该脚本已经可以执行了。

Linux中,更改某个目录的权限
sudo chmod -R 777 /honme/zzz

Putty 使用小技巧

实现输入中文和log行数增加

  1. 在Translation标签页,将putty的字符集修改为UTF-8。
  2. 将字体设置成Fixedsys。
  3. 在Window标签页,将Lines of Scrollback设置成为20000。
  4. 将Session中的IP地址和Saved Session填写好。选择Save。
  5. 下次登录的时候,只要选择存储的Session就可以了。

Hexo-Markdown 插入图片

参考
这种方法加载失败
实例:
"Window的界面解析"

Android-PackageManagerService-Analysis/4-packagemanager-packageparser-parcelable.png

Hexo 站内文章之间跳转

可以从当前文章,跳转到另外的一篇文章,实例见Android中Window机制 这篇文章
首先要分析Window的创建过程,就必须了解Activity的启动过程

MarkDown 实现业内跳转

1
2
3
4
1. 先定义一个锚(id)
<span id="jump">Hello World</span>
2. 然后使用markdown的语法:
[XXXX](#jump)

3.使用Sublime Text 3进行Markdown 编辑+实时预览

Sublime Text

Android中的源码查看方式

1) 通过SDK 可以查看framework/base/core下的Java和res源码
2) 通过Google官网 https://android.googlesource.com
3) Qualcommon网站 https://source.codeaurora.org
4)OpenGork-1 http://android.macpod.net/
5) OpenGork-2 https://www.androidos.net.cn/
6) OpenGork-3 http://androidxref.com/

Chrome 实用插件

OneTab
谷歌访问助手
tampermonkey
Github三件套: Octotree
Listen 1 http://listen1.github.io/listen1/
office online
JSON Viewer
JSON Editor
MarkDown Here
掘金
inoreader RSS工具
印象笔记
书签侧边栏
privatix 代理

Chrome插件开发

图标素材

Flatlcon
https://flaticons.net/
https://www.flaticon.com/most-downloaded
https://pattern.flaticon.com/

Easyicon

Fontello

Swifticons

Noun Project

Android 反编译

https://blog.csdn.net/s13383754499/article/details/78914592

java -jar apktool_2.3.3.jar d -f YouTube.apk -o MMTS

Git 使用

git clean还你一片清洁之地
一些你可能会用到的Git实用技巧和命令

  1. 将某笔提交生成一个patch
    最近的一次提交生成一个patch
    git format-patch -1
    git format-patch -s 1bbe3c8c197a35f79bfddaba099270a2e54ea9c7
    git format-patch HEAD^ <==最近的1次commit的patch
    git format-patch HEAD^^ <==最近的2次commit的patch
    git format-patch HEAD^ <==最近的3次commit的patch
    git format-patch HEAD^ <==最近的4次commit的patch
    git format-patch HEAD^^^^^ <==不支持!!!!error!!!

github

  1. github trend 总结了每天、每周、每日的热门项目和开发者
  2. github topic 展示了最新和最流行的讨论主题,还能看到更多的非开发技术的讨论主题

RSS的使用

RSS推送技术–打造自己的今日头条
Q: 希望通过用RSS查看关注网站之前的文章,如何操作?

建站

搭建自己的服务器和域名

repo的使用

  1. 对于某个项目,只是需要修改某个模块的代码,比如Launcher,可以只需要拉取该模块的代码
    repo init 8909-la301
    repo sync -c packages/app/Launcher3
    这样就可以只拉取Launcher3模块的代码.
    问题: 代码提交的时候,需要从本地分支提交代码。
    新建本地分支的方法:
    a) 之前的repo start master –all肯定不能使用
    repo start master packages/apps/Launcher3
    b) git checkout的方式

常用图标:
└──

小程序入坑问题锦集

  1. 如何实现将需要展示的图片放到网站上
    小程序可以直接到网站上获取图片等资源
    https://www.cnblogs.com/zhoubingyan/p/8979409.html
  1. 为何同样大小的图片,就不能显示?

VirtualBox 安装Mac OS

VirtualBOX安装Mac OS X 10.7正式版
全民吃苹果,首发VirtualBOX安装Mac OS X 10.7正式版_可完美升级,无bug

Ubuntu下使用VirtualBox安装Mac OS X Mavericks(10.9)

  1. 下载dmg格式文件
    http://www.pc6.com/mac/148040.html
  2. 使用ultraiso工具将dmp文件转换成ISO格式
  3. 遇到问题:fatal:no bootable medium found! system halted!
    目前暂未解决

WordPress

弹性Web托管

adb

过滤某个TAG的log: adb logcat -s TAG

Ubuntu 快捷键

Ctrl + Alt + F12 关闭图形界面, 显示器会黑掉, 没有任何的显示,但是显示器的指示灯是亮的
Ctrl + Alt + F7 开启图形界面,屏幕会亮起来.

迅雷

去掉迅雷中嵌入式字幕中的中文字幕
使用会声会影视频编缉软件,在字幕的位置加一个遮罩,渲染输出。

跟踪函数调用

  1. 异常时打印函数调用信息
    fillInStackTrace();//会清空之前的栈内信息
    e.printStackTrace();

Android.mk 中过滤

ifeq (, $(filter msm8953_x57_l8, $(TARGET_PRODUCT)))

endif

在线编译运行小工具

适用于Php,Java,C,C++,Go等多种语言
https://c.runoob.com/compile 背景为白色
https://tool.lu/coderunner/ 背景为黑色

ubuntu 如何统计代码行数

https://blog.csdn.net/xiao_yuanjl/article/details/78905160
方法一:

方法二:

1
2
3
4
//安装
$ sudo apt-get install cloc
//进入到需要统计的目录执行,注意后面有个“.“ 表示当前目录
$ cloc .

结果解释:
files 文件个数
blank 空白行数
comment 注释行数
code 代码行数

.9矢量图查看

Method Draw http://editor.method.ac/
可以在此网站查看.9 patch路径画出来的图的样子.

Understand 高效代码静态分析神器

Understand:高效代码静态分析神器详解(一)
Understand:高效代码静态分析神器详解(一)
understand软件使用教程
该软件可以帮助你快速的分析代码结构流程.
官网官网下载收费,支持Linux、Windows、MAC系统.
Scientific Toolworks Understand for linux 的下载
Linux64位下载地址:https://pan.baidu.com/s/1i52nrut
小技巧 :
1、设置字体和颜色风格
修改默认字体:Tools - Options - Editor - Default style
修改颜色: Tools - Options - Editor - Styles
2、生成UML类图、调用树图
默认安装的插件不支持这两种图,需要从官网下载插件。
_http://www.scitools.com/perl_scripts/uperl/uml_class.upl
_http://www.scitools.com/perl_scripts/uperl/invocation.upl
放到sti/conf/scripts/local目录下。
然后重新运行,执行 project- project graphical views - xxxx可以生成这两种图。
3、更改图的字体
直接修改对应的脚本文件(\Program Files\STI\conf\scripts目录下),在do_load( )函数的对应位置加入如下的设置:

1
2
3
4
$graph- default( fontname , Consolas , node );
$graph- default( fontsize , 10 , node );
$graph- default( fontname , Consolas , edge );
$graph- default( fontsize , 10 , edge );

Android Studio 小技巧

android studio 学习入门篇
查看类的继承关系

AndroidStudio 3.1.2 快捷键
AndroidStudio有个不好的地方是,快捷键太多了,很多快捷键功能会与系统功能冲突,导致快捷键功能实际不起作用,而不生效.

Ctrl + C:复制
Ctrl + Shift + C:复制绝对路径,在某个文件内,按此三个键,实现复制当前文件的路径
Ctrl + Shift + Alt +C :复制当前文件相对路径,得到的是当前项目文件夹下面的路径

查找与替换
Ctrl + F: 文件内查找
Ctrl + R: 文件内替换
F3:查找下一个
Shift + F3:查找前一个
Ctrl + Shift + F:当前项目中全局搜索
Ctrl + Shift + R:当前项目中全局替换

选择
Ctrl + W : 会选择鼠标附近的模块代码,一直点击的话,会一直扩大选择的范围
Ctrl + Shift + W: 对应的会缩小选择的范围

常用的:
Ctrl + F12:显示当前文件中,文件结构,也就是有哪些方法和变量
Ctrl + Shift + N : 在当前项目中查找文件
Ctrl + E :显示最近打开的文件
Ctrl + G :按照行号跳转
查找变量或者方法被使用的地方: 右键-> Find Usages
显示变量或者方法被使用的地方: Ctrl + Alt + 7
Ctrl + Alt + H:可以查看当前方法被哪些地方调用到了,以及当前方法掉用了哪些函数.

Ctrl + +:展开方法
Ctrl + -:折叠方法
Ctrl + Shift + +:展开所有方法
Ctrl + Shift + -:折叠所有方法
Ctrl + Alt + I:模块代码自动对齐

Ctrl + D: 在下一行复制当前行代码
Ctrl + Shift + U: 整个单词的大小些切换,全部大写,或者全部小写
Ctrl + Shift + Alt + 2:显示文件夹和文件,点击后,直接通过文件夹的方式打开文件所在的路径.

文件对比: View -> Compare With

AS 插件

事半功倍:Android Studio 优秀插件汇总
最完整的Andriod studio插件整理 有图形化展示插件的功能

Visual Studio 小技巧

Visual Studio 2017 常用快捷键
Ubuntu Version 1.23.1 的快捷方式如下:
CTRL + P 打开某个文件或者打开某行,可以输入?,进行命令查询
CTRL + P 之后可以使用的命令如下:
a) :123 跳到当前文件的123行
或者直接Ctrl + G 也可以跳到某行
b)# 列出了当前项目的所有方法,可以选择或者输入进入对应的方法
c) > 可以执行某些命令,这些命令很好玩,
比如第一个Add Curor above,会在当前行上面的一行增加一个光标,后面输入的字符,两行可以同时输入
如果当前连接上了手机的话,Android: View Logcat,会在当前文件右边打开一个logcat的窗口,显示实时的log,非常有用
还有很多其他的命令待探索,各种语言或者工具,都分别有一些小工具
d) edt 会显示当前打开了的所有的文件列表,我们可以输入文件名进行跳转,这个比CTRL+TAB更好一点,当打开的文件太多的时候,用TAB键很费力
e) ext 会进入安装了的插件管理
f) view 可以进行其他模块的跳转,比如说,打开文件界面,打开搜索界面,打开控制台界面等等
g) @ 可以@当前文件中的所有方法和变量,然后进行跳转
h) @: 可以调用当前文件中的所有方法和变量,然后进行跳转,和@的区别是,进行了归类,把方法放一起显示,变量放一起显示

ctrl + w 关闭当前打开的文件窗口
CTRL+TAB:活动窗体切换 (alt+tab:任务切换)
CTRL+SHIFT+TAB:上一个文档窗口
Ctrl+F: 在当前文件中查找 (Find)
Ctrl+Shift+F: 在当前项目中查找
F3: 查找下一个
Shift+F3: 查找上一个
Ctrl+H: 在当前文件中替换
Ctrl+Shift+H: 在当前项目中替换
Ctrl+K,C: 注释选定内容 (Comment)
Ctrl+K,U: 取消选定内容注释 (UnComment)
Ctrl+J:打开/关闭 Debug 控制台
Ctrl + Shift + Y :打开/关闭 控制台
View -> Debug Control :打开/关闭 控制台

Ctrl + Shift + Y: 打开新的VS窗口
Ctrl + = 放大窗口
Ctrl + - 缩小窗口

shift+f12:查找所有引用(光标放在单词上,按Shift+F12)

Shift+Alt+箭头键:选择矩形文本,鼠标可以占多行,实现多行同时输入

鼠标右键功能:
鼠标选中,
右键-> Peek Definition 变量或者方法 查找其定义
右键-> Go to Definition,跳转到其声明或者定义的地方
右键-> Find All Reference,查找所有相关的地方

实现两个文件的比较:
在左侧选中需要比较的文件1,右键-> Select for Compare
在左侧选中需要比较的文件1,右键-> Compare with Select

Ctrl + Atl + - :光标回到上次的位置
顶部状态栏-> Go -> Back : 光标回到上次的位置
Ctrl + Shift + - :光标回到下次的位置
顶部状态栏-> Go -> Back : 光标回到下次的位置

Ctrl + K,T 调整VS的颜色

VS 插件推荐:
插件搜索notepad++,sublimetext,markdown等,可以安装相关的工具
搜索Android,第一个Android插件需要安装

VS 插件的使用

  1. 搜索自己需要的插件
  2. Install
  3. Reload 即可

好用的VS 插件推荐

  1. Git History Diff 可以迅速的查看git提交记录

vscode Java 开发环境配置

Eclipse 小技巧

Git 常用命令

  1. gitk工具命令:gitk

Java小技巧

  1. 判断字符串是否为空
    if(TextUtils.isEmpty(plmn.trim())){}

USB 数据线调试

1.解决error: device not found

1
2
All-Series:~$ adb root
error: device not found

解决adb调试报错error:device not found

2.解决adb devices no permissions
手机插入数据线输入lsusb

1
2
3
4
5
6
7
8
9
10
11
All-Series:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:8009 Intel Corp.
Bus 002 Device 002: ID 8087:8001 Intel Corp.
Bus 002 Device 003: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 002 Device 004: ID 0101:0007
Bus 002 Device 005: ID 046d:c534 Logitech, Inc.
Bus 002 Device 030: ID 201e:2871

拔掉数据线,输入usb

1
2
3
4
5
6
7
8
9
10
All-Series:~$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 8087:8009 Intel Corp.
Bus 002 Device 002: ID 8087:8001 Intel Corp.
Bus 002 Device 003: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 002 Device 004: ID 0101:0007
Bus 002 Device 005: ID 046d:c534 Logitech, Inc.

发现少了Bus 002 Device 030: ID 201e:2871,这个就是我们的数据线的端口

Linux 万能的android.rules文件 解决 adb devices no permissions

关于Android 8.0

Framework模块编译后,push framework.jar包不生效问题
需要将system/framework/arm目录里面对应的framework.oat framework.art framework.odex等三个文件删除
才能生效
对于push services.jar
需要删除arm和oat目录里面的对应文件

Android 编译

  1. 一条命令编译多个模块
    make SystemUI;make Launcher3
    make framework;make services;make Settings等等

  2. 写一个自动编译脚本