为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
玩转Vim 从放弃到爱不释手_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

玩转Vim 从放弃到爱不释手

PegasusWang Python工程师
难度中级
时长 5小时 9分
  • 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 开源配置
友情提示:

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