打造开发工具箱

打造更好的开发机环境,解决无root权限,解决多用户用一个服务器账号登陆问题

Tmux + Ctags

因为远端服务器超时断开后,再次登陆时又需要再进行一些重复操作,比如终止vim,
第一步就编译安装tmuxctags吧.

mkdir ~/whois/bin
mkdir ~/whois/opt
mkdir ~/whois/tools
cd ~/whois/tools/
#wget -c http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz
#wget -c https://github.com/tmux/tmux/releases/download/2.6/tmux-2.6.tar.gz
#wget -c https://github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz
#wget -c https://ftp.gnu.org/gnu/ncurses/ncurses-6.1.tar.gz

# --prefix= 一定要用绝对路径

#tar xf ctags-5.8.tar.gz
#cd ctags-5.8/
#./configure --prefix=/home/xiaoming/whois/opt/ctags/ && make && make install

#tar zxf ncurses-6.1.tar.gz
#cd ncurses-6.1
#./configure --prefix=/home/xiaoming/whois/opt/ncures-6.1/ && make && make install
#tar zxf libevent-2.0.20-stable.tar.gz
#cd libevent-2.0.20-2.1.8-stable
#./configure --prefix=/home/xiaoming/whois/opt/libevent-2.0.20/ && make && make install

tar xf tmux-2.6.tar.gz
cd tmux-2.6
sh autogen.sh
DIR1=/home/xiaoming/whois/opt/ncures-6.1/
DIR2=/home/xiaoming/whois/opt/libevent-2.0.20/
./configure --prefix=/home/xiaoming/whois/opt/tmux-2.6 CFLAGS="-I$DIR1/include -I$DIR1/include/ncurses/ -I$DIR2/include" LDFLAGS="-L$DIR1/lib -L$DIR2/lib"
make && make install

cd ~/whois/
ln -s /home/xiaoming/whois/opt/ctags/bin/ctags ./bin/ctags
ln -s ./opt/tmux-2.6/bin/tmux ./bin/tmux

## vim + ctags 使用
# bin/ctags  --list-kinds | less
# - 进入代码目录,生成ctags文件
# bin/ctags  `find -name "*.php"`
# - vim内指定ctags文件
# :set tags=./tags (多个不同目录的tags文件,可以用逗号隔开)
# :tags (列出查找/跳转过程(经过的标签列表))
# :ta 标签名 (跳转到经过的标签列表); 
# ctrl + ] (转到函数声明处); ctrl + T (返回)
# :buffers (列出缓冲文件); :buffer 编号 (跳到缓冲文件处)

## tmux 使用
# - 创建会话窗口
# bin/tmux new -s whois
# - 查看有哪些会话窗口
# bin/tmux ls
# - 进入到会话窗口
# bin/tmux a -t whois
# 

Vim 增强

多个用户使用同一个服务器账户登陆服务器,贸然变更vim全局配置可能会被打,想想如何实现专属配置.

vim 常用指令

  • 清空文件内容
:%d

phpstorm 篇

  • 取消自动保存,防止git代码冲突

phpstorm会自动保存用户修改的代码,而且对应修改过的文件没有*号显示,这对于用习惯了手动保存的用户来说很不习惯,如何通过设置把它改回来呢?
1、取消自动保存
进入 File -> Settings ->Appearance->System Settings,
2、取消下面两选项的勾选:
Save files on frame deactivation
Save files automatically if application is idle for xx sec.

sftp 上传下载文件

sftp -i ~/.ssh/your.pem user@ip

# sftp 命令:
sftp> ls            #列出服务器文件列表
sftp> lls           #列出本地文件列表
sftp> pwd           #当前服务器上路径
sftp> lpwd          #当前本地路径
sftp> cd img        #切换服务器路径
sftp> lcd img       #切换本地路径
sftp> mkdir img     #在服务器上创建一个目录
sftp> lmkdir img    #在本地创建一个目录

sftp> put readme.md #上传单个文件
sftp> mput *.xls    #上传多个文件

sftp> get readme.md #下载单个文件
sftp> mget *.xls    #下载多个文件

# 上传文件夹
sftp> mkdir img
sftp> put -r img

# 下载文件夹
sftp> get -r img

数据字典

开发过程中总要查看数据表结构,而sql工具sequel pronavicat查看表结构并不如人意,
此处推荐个小玩意: [China-Data-Dictionary](https://gitee.com/amlove2/China-Data-Dictionary),设定非常简便好用.mysql为例生成的数据字典页面mysql-Data-Dictionary.html

解决环境问题

composer

  • 阿里云镜像
# 仅修改当前工程配置
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
# 取消配置
composer config --unset repos.packagist
  • composer.lock 文件冲突处理 tips
git checkout --theirs -- composer.lock  # 回滚到对方版本
composer update/require your-package  # 重新升级或引入你的组件/客户端包

OpenSSL Error

  • tlsv1 alert protocol version Failed to enable crypto
~/workspace/echo-site % php ~/bin/composer.phar  create-project lianzh/slim-self site  --prefer-dist
The "https://repo.packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
Failed to enable crypto
failed to open stream: operation failed
https://repo.packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of date
  [Composer\Downloader\TransportException]
  The "https://packagist.org/p/provider-2015%2411106f9493d8c38fe5f0ce7291ff357029f7604db0664d83a229a9692b7f0271.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messa
  ges:
  error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
  Failed to enable crypto
  failed to open stream: operation failed

原因是因为系统升级对openssl进行了更新,重新编译安装php openssl扩展

cd php-7.0.33/ext/openssl
phpize
phpConfigPath=`which php-config`
./configure --with-php-config="$phpConfigPath" --with-openssl=/usr/local/Cellar/openssl@1.1/1.1.1f/
make && make install

终端快捷键

控制台下提速小技巧

Ctrl+a 光标移动到开始位置 
Ctrl+e 光标移动到最末尾 
Ctrl+k 删除此处至末尾的所有内容 
Ctrl+u 删除此处至开始的所有内容 
Ctrl+d 删除当前字符 
Ctrl+h 删除当前字符前一个字符 
Ctrl+w 删除此处到左边的单词 
Ctrl+y 粘贴由 Ctrl+u , Ctrl+d , Ctrl+w 删除的单词

Ctrl+l 相当于clear,即清屏 
Ctrl+r 查找历史命令 
Ctrl+b 向回移动光标 
Ctrl+f 向前移动光标 
Ctrl+t 将光标位置的字符和前一个字符进行位置交换 
Ctrl+& 恢复 ctrl+h 或者 ctrl+d 或者 ctrl+w 删除的内容 
Ctrl+S 暂停屏幕输出 
Ctrl+Q 继续屏幕输出 
Ctrl+Left-Arrow 光标移动到上一个单词的词首 
Ctrl+Right-Arrow 光标移动到下一个单词的词尾 
Ctrl+p 向上显示缓存命令 
Ctrl+n 向下显示缓存命令 
Ctrl+d 关闭终端 

sublime text 3

sublime title上显示文件路径方法

Sublime Text 3 ->preference->Brower Packages…->打开Preferences.sublime-settings文件,添加

"show_full_path": true

网站资源

未完待续

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容