mac vim 疑难杂症

之前更新macOS Sierra,照例当然会出现一些问题。

YouCompleteMe 无法使用

在vim里UpdatePlugin并且重新编译YouCompleteMe.

./install.py --clang-completer --gocode-completer --tern-completer

但是会发现,启动vim仍然不行。

发现vim又是系统自带的版本,这个YCM的issueissue#2218上有类似的讨论。

解决方法是:ln -s /usr/local/opt/macvim/bin/mvim /usr/local/bin/vim,也可以指定到/usr/bin/vim(因为在我的系统上PATH里"/usr/local/bin"要靠前),但是这样最好备份系统自带的vim。

erlang-erl

代码

-module(tut17).

-export([start_ping/1, start_pong/0,  ping/2, pong/0]).

ping(0, Pong_Node) ->
    {pong, Pong_Node} ! finished,
    io:format("ping finished~n", []);

ping(N, Pong_Node) ->
    {pong, Pong_Node} ! {ping, self()},
    receive
        pong ->
            io:format("Ping received pong~n", [])
    end,
    ping(N - 1, Pong_Node).

pong() ->
    receive
        finished ->
            io:format("Pong finished~n", []);
        {ping, Ping_PID} ->
            io:format("Pong received ping~n", []),
            Ping_PID ! pong,
            pong()
    end.

start_pong() ->
    register(pong, self()),
    pong().

start_ping([Pong_Node]) ->
    register(ping, self()),
    ping(3, Pong_Node).

// -sname 运行
erl -noshell -sname pong -s tut17 start_pong -s init stop
erl -noshell -sname ping -s tut17 start_ping [email protected] -s init stop

// -name 运行
erl -noshell -name [email protected] -s tut17 start_pong -s init stop
erl -noshell -name [email protected] -s tut17 start_ping [email protected] -s init stop

RabbitMQ 笔记

rabbit management

启用management插件: sudo rabbitmq-plugins enable rabbitmq_management
默认端口:15672
默认用户:guest:guest
但是默认用户只能通过localhost登陆,要想通过其他方式登录,必须在config文件中添加如下内容:

[{rabbit, [{loopback_users, []}]}].

配置文件路径:/etc/rabbitmq/rabbitmq.config

加入集群

sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster [email protected]
sudo rabbitmqctl start_app

离开集群

// 在需要离开的机器上操作
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl start_app

// 远程master上操作
// sudo rabbitmqctl stop_app (rabbit1)
sudo rabbitmqctl forget_cluster_node [email protected]

命令行下使用ss账号翻墙

之前写过一篇文章:《我的科学上网方法》
但是写的不是很详细,主要讲的是在服务端的shadowsocks配置。这篇文章是关于如何在命令行下翻墙的。

1. 安装cow

选用cow的原因是主要cow不用安装python,并且并且在windows和类unix系统上都能很方便的使用。
最关键的是,cow还会自动判断哪些网站被墙(虽然有个时候有点坑),引用官网的话是:COW的设计目标是自动化,理想情况下用户无需关心哪些网站无法访问,可直连网站也不会因为使用二级代理而降低访问速度。

项目地址:https://github.com/cyfdecyf/cow

OSX/Linux 安装

直接在命令行下即可安装,但是有个时候这个也会被墙,可以去 http://dl.chenyufei.info/cow/ 下载最新的版本。

% curl -L git.io/cow | bash
Install cow binary to which directory (absolute path, defaults to current dir):/path/to/where/you/want

安装后在~/.cow/rc文件内加入如下内容:

listen = http://127.0.0.1:7777

logFile = /tmp/cow.log

# 这里填上你的ss账号信息
proxy = ss://encrypt_method:[email protected]:8388

然后在命令行下运行cow &就行了,使用killall cow命令来终结进程。

Windows 安装

根据你系统的版本, 直接下载:http://dl.chenyufei.info/cow/

下载后解压,打开在解压出的文件目录下有的rc.txt,输入如下配置信息:

listen = http://127.0.0.1:7777

# 这里填上你的ss账号信息
proxy = ss://encrypt_method:[email protected]:8388

运行cow-taskbar.exe,然后久能在windows屏幕右下角托盘区域上看到cow了,双击图标可以看到cow的运行状态

命令行下使用代理 (windows下的不写了)

配置proxy脚本

将如下的信息写入/usr/local/bin/proxy文件中

#!/bin/bash

http_proxy=http://127.0.0.1:7777 https_proxy=http://127.0.0.1:7777 $*

然后执行sudo chown +x /usr/local/bin/proxy。这样proxy命令就可以使用了。

使用姿势:

proxy command
sudo proxy command

composer 使用代理

proxy composer install

git 使用代理

git 只能使用http/https代理,如果需要ssh协议代理,就必须要有一台翻墙机器的ssh账号,或者使用connect + sslocal进行代理转换

git config --global http.proxy 127.0.0.1:7777
git config --global https.proxy 127.0.0.1:7777