zoukankan      html  css  js  c++  java
  • Linux vim编辑器

    vim编辑器

            简介:

                vi:Visual Interface文本编辑器;

                文本:ACSII,Unicode

                文本编辑器种类

                    行编辑器:sed

                    全屏编辑器:nano,vi

                vim:vi improved;

            使用方法:

                vim:模式化的编辑器

                    基本模式

                        编辑模式,命令模式:可以输入很多快捷键;dd,yy,pp

                        末行模式:内置的命令行接口,可以实现多种操作;

                        输入模式

                    打开文件

                        vim [options] [file…]

                        +#:打开文件时使光标直接定位到#行所在的位置;

                        +/PATTERN:打开文件后,使光标直接定位到第一个被前面模式所匹配的行的行首;

                    模式转换

                        编辑模式→输入模式:

                            a:在光标所在位置的后面开始输入;

                            i:在光标所在位置开始输入;

                            o:在光标所在位置的下一行的行首开始输入;

                           I:在当前光标所在行的行首开始输入;

                            A:在当前行光标所在行的行尾开始输入;

                            O:在光标所在位置的上一行的行首开始输入;

                        输入模式→编辑模式:Esc

                        编辑模式→末行模式:":"

                        末行模式→编辑模式:Esc

                    关闭文件:

                        q:退出文件;

                        q!:强制退出文件;

                        wq:保存并退出文件;

                        ZZ:保存并退出;

                        x:保存退出;

                        w /path/to/file:保存到另一个文件中;

                    光标跳转:

                        字符间跳转:

            h:左移

            j:下移

            k:上移

            l:右移

           单词间跳转:
                            w:向前移动一个单词;光标在词首间移动;                   

                            e:向后移动一个单词;光标在词尾间移动;

                            b:向前移动一个单词;光标在词首间移动;

                            #command:支持跳转由#指定的个数的字符;

                        行首行尾跳转:

                            ^:将光标移动到行首,首个非空白字符;

                            0:将光标移动到绝对行首;

                            &:将光标移动到行尾;

                        行间跳转:

                            #G:跳转至#所指定的行;

                            G:跳转至文尾;

                            gg:跳转至文首;

                        句间移动:

                             "(",")"

                        段落间移动:

                            "{","}"

                    vim的编辑命令:

                        字符编辑

                            x:删除光标所在位置的单个字符;

                            #x:删除光标起始的#个字符;

     

                            xp:交换前后字符;

                        删除命令

                            d:删除命令,可结合光标跳转字符,实现范围删除;

            d^,d$,d0,db,de,dw


                            dd:删除光标所在的行;                                      

            #command:支持删除由#指定的单词数;比如:10dw;

                                 #command;比如10dd:向下删除十行,包括光标所在行;

                        粘贴命令

                            p:粘贴命令,可以将缓存中的内容粘贴到文本中;

                                缓存区的内容如果为整行的,就会将内容粘贴至光标所在行的下一行;

                                    如果为一部分行,则会粘贴至光标所在位置的后面;

                            P:粘贴命令,可以将缓存中的内容粘贴到文本中;

                                缓存区的内容如果为整行的,就会将内容粘贴至光标所在行的上一行;

                                        如果为一部分行,则会粘贴至光标所在位置的前面;

                        复制命令

                            y:复制命令;用法;类似于删除命令“d”;

                               用法请参考上面的删除命令;

                        改变命令

                            c:执行以后自动由编辑模式切换到输入模式;

                                比如c$:会删除光标及其之后的内容然后转为输入模式;

                                    cc:删除一行然后转为输入模式;

              ce,cw,cb


                            r:替换光标所在位置的字符;                    替换命令

                                #command:#r'String';

                            R:从光标开始位置连续替换;

                        可视化模式

                            v:按字符选定;

                            V:按行选定;

                            Note:常与编辑命令一起使用;

                        撤销此前的操作

                            u:撤销命令;

                                #u:一次撤销指定次数;

                            Ctrl+r:撤销此前的撤销的操作;

                        重复前一次的编辑操作:".";

                        翻屏操作

                            Ctrl+f:向文件尾部翻一屏;

                            Ctrl+b:向文件首部翻一屏;

                            Ctrl+u:向文件首都翻半屏;

                            Ctrl+d:向文件尾部翻半屏;

                        vim自带的练习教程:vimtutor;

                    vim中的末行模式:内建的命令行接口;

                        地址定界

                            #:具体的#行;

                            n,m:从第n行到第m行;

                            #,+n:从第#行到之后的n行;

                            ".":当前行;

                            $:到文尾;最后一行;

                               .,$-1:从当前行到倒数第二行;

                            %:全文→1,$;

                            /pat1/,/pat2/:表示从第一次被模式1匹配的行到第一次被模式2匹配的行之间的内容;

                                #,/pat/

                                /pat/,$

                        使用方式:后跟一个编辑命令或保存命令;

                            d,y,p

                            w /path/to/file :将当前选中的内容另存为某个文件中;

                            r /path/from/somefile:从某处读取文件内容到当前文件中;

                        查找

                            /pattern:从当前光标所在位置向上查找;

                            ?pattern:从光标当前所在位置向下查找;

                            n:与命令同方向,在所找到的字符间跳转;

                            N:与命令反方向,在所找到的字符间跳转;

                        查找并替换

                            s:在末行模式下完成查找替换操作;

                                s/被替换的内容/替换为的内容/修饰符

                                    被替换的内容:可以使用模式匹配;

                                    替换为的内容:不可以使用模式匹配,但是可以使用/1,/2,…等后向引用符号,及&符号引用前面匹配到的整个内容;

                                    g:全局替换;默认不加g,则只改变每行中的第一个匹配到的字符内容;

                                    i:忽略大小写;

                            使用方法:一般与地址定界结合使用;

                                如果使用"/"为分隔符时,所匹配的字符里面包含"/",则需要""转义;或者改用其他分隔符:@,#;

                    多文件模式

                        vim [options] [file1,file2,…]

                            next:下一个;

                            prev:上一个;

                            first:第一个;

                            last:最后一个;

                            qall:退出所有文件;

                            wall:保存所有文件;

                            wqall:你懂的;

                        窗口分隔模式

                            vim -o files:水平分隔;

                            vim -O  files:垂直分隔;

                        单文件窗口分隔:

                            Ctrl+w,s:水平分隔;

                            Ctrl+w,v:垂直分隔;

                        定制vim的工作特性

                            配置文件:永久有效

                                全局:/etc/vimrc

                                个人:~/.vimrc

                            末行模式:

                                当前vim进程内有效;

                                行号:

                                    显示:set number 简写:set nu

                                    取消显示:set nonumber 简写:set nonu

                                括号匹配:

                                    匹配:set showmatch 简写:set sm

                                    取消:set noshowmatch 简写:set nosm

                                自动缩进:

                                    启用:set ai

                                    禁用:set noai

                                高亮搜索:

                                    启用:set hlsearch

                                    禁用:set nohlsearch

                                语法高亮:

                                    启用:syntax on

                                    禁用:syntax off

                                忽略字符的大小写:

                                    启用:set ic

                                    不忽略:set noic

                                获取帮助:

                                    末行模式:键入help;

         注:根据马哥视频做的笔记,如有错误,欢迎指正;侵删

        

     

  • 相关阅读:
    做技术选型时,要注意些什么?
    .net core 实现默认图片
    启用跨源请求 (CORS)
    使用 Cookie 而无需 ASP.NET 核心标识的身份验证
    Windbg+Procdump解决w3wp.exe CPU过百问题
    .NET Core 2.0 Cookie中间件 权限验证
    想要学习设计模式,你得先会看类图,一张图读懂UML
    ef core
    Dapper MySql DateTime 异常
    简单理解Socket
  • 原文地址:https://www.cnblogs.com/guowei-Linux/p/9787341.html
Copyright © 2011-2022 走看看