2018-05-23 课堂笔记

目录

  1. 为什么学 Vim
  2. Vim 的三种模式
  3. 一般模式
  4. 编辑模式
  5. 命令模式

1. 为什么是 Vim

  • Vim 的前身是 Vi,而 vi 基本上是所有发行版都带的文字编辑工具
  • Linux 中基本所有的配置都是以文件的形式记录的,所以自然少不了文字的处理
  • Linux 经常是使用命令行模式进行操作,没有鼠标的配合,那必须要一款功能键强大的软件
  • Vim 真心强大,强大到竟然有人专门为 Vim 出了一本书

2. Vim 的三种模式

  • 一般模式:大量功能的聚集地,包括:移动光标、复制、粘贴、删除、选择等

  • 编辑模式:除了码字,还是码字

  • 命令模式:高级功能,包括:查找、替换、文件的切换、临时除去执行命令等

  • 三种模式的切换

2018-05-23 课堂笔记_第1张图片
盗了个图
  • 光标的位置:Vim 中,光标是个覆盖一个字符的块,如果想象光标为 Word 重的一个竖线,那么光标的实际所在位置是光块所在位置的前面那个空隙

3. 一般模式

一进入 Vim 就处于一般模式
该模式存在大量功能键

  • 光标普通移动
    h:向左移动一个字符
    j:向下移动一个字符
    k:向上移动一个字符
    l:向右移动一个字符

  • 光标快速移动
    [Ctrl] + f:forward,向前翻页
    [Ctrl] + b:backward,往回翻页
    h:向左移动个字符,jkl用法也一样
    0:移至行首
    $:移至行末
    G:移至最后一行
    gg:移至第一行
    H:headline,移至当前页面的第一行的第一个字符
    M:middle,移至当前页面中间行的第一个字符
    L:last,移至当前页面最后一行的第一个字符

  • 删除字符
    x:相当于 [Delete],向后删除一个字符
    X:相当于 [BackSpace],向前删除一个字符
    x:向后删除个字符
    X:向前删除个字符

  • 删除行
    dd:删除所在行
    dd:向下删除行,包括本行
    d0:删除该行中,光标前的所有字符
    d$:删除该行中,光标后的所有字符
    dG:删除本行到第的所有字符,包括本行
    dG:删除*本行到末行的所有字符,包括本行

  • 复制行
    yy:复制所在行
    yy:向下复制行,包括本行
    y0:复制该行中,光标前的所有字符
    y$:复制该行中,光标后的所有字符,包括光标所在字符
    yG:复制本行到第的所有字符,包括本行
    yG:复制*本行到末行的所有字符,包括本行
  • 粘贴
    p:在光标所在下一行开始粘贴,并不覆盖,而是把原内容向下推
    P:在光标所在上一行开始粘贴,并不覆盖,而是把原内容向下推

  • 区块选择
    v:字符选择,效果同 Windows 下的鼠标框选一样
    V:连续行选择,通过上下移动光标,可以选择连续的行
    [Ctrl] + v:方块选择,通过光标,可以选择文件中任意一片方块区域的内容
    [Esc]:退出区块选择

  • 其他
    J:将下一行合并至所在行,中间以空格
    u:撤销一次,多按几次则多往前撤销几次
    [Ctrl] + r:再做一次,往往用于撤回后,是对撤回的反悔,多按几次则多反悔几个撤销
    .:小数点,不停复制最近的那个动作,但不包括撤销与返回撤销

4. 编辑模式

除了码字,还是码字,仅需记住如何进入以及退出该模式即可

  • 进入一般模式
    i: 在光标前插入
    I:在光标所在行的行首插入
    a:在光标后插入
    A:在光标所在行的行末插入
    o:在当前行的下一行另起一行
    O:在当前行的上一行另起一行
    r:取代光标所在的那个字符,仅一次
    R:一直取代光标所在的文字,直到按Esc才结束

  • 退出编辑模式
    Esc


5. 命令模式

会在 Vim 窗口的底部要求输入命令,往往要在一般模式下按 / : ? 才能进入
该模式带有一些高级功能,常用的如搜索、替换等

  • 常规命令
    :w:保存
    :w!:强制保存
    :q:退出
    :q!:不保存,强制退出
    :wq:保存后退出
    ZZ:动过了就自动保存退出,没动过就直接退出,注意:没有冒号
    :w :另存为
    :r :从光标所在的下一行,插入的内容
    n1,n2 w :将 n1-n2 行的内容,保存成
    :! :临时切出,执行个命令
    :set nu:显示行号
    :set nonu:取消行号

  • 查找与替换

/:向下查找关键字
?:向上查找关键字
n:继续查找下一个
N:继续查找上一个
n1,n2s///g:在 n1 行和 n2 行之间查找 ,并替换为
:1,$s///g:从头到尾用 替换
:1,$s///gc:从头到尾用 替换 ,但是在每此替换时都要用户确认

  • 多文档切换编辑
    使用 vim ...同时打开多个文件,但进入vim 后仅显示第一个文件
    :files:查看当前同时打开的文件列表及顺序
    :n:进入下一个文件
    :N:进入上一个文件

你可能感兴趣的:(2018-05-23 课堂笔记)