VIM 使用二

一、vim的增删改查

    1、vim 增加字符

        增加字符就是进入编辑模式

        使用a/i/o进入插入模式

    2、vim 快速删除

        vim在normal模式下只用 x 快速删除一个字符

        使用d(delete)配合文本对象快速删除一个单词 daw(d around word)

        d和x都可以搭配数字来执行多次    dd删除行    dt(  删除()内的内容

        2+dd 删除两行

        4+x删除4个字符

    3、快速修改

        常用的有三个

        r(replace)、c(change)、s(substitute)

        normal模式下使用r可以替换一个字符。s替换并进入插入模式

        使用c配合文本对象,进行快速修改

    4、查询

        使用/ 或者 ? 进行向前或反向搜索

        使用n/N跳转到下一个或者上一个匹配

        使用*或者# 进行当前单词的前向和后向匹配

    5、搜索替换

        substitute 命令允许查找并且替换掉文本,支持正则式

        :[range]s[ubstitute]/{pattern}/{string}/[flags]

        range 表示范围,比如    :10,20    表示10-20行,%表示全部

        pattern 是要替换的模式,string是替换后的文本

        flag表示替换标志位,常用的有 g(global) 表示全局范围内执行

            c(confirm)表示确认,可以确认或者拒绝

            n(number) 报告匹配到的次数而不替换,可以用来查询匹配次数 eg :% s/char// n

二、vim 多文件操作

    1、多文件相关的概念

        buffer  是指打开的一个文件的内存缓冲区

        Window  是buffer可视化的分割区域

        tab  可以阻止窗口为一个工作区

        1.1 Buffer -- 什么是缓冲区

            Vim打开一个文件后会加载文件内容到缓冲区,之后修改的内容都是针对内存中的缓冲区,并不会直接保存到文件,直到执行  :w  的时候,才会把修改内容写入到文件中

            如何在buffer之间切换

                使用 :ls 列举当前缓冲区,然后使用  :b n跳转到第n个缓冲区

                :bpre :bnext :bfirst :blast

                或者使用 :b bufer_name 加上tab补全来跳转

                在当前打开的文件中 使用 :e a.txt 再打开一个文件,使用 :ls 查看当前打开的文件 

            Window 窗口

                一个缓冲区可以分割成多个窗口,每个窗口也可以打开不同的缓冲区

                s 水平分割   v 垂直分割,或者:sp  :vs

                w   在窗口间循环切换

                h    切换到左边窗口

                j    切换到下边窗口

                k    切换到上边窗口

                     切换到右边窗口

                =   使所有窗口等宽等高

                _   最大化活动窗口的高度

                |    最大化活动窗口的宽度

                [N]_    把活动窗口的高度设置为N行

                [N]|     把活动窗口的宽度设置为N列

            Tab 将窗口分组

                Tab是可以容纳一系列窗口的容器(:h tabpage)

                vim 的tab和其他编辑器不太一样,可以想象成linux的虚拟桌面

                比如一个tab全用来编辑HTML文件,一个tab全用来编辑txt文件

                :tabnew a.txt  打开一个新的标签页

                :table[dit]{filename}    在新标签页中打开 {fliename}

                T      把当前窗口移到一个新的标签页

                :tabc   关闭当前标签页及其中的所有窗口

                :tabo    只保留当前活动标签页,关闭其他所有标签页

                :tabn {N}   切换到编号为N的标签页

                :tabn    gt   切换到下一标签页

                :tabp       gT  切换到上一标签页

你可能感兴趣的:(VIM 使用二)