VIM 使用二

作者: 懒小松 | 来源:发表于2019-06-29 21:33 被阅读0次

    一、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 窗口

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

                    <ctrl+w>s 水平分割   <ctrl+w>v 垂直分割,或者:sp  :vs

                    <ctrl+w>w   在窗口间循环切换

                    <ctrl+w>h    切换到左边窗口

                    <ctrl+w>j    切换到下边窗口

                    <ctrl+w>k    切换到上边窗口

                    <ctrl+w>     切换到右边窗口

                    <ctrl+w>=   使所有窗口等宽等高

                    <ctrl+w>_   最大化活动窗口的高度

                    <ctrl+w>|    最大化活动窗口的宽度

                    [N]<ctrl+w>_    把活动窗口的高度设置为N行

                    [N]<ctrl+w>|     把活动窗口的宽度设置为N列

                Tab 将窗口分组

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

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

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

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

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

                    <ctrl+w>T      把当前窗口移到一个新的标签页

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

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

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

                    :tabn    gt   切换到下一标签页

                    :tabp       gT  切换到上一标签页

    相关文章

      网友评论

        本文标题:VIM 使用二

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