VIM中消除^M回车符的方法

macbook自从更新了10.12sierra之后我的matlab2015变得不支持中文了,决定使用VIM来作为m文件的编辑器
在安装vim的matlab语法高亮插件过程中,发现报错提示换行符为^M,详细的原因就不说了,网上很多。


通过搜索,发现很多人分享的方法是:

:%s/^M$//g # 去掉行尾的^M。

还有其他一些类似的基本大同小异,但是试过之后全部失败,但是使用下面的方法成功了。

:set fileformat=unix "在VIM命令模式中输入前面代码,将文本格式选择为UNIX,之后保存退出,报错就消失
tips:
1.显示换行符,制表符等
:set list
2.检测文件格式
:set fileformat?
3.将UNIX格式作为第一选项,DOS格式作为第二选项
:set filformat=unix,dos

Spectrogram使用小记

短时傅立叶变换spectrogram最详细的说明当时是看matlab官方的help文件


格式:
spectrogram(x,window,noverlap,nfft)

说明:

x:为输入向量
window:为使用的窗函数,默认为hamming窗,长度为nfft长度
noverlap:为每一段重叠的样本数,一般使用窗函数的50%
nfft:为fft的长度

例子:

产生一个线性调频信号x,采样率1kHz,采样时间为2s。起始频率为100Hz,终止频率为200Hz,时间1s。

t = 0:0.0001:2;
x = chirp(t,100,1,200,'quadratic');

使用spectrogram函数之间绘制频谱图

spectrogram(x,128,120,128,1e3)
  • 使用的是128阶的hamming窗
  • 重叠长度为120
  • 频率分量有[128/2+1]=65
    时间分量有[length(x)-120/(128-120)] = 235
    screen-shot-2016-11-24-at-3-48-35-pm
    在最后添加‘yaxis’可以将X轴变为时间轴,Y轴变为频率
spectrogram(x,128,120,128,1e3,'yaxis')

screen-shot-2016-11-24-at-3-49-14-pm

mac平台iwork的中文字体

在mac和pc之间相互看文档的时候最麻烦的事情肯定是字体了


每次用page打开word编辑的doc文件的时候经常跳出某某字体被切换为某某字体;
通过搜索后发现,原来在iwork和office之间都有且命名一致的中文字体才能在平台之间自动识别。
page里面宋体会自动转化为Times,但是这个字体只有常规格式,没有加粗和黑体,所以我们可以使用Helvetica Neue字体,支持多种格式。
PS:华文宋体、华文仿宋、华文楷体、华文细黑也是一致的。

Vim插件delimitMate

delimitMate是一款用于界定符号的自动补全插件,会自动补全引号、方括号、圆括号等。


  • 安装及使用
    安装vundel的只需要在vimrc中插入以下代码即可进行安装,一旦安装成功无需进行任何配置就可以使用
Plugin `Raimondi/delimitMate`

Vim插件Tabular

Tabular是一款用于在vim中对齐 ‘=’ , ‘:’ , ‘|’ 等符号的插件,对于程序猿来说是非常实用的一款插件。


安装

如果有vim插件管理器vundle的话可以直接在vimrc文件中输入以下代码

Plugin 'godlygeek/tabular'

使用

例如:如果我想让代码按‘等号’对齐,我们就需要讲光标移动到有等号的那一行,然后输入

:Tab /=

对齐其他符号也是类似如

:Tab /:
:Tab /|
:Tab /(

GitHub学习笔记

环境:Ubuntu 16.04


初始配置命令

1. git config --global username "***" 配置本地用户
   git config --global usermail "**@***" 配置邮箱
2. git init 将目录初始化为Git仓库
3. git clone [url] 复制一个Git仓库

基本快照

Git的工作就是创建和保存你的项目快照及与之后的快照进行对比

1. git add 添加文件到缓存
2. git status 查看项目当前状态
   -s 获得简短的输出结果,其中第一栏为缓存,第二栏为工作目录
3. git diff   尚未缓存的改动
   --cached 查看已缓存的改动
   HEAD 查看已缓存与未缓存的所有
   -stat 显示摘要而非整个diff
4. git commit 记录缓存内容的快照
   -m '***' 提供提交的注释(若无-m则以VIM打开注释信息)
   -a 自动在提交前将已记录修改的文件放入缓存去
5. git reset HEAD 取消缓存已缓存内容
6. git rm 将文件从缓存区移除(默认从缓存及目录中删除)
   --cache:工作目录中保留

分支与合并

1. git branch 列出可用的分支
2. git branch *** 创建***分支
3. git checkout 切换分支
   -b 创建新分支,并立即使用
   -d 删除分支
4. git merge 将分支合并到当前分支
   e.g git merge testing 将testing分支合并
5. git log 显示一个分支中提交的修改记录
   --oneline 查看简洁版
   --graph 开启拓扑图
   e.g git log --oneline erlang ^master 显示erlang分支但不在主分支的提交
6. git tag 给历史记录中某点打上标签
   -a 穿件一个带注解标签
   --decorate 查看标签
   e.g git tag -a V1.0 给最想一次提交打上V1.0的标签

分享与更新

1. git remote 列出远端别名
   -v 每个别名的实际链接
   add 添加一个远程仓库 e.g git remote add [alias] [url]
   rm 删除某别名
2. git fetch 从远端下载新分支及数据
3. git pull 从远端提取数据并合并到当前分支.即fetch后紧接着merge
4. git push 推送新分支与数据至某个远程库 e.g git push [alias] [branch]

TPS:最近在一个新建仓库中发现,初次push远程仓库时失败,提示需要先pull合并一次,合并时有提示refusing to merge unrelated histories,这是由于双方commit数据不一致引起的,在2.9.2之后的版本中需要增加一个命令git pull origin master –allow-unrelated-histories进行合并

mac平台安装virtualbox

以前我的小air一直是安装的双系统,不过随着对win平台的依赖越来越小,决定使用虚拟机来安装win7,删除双系统。
pro上面装过VM,但是由于其价格较贵,这次决定尝试用以下virtualbox。


virtualbox安装

安装很简单,大家可以去官网直接下载,然后根据步骤安装系统,网上很多就不细说了。

安装增强包(使用USB等功能必须要的)

1.官网下载名为extpack的文件包
2.直接双击安装
3.安装完成后选择Devices > USB > USB Settings;选择USB3.0(新的macbook基本都是3.0的吧)
screen-shot-2016-10-17-at-2-27-39-pm
4.进入win7系统,点击右下角的USB图标,勾选外置的USB设备,我的是TOSHIBA的移动硬盘
screen-shot-2016-10-17-at-2-31-37-pm
5.后面就进入win7普通的驱动安装

FAQ:
【1】 F:选择右下角USB连接的外设硬盘时为灰色
Q:1.查看外设硬盘是否已经挂在到mac系统,若挂载则将硬盘推出,重新挂载。
2.将当前用户加入vboxusers用户组,linux用户很简单,直接输入

sudo usermod -aG vboxusers <username>

mac用户则比较麻烦,要使用dscl命令

sudo dscl . -append /Groups/vboxusers GroupMembership $USER

【2】 F: 驱动不安装
Q:右键我的电脑(计算机)进入设备管理界面,查看USB 总线驱动是否安装。

参考
【1】:How to set up USB for Virtualbox?

WordPress安装插件需要FTP问题解决办法

安装完WP后,需要安装一个MarkDown插件,提示需要使用FTP,可是我的VPS上面根本没有FTP,平时传文件都是用的SSH,上网找找了问题,发现问题的根源是wordpress的用户没有wp-content目录的写权限,由于技术有限,决定使用比较无脑的手段来解决这个问题。

修改wp-config.php文件

在文件的最后附加以下代码

define('FS_METHOD','direct');

screen-shot-2016-10-15-at-4-40-06-pm

修改权限

网上很多文章说给文件夹权限修改755什么的,但是我的文件夹所有者是root,我的wordpress又不是root的用户,也不想给他添加进行,所以就直接改成777,每次使用完之后我在改成755或其他的。

chmod 777 -R 'path to wp-content`

参考
1.How to Update WordPress Automatically Without Using FTP

锐速初体验

安装了shadowsocks之后怎么也要安装他的黄金搭档锐速,来提高下速度


安装锐速破解版

wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/serverspeeder/master/serverspeeder-all.sh && bash serverspeeder-all.sh

卸载方法

chattr -i /serverspeeder/etc/apx* && /serverspeeder/bin/serverSpeeder.sh uninstall -f

检查锐速是否运行

service serverSpeeder status

查看是否又appex0模块

lsmod

参考
【1】serverspeeder锐速一键破解安装版

shadowsocks安装

拥有VPS之后怎么可能不整一下如何上网呢!

系统:Centos 7 64bit

安装shadowsocks

yum install m2crypto 
yum install python-setuptools && easy_install pip
pip install shadowsocks

添加最新的库文件来支持新的加密算法

wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
tar zxf LATEST.tar.gz
cd libsodium*
./configure
make && make install

# 修复关联
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

运行

/usr/bin/ssserver -p 9000 -k www.abbswim.com -m chacha20

参考:
【1】安装shadowsocks-python并启用chacha20加密