2011-11-16

杂记 20111116 | Misc Notes 20111116

1.SingleCompile 是一个不错的 vim 插件,用于快速编译运行单个文件
2.vim 命令 :cope 查看所有编译错误
3.tsocks 从网络库层面给程序包装一个透明socks代理
4.删除 Messaging Menu 不需要的条目:
mkdir -p ~/.config/indicators/messages/applications-blacklist/
从 /usr/share/indicators/messages/applications 找到不需要的文件,在上面那个目录里创建链接
5.vim 的 wildmode 和 wildemenu 可以定制 vim 自动匹配(例如文件名)的模式
6.easytags 可以让vim根据tags进行语法高亮
7.让vim可以像Visual Studio一样在输入行末的分号或者右大括号时可以自动格式化代码
function! WL_auto_format()
    let curline = getline('.')
    let curcol = col('.')
    if match(curline[curcol :], '\S') == -1 " current char is curline[curcol-1]
        let c = curline[curcol-1]
        if c == ';'
            execute "normal \=$"
        elseif c == '}'
            execute "normal =%%"
        endif
    endif
endfunction

autocmd Filetype c imap ; ;:call WL_auto_format()a
autocmd Filetype c imap } }:call WL_auto_format()a
autocmd Filetype cpp imap ; ;:call WL_auto_format()a
autocmd Filetype cpp imap } }:call WL_auto_format()a

1.SingleCompile is an addon of vim, which makes it easy to compile-and-run a single file
2.:cope, to view all the compilation errors in vim
3.tsocks, an application the wraps network functions of another application, that goes through a socks proxy
4.Remove entries in Messaging Menu:
mkdir -p ~/.config/indicators/messages/applications-blacklist/
then link unwanted items from /usr/share/indicators/messages/applications
5.wildmode and wildemenu: determine how vim will autocomplete (e.g. file names)
6.easytags let vim highlight all the tags
7.Make vim auto formatting codes when ';' or '}' is pressed at the end of a line, like Visual Studio
function! WL_auto_format()
    let curline = getline('.')
    let curcol = col('.')
    if match(curline[curcol :], '\S') == -1 " current char is curline[curcol-1]
        let c = curline[curcol-1]
        if c == ';'
            execute "normal \=$"
        elseif c == '}'
            execute "normal =%%"
        endif
    endif
endfunction

autocmd Filetype c imap ; ;:call WL_auto_format()a
autocmd Filetype c imap } }:call WL_auto_format()a
autocmd Filetype cpp imap ; ;:call WL_auto_format()a
autocmd Filetype cpp imap } }:call WL_auto_format()a