为了账号安全,请及时绑定邮箱和手机立即绑定

玩转Vim 从放弃到爱不释手

难度中级
时长 5小时 9分
学习人数
综合评分9.67
37人评价 查看评价
9.9 内容实用
9.1 简洁易懂
10.0 逻辑清晰
  • lllll

    查看全部
    0 采集 收起 来源:Vim 补全大法

    2019-12-15

  • lllll

    查看全部
    0 采集 收起 来源:Vim 补全大法

    2019-12-15

  • vim normal模式下的复制粘贴和insert模式不太一样

    normal 模式:

        noraml模式下复制粘贴使用y(yank)和p(put), 剪贴d和p

        可以使用v(visual)命令选中所要复制的地方,然后使用p粘贴

        yiw复制一个单词,yy复制一行

        

    insert模式下的复制粘贴

        vimrc设置autoindent,可以自动缩进,但粘贴python代码会格式混乱

        这个时候使用:set paste 和:set nopaste解决

    vim不使用单一剪贴板进行剪贴,复制与粘贴,而是多组寄存器

        通过"{register}前缀可以指定寄存器,不指定默认用无名寄存器

        "ayjw复制一个单词到寄存器a中,"bdd删除当前行到寄存器b中。

        除了a-z寄存器,系统剪贴板"+

        使用系统剪贴板,vim里的内容可以与这个系统内的其他共享,但服务器那边只能:set paste和:set nopaste

        :set clipboard=unnamed可以让你直接复制粘贴系统剪贴板内容

        :echo has("clipboard")查看系统是否支持clipboard 0为不支持,1为支持

        :reg 查看寄存器内容

    查看全部
  • vim的文本对象(text object)

        [number]<command>[text object]

        number表示次数,command是命令, d(elete), c(hange), y(ank)

        text object是要操作的文本对象, 比如单词w,句子s,段落p

        主要使用的有iw, inner word, 如果使用viw,那么v进入选择模式,iw选择当前单词

        aw 表示around word,不但会选中当前单词,还会包含当前单词之后的空格。

    查看全部
  • 多文件操作相关的概念:

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

        Window是Buffer可视化的分割区域

        Tab可以组织窗口为一个工作区

        同一个Buffer的文件,修改一个就会影响到全部

    • Buffer

      vim打开一个文件后会加载文件内容到缓冲区,修改是在缓冲区修改,并不会直接保存到文件,直到执行:w(write)的时候才会把修改内容写入到文件里。

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

      使用:e a.txt可以另外打开一个文件

      :bpre :bnext :bfirst :blast

      :b buffer_name 可以使用tab补全来跳转

    • window窗口

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

      ctrl + w 停一下 按s 水平分割

      ctrl + w 停一下 按v 垂直分割

      或者:sp 和:vs

      切换窗口: ctrl + w 按 w h/j/kl


    查看全部
    0 采集 收起 来源:Vim 多文件操作

    2019-12-12

  • vim替换命令

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

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

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

    Flags有几个常用的标志

        g(global) 表示全局范围内执行

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

        n(number)报告匹配到的次数而不替换,可以用来查询匹配次数

    案例(精准将quack替换为jiao):

    :% s/\<quack\>/jiao/g

    查看全部
  • normal模式下:

    • vim增加字符

      a/i/o A/I/O

    • vim快速删除

      x快速删除一个字符

      d可以配合文本对象快速删除一个单词


      dw删除整个单词包括空格

      daw删除整个单词包括空格

      diw不包括空格

      dd删除一行

      dt) 删除直到)的内容

      di)可以删除整个括号内的内容

      数字加命令表示多次执行

    • vim快速修改

            r(replace)替换一个字符

            s(substitute)替换并进入插入模式

            c(change)和d的用法差不多

    • vim查询

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

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

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




    查看全部
    • normal模式下

            h 左移  j 下移 k 上移 l 右移

            w/W 移到下一个word/WORD开头, e/E下一个word/WORD尾

            b/B 回到上一个word/WORD开头,可以理解为backword

            word指的是以非空白符分割的单词,WORD以空白符分割的单词

            主要使用w和b

    • 行间搜索移动:

      使用f{char}可以移动到char字符上,t移动到char的前一个字符

      ;/,继续搜索下一个/上一个

      大写的F表示反过来搜前面的字符

      0移动到行首,$移动到行尾

    • vim页面移动

      gg/G移动到文件开头/结尾

      ctrl+o 快速返回上次编辑位置

      H/M/L 跳转屏幕开头,中间,结尾(Head, Middle, Lower)

      Ctrl + u, Ctrl + f上下翻页(upward, forward)

      zz把屏幕置为中间

    查看全部
  • 终端命令行或者vim插入模式:

    ctrl + h 删除上一个字符

    ctrl + w 删除上一个单词

    ctrl + u 删除当前行

    在终端下

    ctrl + a 定位到开始

    ctrl + e 定位到结束


    快速切换insert和normal模式

    使用ctrl + [ 代替Esc

    gi 可以快速跳转到最后一次编辑的地方并进入插入模式

    查看全部
  • 补全的功能

    查看全部
    0 采集 收起 来源:Vim 补全大法

    2019-12-08

  • visual模式

    Normal模式下可以使用v进入visual选择

    使用V选择行

    使用ctrl+v进行方块的选择

    查看全部
  • a append

    i insert

    o open a line below


    A append after line 

    I insert before line 

    O  append a line above

    查看全部
  • jjj lll

    查看全部
  • ffkkf 

    查看全部
  • majutsushi/tagbar

    :TagbarToggle

    lfv89/vi-interestingwords

    <leader>k显示高亮

    <leader>K清除高亮

    查看全部

举报

0/150
提交
取消
课程须知
1、了解 Linux 系统的常见操作。 2、知道如何安装 Vim。
老师告诉你能学到什么?
1、Vim 编辑器的基础操作 2、使用 Vim 编辑器的奇淫技巧 3、Vim 编辑器中常见的概念 4、如何配置 Vim 编辑器 5、如何安装和使用常见的 Vim 插件 6、使用Vim 开源配置

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!