vim 实用的东西

本文的目标不是一个VI编辑器的教材。它只是个人在使用VI编程的过程中,对自认为比较有用的一些编辑功能及其它功能的一些整理。

一、基本编辑功能
    1、复制、剪切和粘贴
    复制特定的某一段:把光标移到要复制的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,移到欲复制文本的尾部后,按下“y”,高亮文本全部被复制到剪粘板。
    复制某一行:把光标移到要复制的那一行,按下“yy”,该行就被复制到剪粘板。
    剪切特定的某一段:把光标移到要剪切的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,移到欲剪切文本的尾部后,按下“x”,高亮文本全部被复制到剪粘板。
    剪切某一行:把光标移到要剪切的那一行,按下“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格。
    :set number
    :set cindent
   //所有用户的配置文件为:/etc/vimrc

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

四、编辑一个工程
    通常我们在开发一个程序中,不止一个源程序文件,我们要在整个工程中编辑源代码,就需要经常在文件间进行切换,这时,可以使用命令:
    :e filename
    切换到目标文件,而不需要退出vi。
    编辑完成,要make,直接输入make命令,如果有错误,该命令执行完毕后,会自动跳到第一个错误的地方,还有几个命令可以在错误行之间定位:
    :cc 显示错误信息。
    :cn 显示下一条错误信息。
    :cp 显示前一条错误信息。
    :cl 列出所有错误。
五、其它
    1、括号匹配。
    包括{} [] ()的匹配,在某一个括号上按下%,便会自动跳到与之匹配的那个括号处,再按一下%,就会跳回来。
    2、获得在线帮助。
    在编辑程序源代码时,如果对某个系统函数的用法不是很明确,把光标移到这个函数下,按下“K”,便>会跳出这个函数的man帮助信息。
    3、暂时回到shell。
    输入命令:sh  返回VI:ctrl + d
    4、在vi中执行shell命令。
    输入:!cmd,比如:!ls。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值