Blog

  • 多节点梯子择优脚本

    [jpuyy@jpuyy-laptop allconf]$ cat tizi.sh 
    #/bin/bash
    
    suffix='.heredance.com'
    
    locations='jp1 jp2 jp3 us1 us2 us3 us4 us5 sg1 sg2 hk1 hk2 tw1 uk1'
    
    result_file='/tmp/.result_array'
    
    > $result_file
    for location in $locations;
    do
        result=`ping -q -A -c 10 $location$suffix | grep received`
        echo "$location$suffix $result" >> $result_file
    done
    
    cat $result_file | sort -r -n -k 5 -k 11
    
  • git branch tag

    创建 branch

    git branch cat

    切换到

    git checkout cat

    这时HEAD 已经到 cat

    在 master 上合并 cat

    git merge cat

    删除 cat 分支

    git branch -d cat

    创建分支并切换

    git checkout -b admin

    建立本地分支 develop

    git checkout -b develop

    查看本地各分支的最后一次提交

    git branch -v

    建立远端分支 remote branch

    git push origin develop

    当另一个人在本地

    git pull 的时候,会有提示多了一个分支,但是他本地并没有新建 develop

    git branch -r 查看远端分支

    检出这个分支

    git checkout develop

    查看本地和远程分支情况

    git remote show origin

    删除远端分支

    git push origin :develop

    删除本地分支,用 -D

    git branch -D develop

    对于已经删除的 develop 分支, 在本地的 develop 下 git push 后,会提示 Everything up-to-date

    git remote show origin

    这时要做

    git remote prune origin

    将远端清理

    tag 相当于 commit ,经常用于 release

    git tag
    git checkout v0.0.1

    添加新 tag

    git tag -a v0.0.3 -m "version 0.0.3"

    推送tag到远端

    git push --tags
  • vim删除空行和注释

    删除空行

    :g/^$/d

    删除空行以及只有空格的行

    :g/^\s*$/d

    删除以 # 开头或 空格# 或 tab#开头的行

    :g/^\s*#/d

    对于 php.ini 配置文件,注释为 ; 开头

    :g/^\s*;/d

    使用正则表达式删除行

    如果当前行包含 bbs ,则删除当前行

    :/bbs/d

    删除从第二行到包含 bbs 的区间行

    :2,/bbs/d

    删除从包含 bbs 的行到最后一行区间的行

    :/bbs/,$d

    删除所有包含 bbs 的行

    :g/bbs/d

    删除匹配 bbs 且前面只有一个字符的行

    :g/.bbs/d

    删除匹配 bbs 且以它开头的行

    :g/^bbs/d

    删除匹配 bbs 且以它结尾的行

    :g/bbs$/d

    .ini 的注释是以 ; 开始的,如果注释不在行开头,那么删除 ; 及以后的字符

    :%s/\;.\+//g

    删除 # 之后所有字符

    %s/\#.*//g

    删除行尾多余的空格

    %s/ \s*$//g
  • vim添加ruler

    这里 ruler 用来标示一行的宽度

    在 .vimrc 中添加一行

    set colorcolumn=85

    参考:http://scriptogr.am/joshearl/post/adding-a-vertical-ruler-to-vim

  • vim netrw 使用笔记

    分屏显示后,使活动窗口到左上角

    control + w 再按 t 

    横线分隔变竖线分隔

    control + w 再按 H

    竖线分隔变横线分隔

    control + w 再按 K

    分屏显示之后,使所有窗口尺寸相等

    control + w 再按 =

    增加/减少高度

    control + w 再按 +/-

    当前窗口放到最高

    control + w 再按 _

    横向放到最宽

    control + w 再按 |

    查看帮助

    :help ctrl-w

    创建一个新文件

    按 % , 输入文件名

    添加一个目录

    按 d ,输入目录名

    重命名文件/目录

    光标在对应的文件中按 R

    删除文件/目录

    光标在对应的文件上按 D

    在文件中快速退回到目录

    :E 回到最近见到的目录
     :e. 回到打开时的目录

    为了方便编辑,在树型中打开一个文件时水平分开时,按

    o

    打开新文件竖直分开时,按

    v

    在目录树和文件之间切换

    control + ^

    用更舒服的方式使用 netrw
    不使用banner

    let g:netrw_banner = 0
    

    使用第三种 list style, 可以树状展开

    let g:netrw_liststyle = 3
    

    编辑远端的文件,注意格式,host 后面有两个 slash ,第二个 slash 和 /tmp 是一起的,远端相对路径的就不用写了

    vim scp://10.10.10.98//tmp/init/deployment.yaml
    

    netrw 设置 root 目录

    :Exp /usr/local/go/src/
    

    https://medium.com/@mozhuuuuu/vimmers-you-dont-need-nerdtree-18f627b561c3
    http://vimcasts.org/episodes/the-file-explorer/
    http://vimcasts.org/episodes/working-with-windows/

    还有一篇有意思的文章,或许不用 netrw 也能得到很高的效率

    https://shapeshed.com/vim-netrw/#you-may-not-need-netrw

    查看 netrw 自有帮助

    help netrw-quickmap
  • vim横竖行互相切换

    几列变成一行,以空格分隔

    选择好需要变成一行的几行,按 J

    对整个文件使用

    :%j

    如果是一行,以空格分开,变成以 , 分隔

    以替换的方式实现,^M是按 control + v + m

    :%s/ /^M/g