vim学习

vim学习

认识与介绍

  vim是一款linux下查看编辑文本文件的一款文本编辑器。一般用来查看修改配置文件、日志文件等文本类文件。

打开文件

  vim [OPTIONS] [FILE …]

    +#: 打开文件后,直接让文件处于第#行
    +/PARTERN: 打开文件后,直接处于第一个被PARTERN匹配到的行的行首

模式转换

编辑模式:默认模式
    编辑模式 --> 输入模式
            i: insert, 在光标所在处输入
            a:append, 在光标所在后方追加
            o:在光标所在处的下一行打开一个新行
            I:在光标所在行的行首输入
            A:在光标所在行的行位输入
            O:在光标所在行的上一行输入

    输入模式 --> 编辑模式
            ESC
            Ctrl+C

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

    末行模式 --> 编辑模式
            ESC
            Ctrl+C

关闭文件

    ZZ    保存并退出
    :q    退出
    :q!   强制退出
    :wq 保存并退出;
            :w, :q
    :x    保存并退出
    :w    /PATH/TO/SOMEFILE

编辑模式下的操作

光标跳转

    字符键跳转
        h:    左
        j:    下
        k:    上
        l:    右

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

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

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

    句间跳转
        ):    跳转至上一句的句首
        (:    跳转至下一句的句首

    段间跳转
        {:    跳转至上一段落的段首
        }:    跳转至下一段落的段尾

翻屏

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

字符编辑

    x:     删除光标所在处的字符
    #x:    删除光标
    xp:    交换光标所在处的字符与其后面字符的位置;

替换命令

    r:替换光标所在处的字符(键入r后,键入其他字符替换当前字符)
        rCHAR

删除命令

    d:删除命令,可结合光标跳转字符,实现范围删除;
        d$:删除光标至行尾的所有字符
        d^:删除光标至行首的所有字符

        dw:删除光标所在单词至下一个单词的词首
        de:删除光标位置到所在位置至词尾的字符
        db:删除光标至当前所处单词的词首

        dd:删除光标所在的行
            #dd:从光标所处行起,删除#行

粘贴命令(p, put, paste)

    小写p:缓存区中的内容若是正行内容,则粘贴在光标所在行的下一行;否则粘贴在光标所在行尾
    大写P:缓存区中的内容若是正行内容,则粘贴在光标所在行的上一行;否则粘贴在光标所在行首

复制命令

    y:复制,工作行为类似于d命令;
        y$: 复制光标位置到当前行尾部的内容
        y^:复制光标位置到当前行行首非空的内容
        y0:复制光标位置到当前行行首的内容

        ye:复制光标到当前词的词尾的内容
        yw:复制光标到下一个单词的词首的内容
        yb:复制光标到当前单词词首的内容

改变命令(change, c)

    c$:删除光标至当前行行尾的内容并进入插入模式
    c^:删除光标至当前行首的非空字符并进入插入模式
    c0:删除光标至当前行的行首并进入插入模式

    cb:删除光标至当前单词的词首内容并进入插入模式
    ce:删除光标至当前单词的词尾内容并进入插入模式
    cw:删除光标至下个单词的词首的内容并进入插入模式

    cc:删除光标所在的行,并转换为输入模式
        #cc:从光标所在行起删除#行,并转换为输入模式

可视化模式

用来选中连续的内容。
    v:按字符选定:
    V:按行选定;

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

撤销(undo)操作

    u:撤销此前的操作
        #u:撤下此前的#个操作
    Ctrl+r:撤销此前的撤销

重复执行前一个编辑操作

    .

vim 行内模式(也称为命令行模式)

  • 这是vim內建的命令行接口

地址定界

界定内容后,进行命令编辑

    :start_pos[,end_pos]
        #:        特定的第#行,例如5即第5行
        .:        当前行
        $:        最后一行
        #,#:      指定行范围,例如3,5表示第3到第5行(其中3行和5行都包含在内)
        #,[-|+]#: 指定行范围,相对于起始行+#行或-#行
                3,+7:表示第2行到第10行
                .,$-1:表示当前行到最后一行减1行,也就是当前行到倒数第2行
                1,$:表示从第1行到最后一行
        %:        全文
        /pattern/:从光标所在行到第一次被模式匹配到的行
            /first/,$:从光标所在行起第一次匹配到first字符串的行到最后一行
        /pat1/,/pat2/:从所在行起第一次匹配到pat1的行开始,至第一次匹配到pat2所在行结束之间的行。

    同编辑命令一同使用,实现编辑操作:
        d:删除界定的内容
        y:复制界定的内容
        c:删除界定的内容并进入插入模式

        w /PATH/TO/SOMEFILE:将范围内的文本保存至指定的文件中
        r /PATH/FROM/SOMEFILE:将指定文件的内容读取并插入到指定位置

导入其他文件内容

r /PATH/RROM/SOMEFILE:将指定的文件中的文本读取并插入至指定位置

全文查找

    /PATTERN:从光标所在处向文件尾部查找能够被 PATTERN 匹配的所有字符串
    ?PATTERN:从光标所在处向文件首部查找能够被 PATTERN 匹配的所有字符串
            n:跳转至下一个匹配项,与命令方向相同;
            N:跳转至上一个匹配项,与命令方向相反;

查找并替换

    默认的界定符是 . 当前行。全文替换则为%为界定符即可。
    s:末行模式的命令
        使用格式:
            s/要查找的内容/替换的新内容/修饰符
                要查找的内容:可以使用正则表达式
                替换的新内容:不可以使用正则表达式,但可以引用查找到的内容中的分组
                        要查找的内容中有分组,在替换的新内容中可以使用 \1,\2... 向后引用
                        直接引用查找到的所有文本,要使用&符号;
                修饰符:
                    i:忽略大小写
                    g:全局替换,意味着一行中匹配到多次全替换,否则只替换匹配到的第一个

            可把分隔符修改为其他不常用的字符(这种修改后,原有的/分隔符依然可以使用):
                    s@@@
                    s###

定制工作特性

  • 注意在末行模式下的设定,仅对当前vim进程有效;

  • 永久有效,可以设置
    全局:/etc/vimrc
    个人:~/.vimrc

      1、行号
          显示:set number,简写为set nu
          取消:set nomber,set nonu
    
      2、括号匹配高亮
          匹配:set showmatch, set sm
          取消:set nosm
    
      3、自动缩进
          启用:set ai
          禁用:set noai
    
      4、高亮搜索
          启用:set hlsearch
          禁用:set nohlsearch
    
      5、语法高亮
          启用:syntax on
          禁用:syntax off
    
      6、忽略大小写
          启用:set ic
          禁用:set noic

获取帮助

:help
:help subject

原创文章,作者:小江,如若转载,请注明出处:http://www.178linux.com/49630

(0)
上一篇 2016-10-09 09:06
下一篇 2016-10-09 09:06

相关推荐

  • varnish

    缓存 缓存之所以能够生效是程序的运行具有局部性特征: 时间局部性:一个数据被访问过之后,可能很快会被再次访问到; 空间局部性:一个数据被访问时,其周边的数据也有可能被访问到 缓存的是热区数据 时效性: 缓存空间耗尽:LRU,最近最少使用; 过期:缓存清理 缓存命中率:hit/(hit+miss) 页面命中率:基于页面数量进行衡量 字节命中率:基于页面的体积进…

    Linux干货 2017-07-03
  • grep命令和find命令的练习

    1、显示系统上root、Fedora、或user1用户的默认shell [root@localhost ~]# grep -E “^(root|fedora|user1)\>” /etc/passwd | cut -d: -f1,7 root:/bin/bash fedora:/bin/bash user1:/bin/bash 2、找出/etc/rc….

    Linux干货 2017-07-30
  • 【社招】【小米-北京】linux内核工程师

    【社招】【小米-北京】内核工程师 【工作地点】北京市海淀区安宁庄东路72号科利源大厦 【薪酬福利】20k-40k 期权奖励、六险一金、水果花茶、班车、健身房、食堂 【投递方式】邮件主题“岗位+姓名”发送至lipengcheng3@xiaomi.com   岗位职责: 1.      负责内…

    Linux干货 2017-07-28
  • N25-第16周博客作业

    1、源码编译安装LNMP架构环境;     安装nginx:      1)安装依赖包 ]# yum groupinstall “Development Tools” “Development Libraries” -y ]# yum install wget openssl-devel ncurses-de…

    2017-05-21
  • Redhat的Linux产品版本AS/ES/WS的联系与区别

    Redhat 有两大Linux产品系列,其一是免费的Fedora Core系列主要用于桌面版本,提供了较多新特性的支持。另外一个产品系列是收费的Enterprise系列,这个系列分成:AS/ES/WS等分支,他 们都是redhat企业级Linux,简称为 RHEL AS 是超级服务器版(Advanced Server),他在标准Linux内核的基础上,做了性…

    Linux干货 2015-03-20
  • CentOS6 ELK实现

    1 简介 我们来介绍Centos6.5基于SSL密码认证部署ELK(Elasticsearch 1.4.4+Logstash 1.4.2+kibana3),同时为大家介绍如何集合如上组件来收集日志,本章的日志收集主要为大家介绍SYSTEM日志收集. 集中化日志收集主要应用场景是在同一个窗口临时性或永久性鉴定分析系统,应用等各类日志,对用户提供极大便利,同时也…

    2015-02-15