linux命令---vim常用命令

1、vim中的排序

 

|2 | 22 | 111| 2222|
|1 | 11 | 222| 1111|

:sort /|[^|]\+|[^|]\+/    #sort grep

|1 | 11 | 222| 1111|
|2 | 22 | 111| 2222|

 

2、vim中统计字节字符数

g+[ctrl+g]

 

3、vim中的计算

在vim的插入模式下输入:CTRL+R =

 

4、vim中拷贝鼠标下单词到命令行中

ctrl-r-w

 

5、vim中拷贝指定寄存器中的值到命令行

ctrl-r+reg_name

 6、vim添加头文件

function InsertHeadDef(firstLine, lastLine)
    if a:firstLine <1 || a:lastLine> line('$')
        echoerr 'InsertHeadDef : Range overflow !(FirstLine:'.a:firstLine.';LastLine:'.a:lastLine.';ValidRange:1~'.line('$').')'
        return ''
    endif
    let sourcefilename=expand("%:t")
    let definename=substitute(sourcefilename,' ','','g')
    let definename=substitute(definename,'\.','_','g')
    let definename = toupper(definename)
    exe 'normal '.a:firstLine.'GO'
    call setline('.', '#ifndef _'.definename."_")
    normal ==o
    call setline('.', '#define _'.definename."_")
    exe 'normal =='.(a:lastLine-a:firstLine+1).'jo'
    call setline('.', '#endif')
    let goLn = a:firstLine+2
    exe 'normal =='.goLn.'G'
endfunction
function InsertHeadDefN()
    let firstLine = 1
    let lastLine = line('$')
    let n=1
    while n < 20
        let line = getline(n)
        if n==1 
            if line =~ '^\/\*.*$'
                let n = n + 1
                continue
            else
                break
            endif
        endif
        if line =~ '^.*\*\/$'
            let firstLine = n+1
            break
        endif
        let n = n + 1
    endwhile
    call InsertHeadDef(firstLine, lastLine)
endfunction
nmap ,ha :call InsertHeadDefN()<CR>

 

posted @ 2016-04-06 10:59  W1552332103  阅读(196)  评论(0编辑  收藏  举报