Blog

  • vim macro

    vim 自动处理文字的时候,要用到 macro ,设置 macro 名 ,使用 @ 调用 macro 名实现一堆操作。

    在 normal 模式下, 按 q 再加上 a (或其他字母) 开始记录。

    比如进行如下操作,在一行尾部加一个分号跳到下一行

    $ #跳到行尾
    a #追加模式
    ; #写一个分号
    ESC #回到 normal 模式
    j #跳到下一行
    

    按 q 结束 macro

    现在找到其他行,想进行操作时,按 @a 在当前行执行一次 macro 的内容。
    按 10@a 执行 10 次 macro 的内容
    按 @@ 执行上一次 macro

  • hdfs操作

    显示

    hdfs dfs -ls /user/hdfs/dw/raw/tracking/2017/06/15/tracking_16.gz

    获取文件到当前目录

    hdfs dfs -get /user/hdfs/dw/raw/tracking/2017/06/16/tracking_0.gz

    放置当前目录文件到 hdfs 里

    hdfs dfs -put * /user/hdfs/reporting/thread/2017/06/22/

    查看 gz 文件

    hdfs dfs -cat /user/hdfs/dw/raw/tracking/2017/06/16/tracking_0.gz  | zcat
  • vim marks and jumps

    对文档进行光标位置进行标记,记录在 a 里

    ma

    跳到 a 标记所在位置

     `a 

    跳到 a 标记行首

     'a 

    大写字母为全局 mark, 小写字母只在本文件中生效
    显示所有 marks

    :marks

    跳到最后一次修改的位置

    `. 

    跳到最后一次修改的行首

    '.

    跳到上次关闭会话时的位置

    '"

    跳到上一次 jump 之前的位置

    ``

    jumps 显示跳转轨迹,同时显示有没有关联 marks

    Ctrl-o 从 jump 0 位置向上跳

    n + Ctrl-o 从 jump 0 位置向上跳 n 个

    Ctrl-i 从 jump 0 位置向下跳

    n + Ctrl-i 从 jump 0 位置向下跳 n 个

    https://medium.com/@kadek/understanding-vims-jump-list-7e1bfc72cdf0

  • python date相减

    python 计算时间相差天数

    from datetime import date
    
    d0 = date(2008, 8, 18)
    d1 = date(2008, 9, 26)
    delta = d0 - d1
    print delta.days
    
  • mysql explicit_defaults_for_timestamp

    设置 explicit_defaults_for_timestamp

    mysql> SET global explicit_defaults_for_timestamp=1;
    
  • vim buffer 查看及操作

    vim 编辑的时候都是将文件放到 buffer 里

    同时编辑多个文件

    vim file1 file2

    查看 buffer,显示正在编辑的文件及行数

    :ls
      1 #    "file1"                        line 1
      2 %a   "file2"                        line 1
    

    切到下一个文件

    :bn

    切到上一个文件

    :bp