上一篇

CH31 Basic Regular Expressions

  1. /和?,前者向后找,后者向前找

CH32 Case Study: Grep Operator, Part One

  1. :nnoremap <leader>g :grep -R <cWORD> .<cr>可以搜索<cWORD>,表示光标下的单词(包括连字符,比<cword>更大),之后可以用:cwindow查看quickfix窗口
  2. 以上还有一点要修改,如果光标在一个foo;ls下,使用后实际会执行ls命令,原理和SQL注入类似,所以需要用单引号保证字面值,:nnoremap <leader>g :grep -R '<cWORD>' .<cr>
  3. 但上面对于光标有单引号的不启作用,用:echom shellescape(expand("<cWORD>"))可以显示shellescape后的值
  4. 最终版本:nnoremap <leader>g :silent execute "grep! -R " . shellescape(expand("<cWORD>")) . " ."<cr>:copen<cr> ,前面加个:silent可以防止搜索时的输出,最后再:copen打开结果页

CH33 Case Study: Grep Operator, Part Two

进入.vim/plugin/下,新建一个文件”grep-operator.vim”,写上nnoremap <leader>g :set operatorfunc=GrepOperator<cr>g@和function! GrepOperator(type) | echom "Test" | endfunction,这时用<leader>giw会发现打出了Test

Read more


上一篇

CH13 Buffer-Local Abbreviations

  1. 这章就是说iabbrev也能用<buffer>来修饰
  2. 你想记住某个新的snippet最好办法就是disable掉原来的命令,比如iabbrev <buffer> return NOPENOPENOPE

CH14 Autocommand Groups

  1. autocmd是不会替换原先的命令的,假如使用两次同样的命令,那触发autocmd时会进行两次命令
  2. 特别要注意在你source $MYVIMRC时,autocmd会再载入一次!
  3. 可以用augroup testgroup autocmd xxx augroup END,这时如果你运行下augroup testgroup autocmd yyy augroup END,你猜xxx还会执行吗?耶,答案是会!
  4. 你可以在augroup里用autocmd!来清空augroup

Read more


CH02

  1. 布尔型变量可以用:set [no]number这样来设置,:set number!表示取反,:set number?获取当前状态(实际:set nonumber?也可以哟)
  2. 数值型用:set numberwidth=10来设置,同理:set numberwidth?获取当前值
  3. relativenumber或者rnu用来显示相对行号,当前所在行显示绝对行号,两边分别从1,2,3开始显示

CH03

  1. 注释用"来标记
  2. 注意注释不要写在map后面,这样会当成命令去执行map a dd "comment

CH04

  1. map,nmap,vmap,imap都知道什么意思吧

Read more


趁着假期把《汐》通关了,先声明我是通过奶牛关的野蔷薇 获取的 key,所以我会把写一篇靠谱的评测作为自己的一个责任。

自己是一个 ACT 游戏玩家,会特别痴迷平台跳跃类游戏,玩过的 Super Meat Boy (后面简称 SMB) 可以说是这类游戏的神作以及标杆,所以后面会把《汐》和 SMB 作个比较。我玩的时候游戏版本是 1.0.5。

Read more


距离上一篇airflow 进阶居然过了两个月了, 不得不说从上线 airflow 以来问题出了一些,这篇我就来分享下使用过程中踩过的坑, 也欢迎有兴趣的同学发信分享你遇到的问题或者解决办法。

Read more