今天开始做Vimer

    技术2022-05-20  70

    Winner,Vimer,傻傻分不清楚。

    很长时间之后,终于真真得决定使用Vim了,虽然,感觉Vim巴不得把键盘上的所有键都作为快捷键。

    ==============================================================================

    每个Vimer都有一份.vimrc,每一个Vimer都又他常用的插件。

    一口吃个胖子肯定不合适,简单适用之后,再循序渐进才是务实的态度。

    ==============================================================================

    我的.vimrc,不要嘲笑先,随着日后使用的积累,我相信会成为一份很好的配置单,如果您看到这篇文章是我早期写的,您受累了。

     

    set encoding=utf-8 set nocompatible set history=1000 syntax enable syntax on "set hlsearch set nu set autoindent set smartindent set cindent set cino=:0g0 set tabstop=4 set softtabstop=4 set shiftwidth=4 set noexpandtab set ru set backspace=indent,eol,start set sm "set foldmethod=syntax set cscopequickfix=s-,c-,d-,i-,t-,e- "let Tlist_Auto_Open=1 let Tlist_Use_Right_Window=1 let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Sort_Type="name" map <F2> :NERDTree<CR> map <F3> :Tlist<CR> map <F4> :call ReCtags()<CR> map <F5> :call CompileRunGcc()<CR> map <F8> :call CompileRunGpp()<CR> map <F9> :call Make()<CR> map <F10> :call MakeClean()<CR> function Make() exec "w" exec "!make" endfunc function MakeClean() exec "w" exec "!make clean" endfunc function ReCtags() if filereadable("tags") silent! exec "!rm -f ./tags" endif if filereadable("cscope.files") silent! exec "!rm -f ./cscope.files" endif if filereadable("cscope.out") silent! exec "!rm -f ./cscope.out" endif if filereadable("cscope.in.out") silent! exec "!rm -f ./cscope.in.out" endif if filereadable("cscope.po.out") silent! exec "!rm -f ./cscope.po.out" endif if executable("cscope") silent! exec "!find . -name '*.h' -o -name '*.c' -o -name '*.cpp' -o -name '*.cc' -o -name '*.hpp' > cscope.files" silent! exec "!cscope -bq" endif if executable("ctags") silent! exec "!ctags -R" endif if filereadable("cscope.out") silent! exec "normal :" silent! exec "cs add cscope.out" endif endfunc function CompileRunGcc() exec "w" exec "!gcc % -o %< -Wall" exec "! ./%<" endfunc function CompileRunGpp() exec "w" exec "!g++ % -o %<" exec "! ./%<" endfunc

    ===============================================================================

    使用的软件和插件有:ctags、cscope。Taglist、NERDTree、a.vim。没有使用自动补全,全靠大脑自立更生。

    1. ctags常用命令

    Ctrl + ]                          跳到光标处标示符的定义处 Ctrl + t                          调回来 :tag tagname            跳到tagname :ts  tagname             多个tagname时,给出列表              

    2. Taglist常用命令

    u                                   更新 o                                   在新的水平分割栏中打开文件 s                                   不同方式的排序 ] ]                                  打开上一个文件 [ [                                  打开下一个文件

    3. cscope常用命令

    :cs find   s|g|d|c|t|f  标示符                查找命令 :cw                                                       多于一个查找结果时,显示列表

    4. NERDTree常用命令

    o                                                              在当前打开文件 go                                                            在当前打开文件,但焦点留在NERDTree i                                                               在新的水平分栏中打开 gi                                                             不用我说了吧

    5. a.vim常用命令

    :A                                                          打开对应的头文件或者对应的源文件 :AS                                                        在水平spilt中打开 :AV,AT                                               这也不说了

    =====================================================================================================

     

    vim自身常用命令

    移动命令 sdfsdfssssssssssfsfsdf  ctrl+f 向下移动一页 ctrl+b向上移动一页  ctrl+u向上移动半页  ctrl+d向下移动半页  数字+h/j/k/l向相应方向移动    0移动到本行最前面的字符处  $移动到本行最后面字符处  G移动到最后一行  nG移动到第n行  gg 1G n+回车向下移动n行  搜索   /word向下搜索  ?word向上搜索  字母n重复搜索动作  :50,$s/word1/word2/g在第50行到文本末尾,替换word1为word2  删除   x,Xx为del,X为Backspace  dd 删除所在行   .重复删除,重复粘贴  u 与 ctrl+r 复原与重复     

    持续补充!


    最新回复(0)