• Vim基础用法,最常用、最实用的命令介绍(保姆级教程)


    配置文件设置

    • set number (设置行号)
    • set nocompatible (设置不兼容vi模式,不设置会导致许多vim特性被禁用)
    • set clipboard=unnamed (设置普通的复制粘贴的内容和vim复制的内容相互使用)

    打开、编辑,查找文件

    • vim + 任意文件名,如vim file.txt, 直接编辑文件, 不存在则创建文件
    • 已经打开了vim的情况,使用:edit + 文件名编辑其他文件, :edit file.txt
    • :edit *.txt 查找当前目录以txt结尾的文件,使用tab补全提示,左右切换选择文件
    • :edit **/*.txt 查找当前项目 (多个目录)的所有带txt后缀的文件
    • :edit ./ 列出当前目录所有的文件,edit后传目录名参数
    • :find *.txt 同样是查找以txt结尾的文件

    保存、退出

    • :w (保存文件)
    • :w file.txt (vim直接进入的终端,新建的文件保存,给出文件名)
    • :wq (保存并退出vim)
    • :q! (不保存强行退出)

    移动命令

    • h (左)
    • j (下)
    • k (上)
    • l (右)

    复制、粘贴、剪切/删除、撤销、取消撤销

    • y (复制)
      • yw (向右复制一个单词)
      • yb (向左复制一个单词,不包含自身)
      • vy (复制当前游标对应的字母)
      • y$ (复制当前字符到行尾)
      • y^ (复制当前字符到行首 )
      • yG (从当前位置复制到文件结尾)
      • yf+(任意字符), (从当前字符复制到任意字符)
      • yy (复制当前一整行)
    • p (粘贴)
      • p (粘贴到游标所在行的下方)
      • shift + p 或者叫大写的P (粘贴到游标所在行的上方)
    • d (剪切/删除)
      • vd/x (删除当前游标所在的字符)
      • dw (删除游标右边的单词)
      • db (删除游标左边的单词)
      • d$ (删除从当前游标到行尾)
      • d^ (删除当前游标到行首)
      • dG (删除从当前行到文件结尾)
      • df+(任意字符) 或 vf+(任意字符)+d (删除从当前字符到任意字符)
      • diw/daw (游标在单词任意位置时,可以删除完整单词)
      • dd (删除当前一整行)
      • d操作后,按p,就是剪切
    • u (撤销)
      • u (相当于ctrl + z)
      • ctrl + r (取消撤销,相当于ctrl + y)

    选中

    • v (选中当前游标的字符)
    • ctrl + v (选中多列/垂直选取)
    • shift + v (选中多行/水平选取)
    • viw (选中当前游标位置的整个单词)
    • viw + d / y (选中之后可以删除、复制)

    跳转

    • w (向右跳转一个单词)
    • b (向左跳转一个单词)
    • ^ (跳到行首的非空字符)
    • 0 (跳到行首的第一个字符)
    • $ (跳到行尾)
    • gg (跳到文件最顶部)
    • shift + g 或者叫 G (跳到文件最底部),引申的命令:ggvG (全选)-解释:选中最顶部到最底部,即全选
    • nG (n表示行号,例:16G,表示跳到16行)
    • 50% (跳到文件的中间位置)
    • n% (跳到文件的对应的比例位置)
    • ctrl + f (向下翻页)
    • ctrl + b (向上翻页)
    • ctrl + d (向下翻半页)
    • ctrl + u (向上翻半页)

    行内搜索

    • f + (任意字符), 向右搜索,(游标会跳到搜索到的第一个字符)
    • shift + f + (任意字符), 向左搜索,(游标会跳到搜索到的第一个字符)
    • f + (任意字符) + ; (;表示在同一行向后重复搜索匹配的字符)
    • f + (任意字符) + , (,表示在同一行向前重复搜索匹配的字符)

    换行

    • o (向下换行)
    • shift + o 或者叫O (向上换行)

    插入模式

    • i (光标在游标字符的前面)
    • a (光标在游标字符的后面)

    大小写转换

    • gU + 任何位置,如:$、w、G、f + 任何字符,当前选中的单词转换为大写
    • gu + 任何位置,如:$、w、G、f + 任何字符,当前选中的单词转换为小写

    文件内搜索

    • / + 任何字符, 从前往后搜索, (游标会停留在第一个匹配的字符,按n匹配下一个,shift + n 匹配上一个)
    • ? + 任何字符, 从后往前搜索, (游标会停留在第一个匹配的字符,按n匹配下一个,shift + n 匹配上一个)
    • / 和 ? 两者是相反的操作

    括号匹配

    • % (当有多对括号时,会跳到对应的左括号/右括号, 适用于:(), [], {}, <>)

    综合应用

    • 如v + f + (任意字符) + d / y:表示先选中当前字符,再通过f + 搜索任意字符, 此时,游标会跳到匹配的字符, 按d删除,或按y复制
    • v + i + ( 会选中小括号的内容,右括号也可以
    • v + i + [ 会选中中括号的内容,右括号也可以
    • v + i + { 会选中花括号的内容,右括号也可以
    • di( 删除括号中的内容, 右括号也可以
    • da( 删除选中的内容并且包括括号本身, 右括号也可以

    退出插入模式

    • ESC
  • 相关阅读:
    BSN六周年:迈向下一代互联网
    机器学习基础算法应用实践案例整理
    人人能读懂redux原理剖析
    国内crm解决方案的主要提供商有哪些?对比7家
    C语言:写一个代码,使用 试除法 打印100~200之间的素数(质数)
    记录开发过程中遇到的oracle 分页问题
    Nacos 服务治理(服务注册中心)
    基于JAVA的校园二手交易网站的设计与实现参考【数据库设计、源码、开题报告】
    数据结构(严蔚敏)【一元多项式的运算】【C语言】
    龙蜥开发者说:我眼里的龙蜥社区:一个包容的大家庭 | 第 10 期
  • 原文地址:https://www.cnblogs.com/TangQF/p/16559665.html