Blog

  • 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
  • sort命令

    对 /etc/hosts 文件排序默认是按字符串

    如果对 ip 排序

    sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n /etc/hosts
    sort -t . +0 -1n +1 -2n +2 -3n +3 -4n /etc/hosts

    发现一个简单方法

    sort -V /etc/hosts

    排序命令Sort
    sort -k 2,2
    -k, –key=POS1[,POS2]
    start a key at POS1 (origin 1), end it at POS2 (default end of line)

  • 统计进程占用内存

    
    ps --no-headers -o "rss,cmd" -C php-fpm | awk '{ sum+=$1 } END { printf ("%d%s\n", sum/NR/1024,"M") }'
    
  • mysql添加联合唯一索引

    为表 project_server 添加联合唯一索引

    mysql> alter table project_server add unique index(project_id,object_id);
    ERROR 1062 (23000): Duplicate entry '11-1177' for key 'project_id'

    如果提示说记录已经存在,那么加上 ignore,会自动将重复的去掉,很有效

    mysql> alter ignore table project_server add unique index(project_id,object_id);
    Query OK, 166 rows affected (0.06 sec)
    Records: 166  Duplicates: 1  Warnings: 0
  • nginx block常用爬虫

    代码如下
    agent匹配不区分大小写

    if ($http_user_agent ~* "qihoobot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot|bingbot|ChinasoSpider|Sogou inst spider") {
        return 403; 
    }
    

    上面的没有 baidu 百度的为

    Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)