打造更好的开发机环境,解决无root权限,解决多用户用一个服务器账号登陆问题
Tmux + Ctags
因为远端服务器超时断开后,再次登陆时又需要再进行一些重复操作,比如终止vim,
第一步就编译安装tmux
和ctags
吧.
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 pro
与navicat
查看表结构并不如人意,
此处推荐个小玩意: [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