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

玩转Vim 从放弃到爱不释手

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

    ctrl+w 删除单词

    ctrl+u 删除一行

    ctrl+b 前移一个字符

    ctrl+f 后移一个字符

    ctrl+c/[ 功能同Esc 切换insert和normal模式

    gi 快速进入编辑模式

    查看全部
  • https://en.wikibooks.org/wiki/Algorithm_Implementation/Sorting/Quicksort#Python
    
     def qsort(L):
       if L == []: return []
       return qsort([x for x in L[1:] if x< L[0]]) + L[0:1] + \          qsort([x for x in L[1:] if x>=L[0]])


    查看全部
  • 改造VIM

    https://img1.sycdn.imooc.com//5cf7ca660001f8f121211246.jpg

    查看全部
  • 个性化vimrc配置

    https://img1.sycdn.imooc.com//5cf682180001c47204660945.jpg

    查看全部
    0 采集 收起 来源:Vim 映射迷人眼

    2019-06-04

  • https://img1.sycdn.imooc.com//5cf616c300011a4614400760.jpg

    的设计费 了两口了

    查看全部
  • 众所周知,vim normal 模式使用了反人类的hjkl来移动

    查看全部
  • 反人类的hjkl

    查看全部
  • tab 切换

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

    2019-06-03

  • 快捷切换窗口

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

    2019-06-03

  • # 文本对象text object

    命令格式:

    [number]<command>[text object]

    number 次数

    command 命令 d(delete), c(change), y(yank), v(visual)

    text object 文本对象 w(单词word), s(句子sentence),p(段落paragraph)


    eg:

    iw  插入单词

    viw 选择模式插入单词

    vaw  around word 选中当前单词和单词之后的空格

    vis/vas/vip/vap


    vi(/)/</>/{/}/"/"/'/'

    va(/)/</>/{/}/"/"/'/'


    ciw  删除单词并插入

    ci{  删除{内容  


    插件 vim-go


    查看全部

  • # 多文件操作

    Buffer  打开一个文件的缓冲区

    Window  可视化分割区域

    Tab     组织窗口为一个工作区


    1、Buffer

    :ls  列举缓冲区

    :b n 跳转到第n个缓冲区

    :bpre :bnext :bfirst :blast

    :b buffer_name  tab补全


    :e filename 打开文件


    2、Window

    一个缓冲区可以分割为多个窗口

    每个窗口也可打开不同缓冲区

    窗口可以无限分割


    (1)窗口分割

    <ctrl + w> + s 水平分割  :sp [filename]

    <ctrl + w> + v 垂直分割  :vs [filename]


    (2)窗口切换

    <ctrl + w> + w 循环切换

    <ctrl + w> + h 切换到左边

    <ctrl + w> + j 切换到下边

    <ctrl + w> + k 切换到上边

    <ctrl + w> + l 切换到右边


    (3)窗口移动

    <ctrl + w> + H 移动到左边

    <ctrl + w> + J 移动到下边

    <ctrl + w> + K 移动到上边

    <ctrl + w> + L 移动到右边


    (4)重排窗口

    :h window-size

    <ctrl + w> + = 所有窗口等宽等高

    <ctrl + w> + _  最大化活动窗口高度

    <ctrl + w> + |  最大化活动窗口宽度

    n + <ctrl + w> + _ 把活动窗口的高度设为n 行

    n + <ctrl + w> + | 把活动窗口的宽度设为n 行


    3、Tab标签页

    一系列窗口的容器:h tabpage

    :tabnew {filename}     新标签中打开

    :tabe[dit] {filename}  新标签中打开

    <ctrl + w> + T 当前窗口移动到一个新标签页

    :tabc[lose]  关闭当前标签页及其中的所有窗口 

    :tabo[nly]   只保留当前标签页,关闭其他标签页

    :tabn[ext] {N} {N}gt  切换到编号N 的标签页

    :tabn[ext]       gt    切换到下一个标签页

    :tabp[revious]   gT    切换到上一个标签页


    插件:ctrlp nerdtree


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

    2019-06-03


  • # 搜索替换

    substitute 支持正则

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

    range 范围 

        eg: 

            10,20 表示10-20行

            % 表示全部

    pattern 替换模式

    string  替换后文本

    flags 替换标志位

        g global 全局替换

        c confirm 确认

        n number 查询匹配次数而不替换


    eg:

    :% s/self/this/g  # 替换 self->this

    :1,6 s/self//n    # 查询  计算有1-6行有多少个self

    :% s/\<name\>/Name/g # 精确匹配单词


    查看全部

  • # 增删改查

    1、增加

    Normal模式 a/i/o A/I/O


    2、删除

    Normal模式 

    x 删除一个字符

    4x 删除4个字符


    d(delete)

    daw 删除单词和周围空格(delete around word)

    diw 删除单词(dw)

    dd 删除行

    dt{char} 删除直到

    d$ 删除到结尾

    d0 删除到开头

    2dd 删除两行


    u undo 恢复操作


    3、修改

    Normal模式下

    r replace 替换一个字符 

        eg: 光标下g ra g->a 

    c change 

        cw 删除单词进入插入模式 change word

        ct{char} 删除到字符,进入插入模式

    s substitute 删除并进入插入模式 eg: 4s 删除4个字符进入插入模式


    R 不断替换多个字符

    S 删除整行进行插入 

    C 删除整行进行插入


    4、查询

    / 前向搜索

    ? 反向搜索

    n/N 下一个或者上一个

    \*/# 当前单词的前向和后向匹配


    搜索结果高亮 :set hls (high light search)

    :set incsearch


    查看全部
  • 111
    查看全部

  • # 快速移动

    Normal模式下


    1、字符移动

    h左 j下 k上 l右

    ```

         ^

         k

    < h     l >

         j

         v

    ```


    2、单词移动

    w/W 移动到下一个word/WORD开头

    e/E 下一个word/WORD尾

    b/B 回到上一个word/WORD开头,backword


    word 非空白符分割的单词

    WORD 以空白符分割的单词


    :syntax on


    3、行间搜索移动

    f{char} 移动到char字符上

    t{char} 移动到char前一个字符上 until

    第一次没搜到,可以继续搜该行

    分号; 下一个

    逗号, 上一个

    F反向搜索


    4、水平移动

    0 移动到行首第一个字符

    ^ 移动到第一个非空白字符

    $ 移动到行尾

    g_ 移动到行尾非空白字符


    5、垂直移动

    括号() 句子间移动

    查看帮助 :help (

    {} 段落之前移动


    6、页面移动

    gg 文件开头

    G  文件结尾

    ctrl + o 快速返回

    H 屏幕开头head

    M 中间middle 

    L 结尾lower

    ctrl + u upword  上翻半页

    ctrl + f forword 下翻半页

    zz 把屏幕置为中间,当前行放中间


    查看全部

举报

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

微信扫码,参与3人拼团

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

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