zoukankan      html  css  js  c++  java
  • vim文本编辑及文件查找应用1

    vim编辑器:
        文本编辑器:
            文本:纯文本,ASCII text;Unicode(全球通用);

        文本编辑种类:
            行编辑器:sed
            全屏编辑器:nano,vi

            vi:Visual Interface
            vim:Vi IMproved

        vim:Vi IMproved, a programmers text editor
            模式化的编辑器

                基本模式:
                    编辑模式,命令模式
                    输入模式
                    末行模式:
                        内置的命令行接口

            打开文件:
                vim [options] [file ..]
                    +#:打开文件后,直接让文件光标处于第#行的行首
                    +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首
                    +:打开文件后,直接让光标处于最后一行

            模式转换:
                编辑模式:默认就处于当前模式
                    编辑模式-->输入模式
                        i:insert,在光标所在处输入
                        a:append,在光标所在处后方输入
                        o:在光标所在处的下方打开一个新行
                        I:在光标所在行的行首输入
                        A:在光标所在行的行尾输入
                        O:在光标所在处的上方打开一个新行

                    输入模式-->编辑模式
                        按ESC键

                    编辑模式-->末行模式
                        :

                    末行模式-->编辑模式
                        按ESC键

        关闭文件:
            在编辑模式下:
                ZZ:保存并退出
            在末行模式下:
                :q 退出
                :q! 强制退出,不保存此前的编辑操作
                :wq 可以分解为:w,:q两步,保存并退出
                :x 保存并退出
                :w /PATH/TO/SOMEFILE 把输入的内容另存为一个新文本

        光标跳转:
            字符间跳转
                h 向左跳转
                j 向下跳转
                k 向上跳转
                l 向右跳转

                #COMMAND:跳转由#指定的个数的字符

            单词间跳转
                w:下一个单词的词首
                e:当前或下一个单词的词尾
                b:当前或前一个单词的词首

                #COMMAND:跳转由#指定的个数的单词

            行首行尾跳转
                ^:跳转至行首的第一个非空白字符
                0:跳转至行首
                $:跳转至行尾

            行间跳转
                #G:跳转至由#指定的行
                1G,gg:跳转至第一行
                G:跳转至最后一行

            句间跳转
                )
                (

            段间跳转
                }
                {

        翻屏:
            Ctrl+f:向文件尾部翻一屏
            Ctrl+b:向文件首部翻一屏
            Ctrl+d:向文件尾部翻半屏
            Ctrl+u:向文件首部翻半屏
            Enter:按行向后翻

        vim的编辑命令:
            字符编辑:
                x:删除光标所在处的字符
                #x:删除光标所在处起始的#个字符

                xp:交换光标所在处的字符与其后面的字符的位置

            替换命令(replace):
                r:替换光标所在处的字符;r后边要跟上替换的字符
                    rCHAR

            删除命令:
                d:删除命令,可结合光标跳转字符,实现范围删除
                    d$:删除光标所在处到行尾的字符
                    d^:删除光标所在处到行首的第一个非空白字符
                    d0:删除光标所在处到行首的字符
                    dw:删除光标处所在的单词,一直到下个单词词首
                    de:删除光标至当前或下一个单词的词尾
                    db:删除光标至当前或前一个单词的词首
                        #COMMAND:删除#个命令所指定的字符
                    dd:删除光标所在处的行
                        #dd:删除光标所处的行起始的共#行

            粘贴命令(p,put,paste):
                p:缓冲区中的内容如果为整行,则粘贴在当前光标所在行的下方;否则,则粘贴至当前光标所在处的后方
                P:缓冲区中的内容如果为整行,则粘贴在当前光标所在行的上方;否则,则粘贴至当前光标所在处的前方

            复制命令(y,yank):
                y:复制,工作行为相似于d命令
                    y$:复制光标所在处到行尾的字符
                    y^:复制光标所在处到行首的第一个非空白字符
                    y0:复制光标所在处到行首的字符
                    yw:复制光标处所在的单词,一直到下个单词词首
                    ye:复制光标至当前或下一个单词的词尾
                    yb:复制光标至当前或前一个单词的词首
                        #COMMAND:复制#个命令所指定的字符
                    yy:复制一整行
                        #yy:复制#行

            改变命令(c,change):
                编辑模式-->输入模式,实现删除操作;工作行为相似于d命令
                    c$:删除光标所在处到行尾的字符,并转换为输入模式
                    c^:删除光标所在处到行首的第一个非空白字符,并转换为输入模式
                    c0:删除光标所在处到行首的字符,并转换为输入模式
                    cw:删除光标处所在的单词,一直到下个单词词首,并转换为输入模式
                    ce:删除光标至当前或下一个单词的词尾,并转换为输入模式
                    cb:删除光标至当前或前一个单词的词首,并转换为输入模式
                        #COMMAND:删除#个命令所指定的字符,并转换为输入模式
                    cd:删除光标所在处的行,并转换为输入模式
                        #cc:删除光标所处的行起始的共#行,并转换为输入模式

            可视化模式:
                v:按字符选定
                V:按行选定

                结合编辑命令:d,c,y

            撤销(undo)操作:
                u:撤销此前的操作,默认可以撤销50次
                    #u:撤销此前的#个操作

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

            重复执行前一个编辑操作:
                .:重复执行上一个操作

            vim自带的练习教程:vimtutor

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

  • 相关阅读:
    hdoj 1175 (bfs)
    hdoj1072 Nightmare bfs
    hdoj1242(bfs+priority_queue)
    hdoj1242(dfs 剪枝 解法)
    hdoj1421(bfs)
    配置Windows 2008 R2 64位 Odoo 8.0 源码PyCharm开发调试环境
    [转]编译VC++程序warning C4819快速解决
    解决VS2013+IE11调试DevExpress ASP.NET MVC的性能问题
    Google被墙 Android开发工具下载地址
    Mac OS X Yosemite安装盘U盘制作
  • 原文地址:https://www.cnblogs.com/jianchen013/p/11754043.html
Copyright © 2011-2022 走看看