怎样用vi(vim) 编程二

前一篇文章 http://www.cnblogs.com/amaoxiaozhu/archive/2012/03/23/2414007.html 

大硬盘兄推荐的文章,非常有帮助:

   http://blog.csdn.net/wooin/article/details/1858917

 

零、 代码补全

  无比强大的功能,编辑模式下

  ctrl+p 或 ctrl + n: 补齐单词 写代码要养成好习惯,能补全就不自己写。

  ctrl+x +l : 找到相同的行进行补全  类似于拷贝的功能

  ctrl+x +f : 补全路径  这个很有用,比如我需要在tags里面添加系统路径的时候,记住/usr/lib/python2.6没准是件挺不好做的事~

  ctrl+x +D: 补全宏  其实可以用ctrl + p 来实现

  

一、颜色

     python代码写的比较多,扒了一个IDLE的样式,大家有什么好看的可以推荐下

     http://www.vim.org/scripts/download_script.php?src_id=15771

   

 

二、 强大的标签ctags

  0.  最好可以让本机版本超过5.0,不然以后用taglist插件,也会显示unrecognized option '--format=2' 一类的error  

    ctags:官网

  1. 在要进行标签的源代码目录下进行预处理,比如这里用的是ctags -R *.py

  2. 跳跃至定义处:ctrl+] 跳回来 : ctrl+t

   3.  设定多个tags路径:只在自己的项目跳来跳去,想看系统函数了怎么办? 用:!man 就好了,但是想看python的库函数怎么办?

    编辑自己的vimrc 可以直接在vi中:e $MYVIMRC 不过当然不用输入这么多,输入完MY,基本就能用tab补完了,

    set tags=./tags,/usr/lib/python2.6/tags

  4.  展示某个关键词的所有tags:

    :ts 关键词 在想快速找到函数定义的时候使用

 

三、 常用的插件

  插件安装步骤: 

    1 拷贝到对应的文件夹,可以选择的地方是$HOME/.vim  $HOME/vimfiles 或 $VIM/vimfiles

    2 进入doc文件夹,打开vi,执行 :helptags . 将帮助文档添加进来

    3 根据需要配置.vimrc文件 利用let设定一些环境

 

  常用命令:

  ctrl+w +w 窗口切换

  ctrl+w +o 只显示当前窗体

 

  插件推荐

  1 taglist 用过了就知道好!

  下载地址: http://www.vim.org/scripts/script.php?script_id=273

  常用配置:

  只显示当前文档列表,只有列表窗口时关闭,右侧显示列表树

    let Tlist_Show_One_File=1
    let Tlist_Exit_OnlyWindow=1
       let Tlist_Use_Right_Window = 1

  进入命令 :Tl[tab]补全即可

  常用命令:

    x 最大化/恢复 Tlist窗口

    - 或 zc 折叠

    + 或 zo 弹开

    = 全部折叠

    * 全部打开

    

  2. Grep 觉得这个应该是必备了

  下载:http://www.vim.org/scripts/script.php?script_id=311

  :Grep  或者      直接绑定到快捷键
      map <silent> <F7> :Grep<CR><CR><CR> 直接在当前目录下全部搜索

  

  要注意的是,putty里面keyboard中的特殊映射会把F1-F12对应到不同的发送内容上去,可以在terminal中的keyboard选择

     The Function keys and keypad 对应到Xterms使得F5之后的可用:)

  

  其他的我还下载了matrix.vim       一个好玩的小插件

          pydiction-1.2      python代码补全

          nerdtree         用的不多,需要的时候浏览下目录

          omnicppcomplete-0.41    c类代码补全

四、 宏录制

  强大的文本编辑器都必须支持的功能

  p[a-z] : 接下来的动作录制保存到字母x中

  接着执行一段命令,然后Esc,q 。这样之前的动作就保存起来了。

  n@[a-z]: 调用宏n次

  比如我常喜欢做的全文本注释掉:

  0. gg  1. qa  2. i  3.#  4. Esc  5.j  6. q  7. 100@a

  当然也可以使用文艺的方法:%s/^/#

五、替换

想要替换一段文本,但又不知道起始和终止的行数,可以输入V进入,visual模式,向上或向下包含住选择的文本,再执行:会出现:'<' '>'的样式,这样输入s/old/new/g 就全部替换了选中文本里的内容了。

 

暂时用的开发就是这些了,觉得个人写代码足够应付的过来了。贴下.vimrc 以后会慢慢再更新

set autoindent
set syntax=on
set softtabstop=4
filetype plugin on
colorscheme IDLE

let g:pydiction_location='/root/conf/vi/complete-dict'

let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Use_Right_Window = 1

set tags=./tags,/usr/lib/python2.6/tags
map <silent> <F7> :Grep<CR><CR><CR>
imap <silent> <F7> <ESC>:Grep<CR><CR><CR>




posted @ 2012-04-05 14:15  阿毛小猪  阅读(6451)  评论(0编辑  收藏  举报