vim 视频 Riv:QuickStart

2012年10月19日 15:11

Tags: vim riv
评论(0) 阅读(4297)

在vim中编辑reStructuredText

2012年9月27日 02:56

https://github.com/Rykka/riv.vim

评论(2) 阅读(8232)

我的awesome config

2012年9月27日 02:54

https://github.com/Rykka/awesome-shadow

评论(6) 阅读(3913)

登陆 Awesome WM

2012年5月30日 00:54

因为gnome-shell 老是出现奇怪的登录时freeze现象,

而ubuntu的unity的firefox拖拽链接和图片也存在freeze现象。(https://bugs.launchpad.net/unity/+bug/773382)

果断Arch卸载gnome-shell,转用awesome。

登陆成功,感觉良好。


我的awesome设置。

https://github.com/Rykka/awesome

主要改动是增加了自定义快捷键,定制了wibox的widgets和menu项。

同时也改动了easystroke的快捷键以适合awesome的设置。


 

Tags: awesome
评论(43) 阅读(6545)

vim tips

2011年12月03日 11:26

1.delimiter in :s :g :v  Tip 406
 :s+/usr+/usr/local+
 :s#/usr#/usr/local#

代替:s/\/usr/\/usr\/local/

2.range in :s :g :v Tip 1611

可以用search

:/this/,/that/s/this/that/

‘;’会在运行中将cursor移动过去,而‘,’不会移动cursor

:1,+1 与:1;+1

3. 给当前文件加入行号

:%s/^/\=line('.').' '/

如果要使行号整齐,

可以用

:%s/^/\=line('.')."\t"/

或者

:%s/^/\=printf("% 4d ",line('.'))/ 

4. string "" 和 literal string ''

string里的"\"和'"'需要用"\"转义,

literal string 里的 "'"需要 用 "''"转义

"\"" == '"'

"\\" == '\'

"'"  == ''''

在literal string里可以用 <Ctrl-Q>{press} 来输入特殊字符

与 "\<press>" 相同

即 "\<C-W>" 与 '' 里直接输入的特殊字符相同。

 

5. '[[:graph:]]' 和 '[!-~]' 和 '[\d33-\d126]' 等价

可以通过这个脚本来验证

for i in range(3,226)
    let oi = printf("%o",i)
    exe "let oi = " . "\"\\". oi . "\""
    echo i ':' oi oi =~ '[[:graph:]]' oi =~ '[!-~]' oi =~ '[\d33-\d126]'
endfor


6. 使用regiser重复相似的工作。

let @a = "$"
let @b = "la\<c-r>a\<esc>"
let @c = "20@b"

那么在source了这段脚本后,'@c' 则会重复20次插入@a的字符 '$'

要改变插入字符,只需要改变@a

更深入的话,可以插入表达式

比如'@c'给每行插入行号


let @a = "printf('% 4d ',line('.'))"
let @b = "I\<c-r>=\<c-r>a\<CR>\<esc>j"
let @c = "gg999@b"


 

 

 

 

 

 

Tags: vim
评论(1) 阅读(4049)

lastbuf.vim 撤销最后关闭的buffer

2011年12月02日 00:31

这是之前的一篇文章 vim:撤销最后关闭的buffer 的后续。

因为依云同学表示那个小脚本还有很大提升空间,

于是我就把它改成了小插件并上传到了vim.org 和github.com

https://github.com/Rykka/lastbuf.vim

 

功能:


重新打开最后关闭的buffer

:hid 所关闭的buffer始终可以重新打开

:e # :only :q :close :bun :bd 所关闭的buffer默认可以重新打开

:bd 所关闭的buffer默认不会重新打开

:bw 所关闭的buffer 始终不会打开

NOTE: 关闭的buffer如果仍有窗口在编辑,将不会重新打开。
 

基本命令:

  :LastBuf 或 <c-w><c-z>

打开刚才关闭的buffer。

可以用 map <c-s-t> :LastBuf<CR> 来重新mapping

 

设置:


全局变量 g:lastbuf_num ,最大撤销数量

let g:lastbuf_num=20


全局变量 g:lastbuf_seekall,是否始终打开unloaded buffer。

如果不需要打开unloaded buffer。将其设成0并 set nohidden

let g:lastbuf_seekall=1

 

全局变量 g:lastbuf_level,决定重新打开buffer的层级。

" :hid   bufhidden  (始终会重新打开)
" :bun   bufunload  (重新打开如果 level >= 1)
" :bd    bufdelete  (重新打开如果 level >= 2)
" :bw    bufwipeout (绝对不会重新打开!)
" 默认为 1 .即:bd 和:bw关闭的不会重新打开
" 如果想要和 'nohidden'一样的效果
" 设为 0 并且 set nohidden

let g:lastbuf_level=1

 

 

 

Tags: vim
评论(2) 阅读(3635)

ArchLinux下编译gvim +python

2011年12月01日 21:26

ArchLinux的gvim版本比较新,
但是其python2的library链接有错。
当import gtk就会出现Error import的错误提示。

这个错误我知道已经有好几个月了,
之前在github上就有用ArchLinux的人表示用不了我插件里的取色器。
但是当时我用的还是Ubuntu,所以没去fix。

不过如今我用上了Arch,当然得解决这个问题:D

方法很简单,重新编译gvim:

hg clone https://vim.googlecode.com/hg/ vim

cd vim/src
./configure --enable-multibyte --with-features=huge --enable-gui=gtk2 \
  --enable-python3interp=yes --enable-rubyinterp \
  --enable-pythoninterp=yes \
  --enable-tclinterp  --enable-fontset  \
  --with-python-config-dir=/usr/lib/python2.7/config \
  --with-python3-config-dir=/usr/lib/python3.2/config-3.2mu

make && sudo make install


NOTE:
1.要将python2 link 为 python,否则会提示找不到python2.x
在/usr/bin下
    ln -s python2 python
PS:安装好后可以用 ln -sf python3 python 把它替换回来


2.--with-python3-config-dir为/usr/lib/python3.2/config-3.2mu

3.如果还是找不到python2,可以在 auto/config.cache里找到
vi_cv_var_python_version并将此行改成
vi_cv_var_python_version=${vi_cv_var_python_version=2.7}

 

PS: 看了下gvim的PKGBUILD。里面有这么一句

  # fix python name
  sed -i -e 's|vi_cv_path_python, python|vi_cv_path_python, python2|' \
    vim-build/src/configure.in

那改这句应该也行。

也就是在configure.in里面把

vi_cv_path_python, python 改成 vi_cv_path_python, python2

Tags: vim
评论(4) 阅读(7835)