Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1951247
  • 博文数量: 383
  • 博客积分: 10011
  • 博客等级: 上将
  • 技术积分: 4061
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-24 18:53
文章分类

全部博文(383)

文章存档

2011年(1)

2010年(9)

2009年(276)

2008年(97)

我的朋友

分类: LINUX

2008-11-21 19:54:42

    本文的目标不是一个VI编辑器的教材。它只是个人在使用VI编程的过程中,对自认为比较有用的一些编辑功能及其它功能的一些整理。有一些功能,比如 hjkl键移动光标,个人并不习惯使用,同时也并不认为对提高编辑效率有多大帮助,所以没有列入其中。与编程风格,编程规范这些东西恰恰相反,编辑器的使用习惯对程序员来说,是一件很个人化,很个性化的事情。每个人都可以有自己的使用习惯和偏好,只要有利于工作的高效即可。

一、基本编辑功能
    1、复制、剪切和粘贴
   
    复制特定的某一段
把光标移到要复制的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,移到欲复制文本的尾部后,按下“y”,高亮文本全部被复制到剪粘板。
   
    复制某一行
把光标移到要复制的那一行,按下“yy”,该行就被复制到剪粘板。
   
    剪切特定的某一段把光标移到要剪切的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,移到欲剪切文本的尾部后,按下“y”,高亮文本全部被复制到剪粘板。
    剪切某一行把光标移到要剪切的那一行,按下“dd”,该行就被复制到剪粘板。
    粘贴剪粘板的内容到光标处把光标移到要粘贴的位置,按下“p”。
   
    2、搜索、替换
    向前搜索字符串“example”:/example
    向后搜索字符串“example”:?example
    搜到第一个字符串后,按下“n”向后搜索下一个,按下“N”向前搜索下一个。
    全文替换:  把全文的old替换为new :%s/old/new/g
                把全文的old替换为new,但每次要求确认::%s/old/new/c
   
    3、Undo和redo
    Undo:按下“u”。
    Redo: 按下“Ctrl + R”。
   
    4、保存、另存为
    保存:“w”。
    另存为:“w filename”。

二、语法高亮,格式设置

    首先在vi中导入vimrc范例文件::read $VIMRUNTIME/vimrc_example.vim。然后把它保存到你的用户目录下,保存文件名为.vimrc。文件中有一句:syntax on。即为开启语法高亮功能。
    关于这个文件中,还有几个比较有用的设置:
    set ruler       "任何时候都显示光标位置。
    set showcmd     "显示不完整的命令。
    set tabstop=4   "tab键缩进4格。


三、关键字补全
    Ctrl + N:找到匹配的关键字把当前未拼写完的关键字补充完整,如果有多个可匹配项,则每按一次Ctrl+N,切换到下一项。如果习惯用tab键补充关键字,则可以在.vimrc文件中添加如下代码:
    function! CleverTab()
        if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
            return "\"
        else
            return "\"
    endfunction
    inoremap =CleverTab()


四、编辑一个工程
    通常我们在开发一个程序中,不止一个源程序文件,我们要在整个工程中编辑源代码,就需要经常在文件间进行切换,这时,可以使用命令:
    :e filename
    切换到目标文件,而不需要退出vi。
    编辑完成,要make,直接输入make命令,如果有错误,该命令执行完毕后,会自动跳到第一个错误的地方,还有几个命令可以在错误行之间定位:
    :cc 显示错误信息。
    :cn 显示下一条错误信息。
    :cp 显示前一条错误信息。
    :cl 列出所有错误。

五、其它
    1、括号匹配。
    包括{} [] ()的匹配,在某一个括号上按下%,便会自动跳到与之匹配的那个括号处,再按一下%,就会跳回来。
    2、获得在线帮助。
    在编辑程序源代码时,如果对某个系统函数的用法不是很明确,把光标移到这个函数下,按下“K”,便>会跳出这个函数的man帮助信息。
    3、暂时回到shell。
    输入命令:sh
    4、在vi中执行shell命令。
    输入:!cmd,比如:!ls。

阅读(802) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~