美文网首页生物信息学
vim简单实用技巧

vim简单实用技巧

作者: Amy_Cui | 来源:发表于2018-10-18 21:26 被阅读140次

    vim的使用

    基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode):

    启动vim随即进入命令行模式 等同于按Esc键;

    命令行模式(Command mode)

    切换到输入模式

    i 切换到输入模式,修改位置为光标所在位置,即在光标处开始插入字符!!!
    a 切换到输入模式,修改位置为光标下一位置,光标自动往下一个字符。
    I  切换到输入模式,调到某一行行首。
    A 切换到输入模式,调到某一行行末。


    以下均是在Esc模式下

    查找

    /find 向下查找。小技巧:在炒鸡炒鸡长的一行里,方便鼠标定位,按i即可修改,不用一个一个字符滑动
    ?find 向上查找。
    n 代表重复前一个搜寻动作,比如/find 搭配n 向下查找下一个。或者用上箭头+enter
    N 代表『反向』进行前一个搜寻动作。,比如/find 搭配N 向上查找下一个。

    字符的删除

    x 等同于delete键
    10x 连续向后删除 10 个字符。
    X 等同于backspace键

    行的复制和删除

    yy 复制当前行;结合 p粘贴所复制的行数! eg:2yy 然后 p **
    dd 删除当前行;结合p粘贴所删除的行数!
    eg:2dd 然后 p** 个人喜欢这么用,因为不用动鼠标拷贴 !!!

    yy搭配p搭配. 重复粘贴该行;
    dd搭配p搭配. 重复删除光标所在行;

    替换

    :%s/before/after/ vi里的替换操作(底层命令行模式),也可用sed -i 's/before/after/' file(一不小心替换错了,尴尬,所以最好不要用-i在原文件上操作)实现;末尾加g表示一行内全部替换。!!!
    r 按完后毫无反应,但是却可以实现替换光标所在字符。
    R 按R后下方出现-- REPLACE --显示当前不是插入模式,是replace模式。Esc可退出
    `` 

    撤销和重复

    u替换错了怎么办??u撤销,可多次使用。!!!
    ctrl+r 退回,比如我不小心按到u
    . 重复删除或者复制

    保存和退出

    :wq && wq! 保存和强制保存/覆盖!!!
    :q && :q! 退出和强制退出!!!
    :w new_file_name 简言之另存为,可保留源文件。方便我忘记复制,在原流程里改数据,嘎嘎!!!

    行的编号

    :set nu 或者:set number 撤销使用:set number。!!!
    :set paste  VS set nopaste

    输入模式(Insert mode)

      一般大家都会在环境设置里设置自动tab,方便写程序。

    配置.vimrc

    比如我的.vimrc里:

    set showmatch           " auto match ()
    set smartindent         " auto tab
    

      坏处就是在你从另一个文档里粘贴一段代码到当前vi文本里时,自动tab就会在你原有模块的基础上,继续补加tab,然后你就看到了好好的文本变歪了。所以我最喜欢在Esc模式下用set paste清除自动补加tab功能,然后用set nopaste还原。

    相关文章

      网友评论

        本文标题:vim简单实用技巧

        本文链接:https://www.haomeiwen.com/subject/jmfezftx.html