• Vim 快捷键


    Vim 快捷键

    • 左移 h、右移 l、下移 j、上移 k
    • 向下翻页 ctrl + f,向上翻页 ctrl + b
    • 向下翻半页 ctrl + d,向上翻半页 ctrl + u
    • 移动到行尾 $,移动到行首 0(数字),移动到行首第一个字符处 ^
    • 移动光标到下一个句子 ),移动光标到上一个句子 (
    • 移动到段首 {,移动到段尾 }
    • 移动到下一个词 w,移动到上一个词 b
    • 移动到文档开始 gg,移动到文档结束 G
    • 移动到匹配的 {}.().[] 处 %
    • 跳到第 n 行 ngg 或 nG 或 :n
    • 移动光标到屏幕顶端 H,移动到屏幕中间 M,移动到底部 L
    • 读取当前字符,并移动到本屏幕内下一次出现的地方 *
    • 读取当前字符,并移动到本屏幕内上一次出现的地方 #

    查找替换

    • 光标向后查找关键字 # 或者 g#
    • 光标向前查找关键字 * 或者 g*
    • 当前行查找字符 fxFxtxTx
    • 基本替换 :s/s1/s2 (将下一个s1替换为s2)
    • 全部替换 :%s/s1/s2
    • 只替换当前行 :s/s1/s2/g
    • 替换某些行 :n1,n2 s/s1/s2/g
    • 搜索模式为 /string,搜索下一处为 n,搜索上一处为 N
    • 制定书签 mx, 但是看不到书签标记,而且只能用小写字母
    • 移动到某标签处 x,1旁边的键
    • 移动到上次编辑文件的位置 .

    PS:. 代表一个任意字符 * 代表一个或多个字符的重复

    编辑操作

    • 光标后插入 a, 行尾插入 A
    • 后插一行插入 o,前插一行插入 O
    • 删除字符插入s, 删除正行插入 S
    • 光标前插入 i ,行首插入 I
    • 删除一行 dd ,删除后进入插入模式 cc 或者 S
    • 删除一个单词 dw ,删除一个单词进入插入模式 cw
    • 删除一个字符 x 或者 dl ,删除一个字符进入插入模式 s 或者 cl
    • 粘贴 p ,交换两个字符 xp ,交换两行 ddp
    • 复制 y ,复制一行 yy
    • 撤销 u ,重做 ctrl + r ,重复 .
    • 智能提示 ctrl + n 或者 ctrl + p
    • 删除 motion 跨过的字符,删除并进入插入模式 c{motion}
    • 删除到下一个字符跨过的字符,删除并进入插入模式,不包括 x 字符 ctx
    • 删除当前字符到下一个字符处的所有字符,并进入插入模式,包括 x 字符, cfx
    • 删除 motion 跨过的字符,删除但不进入插入模式 d{motion}
    • 删除 motion 跨过的字符,删除但不进入插入模式,不包括 x 字符 dtx
    • 删除当前字符到下一个字符处的所有字符,包括 x 字符 dfx
    • 如果只是复制的情况时,将12-17条中的 c 或 d 改为 y
    • 删除到行尾可以使用 D 或 C
    • 拷贝当前行 yy 或者 Y
    • 删除当前字符 x
    • 粘贴 p
    • 可以使用多重剪切板,查看状态使用 :reg ,使用剪切板使用 ",例如复制到 w 寄存器,"wyy,或者使用可视模式 v"wy
    • 重复执行上一个作用使用.
    • 使用数字可以跨过 n 个区域,如 y3x ,会拷贝光标到第三个 x 之间的区域, 3j 向下移动 3 行
    • 在编写代码的时候可以使用 ]p 粘贴,这样可以自动进行代码缩进
    • >> 缩进所有选择的代码
    • << 反缩进所有选择的代码
    • gd 移动到光标所处的函数或变量的定义处
    • K 在man里搜索光标所在的词
    • 合并两行 J
    • 若不想保存文件,而重新打开 :e!
    • 若想打开新文件 :e filename,然后使用 ctrl + ^ 进行文件切换

    窗口操作

    • 分隔一个窗口 :split 或者 :vsplit
    • 创建一个窗口 :new 或者 :vnew
    • 在新窗口打开文件 :sf {filename}
    • 关闭当前窗口 :close
    • 仅保留当前窗口 :only
    • 到左边窗口 ctrl + w, h
    • 到右边窗口 ctrl + w, l
    • 到上边窗口 ctrl + w, k
    • 到下边窗口 ctrl + w, j
    • 到顶部窗口 ctrl + w, t
    • 到底部窗口 ctrl + w, b

    宏操作

    • 开始记录宏操作 q[a-z],按 q 结束,保存操作到寄存器 [a-z] 中
    • @[a-z] 执行寄存器 [a-z] 中的操作
    • @@ 执行最近一次记录的宏操作

    可视操作

    • 进入块可视模式 ctrl + v
    • 进入字符可视模式 v
    • 进入行可视模式 V
    • 删除选定的块 d
    • 删除选定的块然后进入插入模式 c
    • 在选中的块同是插入相同的字符 IESC

    跳到声明

    • [[ 向前跳到顶格第一个 {
    • [] 向前跳到顶格第一个 }
    • ]] 向后跳到顶格的第一个 {
    • ]] 向后跳到顶格的第一个 }
    • [{ 跳到本代码块的开头
    • ]} 跳到本代码块的结尾

    挂起操作

    • 挂起 Vim ctrl + z 或者 :suspend
    • 查看任务 在 shell 中输入 jobs
    • 恢复任务 fg [job number](将后台程序放到前台)或者 bg [job number](将前台程序放到后台)
    • 执行 shell 命令 :!command
    • 开启 shell 命令 :shell ,退出该 shell exit
    • 保存vim状态 :mksession name.vim
    • 恢复vim状态 :source name.vim
    • 启动vim时恢复状态 vim -S name.vim

    Vim键盘图

     
  • 相关阅读:
    【leetcode】206. 反转链表
    【leetcode】25. K 个一组翻转链表
    【leetcode】160. 相交链表
    【leetcode】92. 反转链表 II
    C# Socket通信
    正则表达式的学习
    python操作数据库sqlite3
    python爬取淘宝商品信息
    《Unix/Linux系统编程》第七、八章学习笔记 20201209戴骏
    ls的实现
  • 原文地址:https://www.cnblogs.com/timssd/p/4185066.html
Copyright © 2020-2023  润新知