美文网首页
Vim 学习

Vim 学习

作者: 笑叶林 | 来源:发表于2018-07-02 08:43 被阅读4次

    Vim 的六种基本模式

    • 普通模式
    • 插入模式
    • 命令行模式
    • 可视模式
    • 选择模式
    • Ex 模式

    其中常用的是 普通模式 插入模式命令行模式

    三种模式切换

    vim 启动进入普通模式,处于插入模式或者命令行模式时只需要按 Esc 或者 Ctrl + [ 即可进入普通模式,普通模式中按i或者a都可以进入插入模式。普通模式按:可以进入命令行模式,命令行输入 wq 回车保存退出 vim

    游标移动

    在普通模式中进行游标移动,按h,j,k,l进行游标移动

    按键 说明
    h
    l 右(小写)
    j
    k

    插入模式

    进入插入模式

    在普通模式下使用下面的键进入插入模式,并且可以从相应的位置开始输入

    命令 说明
    i 从当前光标处进行编辑
    I 在行首插入
    A 在行末插入
    a 在光标后插入
    o 在当前行后插入一个新行
    O 在当前行前插入一个新行
    cw 替换从光标所在位置后到一个单词结尾的字符
    C 修改当前行上光标后面的部分. 进入编辑状态
    cc OR S 修改当前行. 进入编辑状态

    删除文本

    普通模式删除文本

    命令 说明
    x 删除游标所在的字符
    X 删除游标所在的前一个字符
    Delete 同 x
    dd 删除整行
    dw 删除一个单词
    d$ OR D 删除至行位

    重复上次操作

    在普通模式下 . (小数点)表示重复上次操作

    执行指定次数的命令

    在普通模式下,输入N<command>N 表示 command 的执行次数,比如 2dd,表示执行 dd 两次。

    游标的快速跳转

    行间跳转

    命令 说明
    nG(n Shift+g) 游标移动到第n 行,如果默认没有显示行号,先执行:set nu 显示行号
    gg 游标移动到第一行
    G(shift+g) 到最后一行

    行内跳转

    普通模式下使用下列命令在行内按照单词为单位进行跳转

    命令 说明
    w 到下一个单词的开头
    e 到当前单词的结尾
    b 到前一个单词的开头
    ge 到前一个单词的结尾
    0 OR ^ 到行头
    $ 到行尾
    f[字母] 向后搜索 字母 并跳转到第一个匹配的位置
    F[字母] 向前搜索 字母 并跳转到第一个匹配的位置
    t[字母] 向后搜索 字母 并跳转到第一个匹配的位置之前的一个字母**
    T[字母] 向前搜索 字母 并跳转到第一个匹配的位置之前的一个字母**

    复制粘贴剪切

    复制及粘贴文本

    在普通模式下使用 y 复制

    命令 说明
    y 复制当前光标的文本
    yy 复制游标所在的整行
    y^ OR y0 复制至行首,不包含光标所在的字符
    y$ 复制至行尾,含光标所在处字符
    yw 复制一个单词
    y[n]w 复制 n 个单词
    yG 复制至文本末
    y1G 复制至文本开头

    使用p粘贴

    命令 说明
    p 粘贴至光标后
    P 粘贴至光标前

    剪切及粘贴

    其实 dd 就是剪切,每次剪切后可以用 p来粘贴,所以 ddp 可以快速实现上下行交换

    查找和替换

    替换和撤销命令

    普通模式

    命令 说明
    r<待替换的字母> 将游标所在的字母替换为指定的字母
    R 连续替换,直到按下Esc
    cc 替换整行,及删除游标所在的行,并进入插入模式
    cw 替换一个单词,即删除一个单词,并进入插入模式
    C 替换游标以后至行末
    ~ 反转游标所在字母的大小写
    u[n] 撤销一次或者 n 次操作
    U 撤销当前行的所有修改
    Ctrl+r redo,撤销撤销操作

    快速缩进

    使用命令进行快速调整缩进操作

    缩进操作均在普通模式下有效

    命令 说明
    >> 将整行向右缩进
    << 将整行向左回退

    命令行下对shiftwidth值进行设置可以控制缩进和回退的字符数

    shiftwidth 命令

    获取目前的设定值

    :set shiftwidth?
    

    设置缩进值为10个字符

    :set shiftwidth=10
    

    调整文本位置

    命令行模式下输入:ce 命令使文本居中

    命令 说明
    :ce 使本行内容居中
    :ri 使本行内容靠右
    :le 使本行内容靠左

    查找

    快速查找

    普通模式下输入/ 然后输入要查找的字符串,按回车后就会进行查找。

    ?/功能相同,只不过?是向上而/是向下查找

    进入查找后输入nN可以继续查找

    n 表示继续查找,N表示反向查找

    高级查找

    命令 说明
    * 向下查找游标所在处的单词
    # 向上查找游标所在处的单词
    g* 向下查找游标所在处的单词,部分符合即可
    g# 向上查找游标所在处的单词,部分符合即可

    nN仍可使用

    相关文章

      网友评论

          本文标题:Vim 学习

          本文链接:https://www.haomeiwen.com/subject/nodkuftx.html