美文网首页
Vim的常用指令

Vim的常用指令

作者: 缘木与鱼 | 来源:发表于2021-10-08 19:25 被阅读0次

    Vim的常用指令

    1.移动

    h   左移一格
    l   右移一格
    j   下移一格
    k   上移一格
    w   移动到下一个单词的首字符
    b   移动到上一个单词的首字符
    

    2.插入

    2.1 普通模式进入插入模式

    以下指令可以从普通模式进入插入模式,并会在相应的位置输入编辑。

    i   在光标处编辑
    I   在行首编辑输入
    A   在行尾编辑输入
    a   在光标后输入编辑
    o   在当前行的后面插入一个新行
    O   在当前行的前面插入一个新行
    cw  替换从光标所在位置后到一个单词结尾的字符
    

    2.2 普通模式进入命令行模式

    普通模式输入 : 进入命令行模式, 输入 w 回车,保存退出。

    :wq                 保存并退出
    :q!                 强制退出,不保存
    :wq!                强制保存并退出
    :q                  退出
    :w <文件路径>         另存为,且不退出当前文件
    :saveas <文件路径>     另存为,且不退出当前文件
    :x                  保存并退出
    

    普通模式退出vim

    shift + zz          直接保存退出。
    

    3 删除

    普通模式下删除 vim 文本信息

    x               删除游标所在的字符
    X               删除游标所在的前一个字符
    Delete键         删除游标所在的字符
    dd              删除一行
    dw              删除一个单词
    d$              删除至行尾
    D               删除至行尾
    d^              删除至行首
    dG              删除至文档结尾
    d1G             删除至文档首部
    

    命令前加上数字,表示删除多个。 如 2dd:一次删除两行; 2dw: 一次删除两个单词。

    普通模式下 . 表示重复上次的操作。

    如,上次执行了 dd 指令,删除行操作, . 按键可以重复执行上次的 dd 操作。

    4. 游标的快速跳转

    :set nu         显示行号
    gg              游标移动到第一行
    G               游标移动到最后一行
    nG              游标移动到第n行
    ctrl + o         回到光标跳转之前的位置
    
    w               跳到下一个单词的开头
    e               跳到当前单词的结尾
    b               跳到前一个单词的开头
    ge              跳到前一个单词的结尾
    0(零)          跳到当前行的行头
    ^               跳到当前行的行头
    $               跳到当前行的行尾
    

    5. 快速查找

    /字符串            向下查找字符串
    ?字符串            向上查找字符串
    
    匹配之后: 
    n               继续查
    N               反向继续查
    
    :noh            取消查找
    

    高级查找

    \*          查找光标所在的单词,向下找
    \#          查找光标所在的单词,向上找
    
    g\*         查找光标所在的单词,向上找  部分符合即可, 模糊查找
    g\#         查找光标所在的单词,向下找  部分符合即可, 模糊查找
    
    f<字母>   向后搜索<字母>并跳转到第一个匹配到的位置
    F<字母>   向前搜索<字母>并跳转到第一个匹配到的位置
    

    6.复制粘贴

    复制

    yy          复制一行        3yy  复制3行
    y^          复制到行首(不含光标)
    y0(零)       复制到行首(不含光标)
    y$          复制到行尾(含光标)
    yw          复制一个单词
    y2w         复制两个单词
    yG          复制到文本末尾
    y1G         复制到文本开头
    

    粘贴

    p(小写)       粘贴到光标后(下)
    P(大写)       粘贴到光标前(上)
    

    剪切

    dd          剪切一行
    ddp         交换上下行
    

    7. 替换撤销

    替换

    r + <待替换字母>         将游标所在的字母替换,只能替换一个字母
    R + <待替换字母>         从游标所在的字母开始进行替换,可替换多个字母
    cc                     替换整行
    cw                     替换一个单词
    C(大写)                 替换游标之后到行末
    ~                      反转游标所在的字母大小写
    

    撤销

    u{n}              撤销之前的n次操作
    U(大写)           撤销当前行多有的操作
    
    ctrl + r          redo,撤销undo的操作(撤销撤销的内容)
    

    8.执行外部命令

    :!ls                    用于显示当前文件所在目录下的内容
    :!rm filename            删除名为filename的文件
    :w filename              将正在编辑的文件另存为filename的文件
    

    创建加密文件

    vim -x filename
    

    9. 恢复文件

    因断电等因素造成文档未保存,可以使用一下方式恢复:

    vim -r 1.txt
    :ewcover 1.txt
    

    10.多文件编辑

    vim 编辑多个文件

    vim 1.txt 2.txt      # 默认进入 1.txt 的编辑页面
    :n!                  # 文件切换(不保存之前文件的内容)
    :N!                  # 文件切换(不保存之前文件的内容)
    

    也可以 :

    vim                # 打开编辑器
    :e 3.txt           # 新建一个3.txt的文件
    :e#                 # 回到前一个文件
    :ls                # 列出编辑过的文件
    :b 2.txt           # 直接进入文件 2.txt 编辑
    :bd 2.txt          # 删除编辑过的文件项目
    :e! 4.txt          # 新打开4.txt,放弃正在编辑的文件
    :f                # 显示正在编辑的文件名
    :f new.txt         # 修改正在编辑的文件名字为 new.txt
    

    11.功能设定

    :set nu             显示行数
    
    获取目前的设定
    :set 或 :se          显示所有修改过的配置          
    :set all            显示所有的设定值
    :set option ?        显示option的设定值
    :set nooption        取消当前的设定值
    
    
    set功能
    :set background=dark   或  light     设置背景风格。
    

    相关文章

      网友评论

          本文标题:Vim的常用指令

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