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

优雅玩转Vim

DevOps24h Linux系统工程师
难度初级
时长 1小时57分
学习人数
综合评分9.33
22人评价 查看评价
9.5 内容实用
9.4 简洁易懂
9.1 逻辑清晰
  • 对的
    查看全部
    0 采集 收起 来源:课程简介

    2018-10-16

  • 第一章到第五章的笔记:

    VIM

    1 :version 查看配置文件 vimrc 的位置

    it shows: “user vimrc file: "$HOME/.vimrc"”

    配置文件在用户目录下~/.vimrc ,如果没有,就自己创建一个

    vimrc  “ 表示注释

    #移动 

    hjkl 左下上右

    0 移动到行首

    ^ 移动到代码的第一个字符

    $ 移动到行尾

    w/W 移动到下一个单词. w把标点也作为一个单词, W以空格区分单词

    b/B     反向移动

    e/E   移动到下一个单词结尾

    ge   反向到下一个单词结尾

    #跳转

    Ctrl+f 下一页

    Ctrl+b  上一页

    Ctrl+d/u  向下/上翻半页

    gg  跳转到文件首行

    <line_number>gg/G 跳转到指定行。如输入 8gg就回跳转到第8行。

    G   跳转到文件最后一行

    Ctrl+g   查看文件信息:文件名,当前行数,当前百分比

    #缩进

    >>  右锁进。普通模式下,需要在有字符的情况下。

    << 左锁进。

    命令模式下

    :m,n> m行到n行进行缩进

    :m>n m行开始,连续缩进n行

    Vim 

    delete 剪切

    yank 拷贝

    put 粘贴

    :h   帮助命令

    :h reg  寄存器的帮助命令。寄存器可以大概理解为剪切板。

    yy 赋值整行。

    dd 剪切整行

    :reg 查看剪切版(寄存器)中的内容。

    p 粘贴

    u 撤销

    ctr+r 重做

    yw 赋值当前光标单词,y2w 向前复制2个单词。

    x 删除当前光标所在字符。

    dw 删除当前字符

    d{hjkl} 删除上下左右的字符

    d$ 删除到行尾

    d^ 删除到行首

    5dd 连续向下删除5行

    5w 正向移动5个单词

    5dw 连续先前删除5次

    ~ 单个字符大小写切换

    g~w 单词大小写切换

    g~~ 整行大小写切换

    guw 单词强制小写

    gUw 单词强制大写

    guu 当前行小写

    fs 查找下一个字符‘s’ 的位置。当前行查找

    Fs 反向查找下一个字符‘s’ 的位置。当前行查找。

    dft 删除光标到当前行到查找‘t’之间的字符。但前行查找

    /string 命令行全文查找当前字符穿string。

    替换

    :s/set/world/g  当前行 ‘set’ 修改为 ‘world’ 

    :%s/set/world/g 全文 ‘set’ 修改为 ‘world’

    shift + r 替换模式,新的输入会覆盖当前行。

    缓冲区

    vim file1 file2 打开多个文件,每个文件对应一个缓冲区

    :ls 列出来当前缓冲区

    :bp 前一个

    :bn 后一个

    :ball 所有的

    :qall 退出所有的

    分屏

    vim -O file1 file2  水平分屏,打开file1,file2 两个文件。

    vim -o file1 file2  竖直分屏

    ctrl + w + h/j/k/l 移动选中分屏

    标签:

    :tabsnew file1 在新标签中打开file1

    :tabs   查看当前所打开的标签页

    :tabclose 关闭当前所打开的标签

    :tabonly 除了当前关闭所有标签

    :tabn 移动下一个标签

    :tabp 移到前一个标签

    :tabfirst 移到第一个标签

    :tablast 移到最后一个标签

    :tabm 2 移到第二个标签, 从0开始

    gt 移动到下一个标签

    gT 移动到上一标签

    2gt 移动到第二个标签,从1开始。

    文本对象

    可视化模式下

    viw i 不包括空格,空格计数

    vis 选中句子

    vip 选中段落

    vi( 选中小括号

    vi[ 选中中括号

    vit 选中标签中的内容

    vaw a 空格不计数

    v2aw

    daw 删除当前单词,包括删除空格

    diw 删除当前单词,不删除空格

    dw 删除光标后

    普通模式下 qa,开始录制寄存器到a寄存器中。

    按 i,进入编辑。

    esc 退出编辑。

    q退出录制。

    100@a  把a寄存器中的宏执行100次。

    @@ 执行一遍上一次的操作

    :n,mnormal @a 

    可视化

    v 面向字符

    shift + v 面向行

    ctrl + v 面向块

    gv 重选上次高亮边界

    o 切换选取边界

    案例1:仅把大括号内的进行缩进。

    f () {

    111       

    222     

    333     

    }

    1 选中:光标移动到大括号左面,’vi{‘

    2 缩进: ‘>>’

    3 再次缩进: ‘.’

    4 取消一次缩进: ‘u’

    案例2:制表

    chapter  Page

    一        10 

    二        30 

    三        60

    1 绘制竖线:

    光标移到‘chapter’ ‘Page’单词之间,ctrl+v 进入块编辑。

    向下移动选中一列

    r 替换

    | 完成

    2 绘制横线

    把‘chapter| Page’ 拷贝一下。再把一行替换掉。

    shift + v 选中一行。

    r 单个字符替换

    - 完成。

    chapter| Page

    _____________

    一     |  10 

    二     |  30 

    三     |  60

    案例三

    aaa ggg bbb

    aaa ggg bbb

    aaa ggg bbb

    替换为

    aaa ... bbb

    aaa ... bbb

    aaa ... bbb

    1 ctrl+v,光标移动到第一个g,向下移动。e选中当前单词,ggg。

    2 c 修改

    3 输入 …

    4 退出编辑,完成。

    案例4: 再每行行尾添加 end

    1 2 

    1 2 3 

    1 2 

    1 ctrl+v 进入块模式

    2 从上到下选一列

    3 $ 选到行尾

    4 A 进入插入模式,行尾添加end。

    5 退出。完成。

    1 end

    1 2 end

    1 2 3 end

    1 2 end

    1 end

    部分内容有筛选。

    查看全部
    9 采集 收起 来源:课程总结

    2018-10-14

  • 可视化模式

    三种子模式

    查看全部
    0 采集 收起 来源:Visual 模式

    2018-10-09

  • 标签操作和命令键

    查看全部
  • 标签操作指令

    查看全部
  • 移动分屏和尺寸变动

    查看全部
  • (多窗口)分屏操作

    查看全部
  • 缓冲区列表操作

    查看全部
  • 缓冲区列表操作

    查看全部
  • 缓冲区列表指示状态

    查看全部
  • 缓冲区列表

    查看全部
  • 删除、复制与粘贴

    7.组合删除

    查看全部
  • 删除、复制与粘贴

    6.组合删除

    查看全部
  • 删除、复制与粘贴

    5.行剪切粘贴

    查看全部
  • 删除、复制与粘贴

    4.调换字符

    查看全部

举报

0/150
提交
取消
课程须知
1、有基本的Linux基础 2、了解过Vim
老师告诉你能学到什么?
1、缓冲区与多文件编辑 2、多窗口操作(分屏)与标签分组 3、宏和文本对象 4、Visual模式(可视化模式)

微信扫码,参与3人拼团

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

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