配置文件设置

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

打开、编辑,查找文件

  • vim + 任意文件名,如vim file.txt, 直接编辑文件, 不存在则创建文件
  • 已经打开了vim的情况,使用:edit + 文件名编辑其他文件, :edit file.txt
  • :edit *.txt<tab> 查找当前目录以txt结尾的文件,使用tab补全提示,左右切换选择文件
  • :edit **/*.txt<tab> 查找当前项目 (多个目录)的所有带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

Vim基础用法,最常用、最实用的命令介绍(保姆级教程)的更多相关文章

  1. Linux运维常用的几个命令介绍【转】

    Linux运维常用的几个命令介绍 1. 查看系统内核版本​ [root@funsion geekxa]# cat /etc/issue CentOS release 6.5 (Final) Kerne ...

  2. Go语言基础二:常用的Go工具命令

    常用的Go工具命令 Go附带了一下有用的命令,这些命令可以简化开发的过程.命令通常包含的IDE中,从而使工具在整个开发环境中保持一致. go run 命令 go run命令实在开发过程中执行的最常见的 ...

  3. Vim使用技巧:常用光标跳转命令

    Vim中的命令多如牛毛,按需学习才是唯一出路.这里总结了几个常用的光标跳转命令. 基本移动: h(往左) j(往下) k(往上) l(小写字母l,往右) 行间移动: 快速跳至文件末行:G(大写字母G) ...

  4. Vim 实用技术,第 1 部分: 实用技巧(转)

    原文链接:http://blog.jobbole.com/20604/ 0. Vim 简介 作为开源世界最重要的编辑器之一(另一个是 Emacs),Vim 以其强大的功能和可定制能力被众多开发者所喜爱 ...

  5. Python3.x:bs4解析html基础用法

    Python3.x:bs4解析html基础用法 代码: import urllib.request from bs4 import BeautifulSoup import re url = r'ht ...

  6. PropertyGrid控件由浅入深(二):基础用法

    目录 PropertyGrid控件由浅入深(一):文章大纲 PropertyGrid控件由浅入深(二):基础用法 控件的外观构成 控件的外观构成如下图所示: PropertyGrid控件包含以下几个要 ...

  7. Smarty基础用法

    一.Smarty基础用法: 1.基础用法如下 include './smarty/Smarty.class.php';//引入smarty类 $smarty = new Smarty();//实例化s ...

  8. 前端自动化测试神器-Katalon的基础用法

    前言 最近由于在工作中需要通过Web端的功能进行一次大批量的操作,数据量大概在5000左右,如果手动处理, 完成一条数据的操作用时在20秒左右的话,大概需要4-5个人/天的工作量(假设一天8小时的工作 ...

  9. Linux基础 - 系统优化及常用命令

    目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...

随机推荐

  1. 一文看懂 ZooKeeper ,面试再也不用背八股(文末送PDF)

    ZooKeeper知识点总结 一.ZooKeeper 的工作机制 二.ZooKeeper 中的 ZAB 协议 三.数据模型与监听器 四.ZooKeeper 的选举机制和流程 本文将以如下内容为主线讲解 ...

  2. 好客租房25-react中的事件处理(事件对象)

    3.2事件对象 可以通过事件处理程序的参数 React中的事件对象叫做:合成事件(对象) 合成事件:兼容所有浏览器 //导入react     import React from 'react'   ...

  3. TENSEAL: A LIBRARY FOR ENCRYPTED TENSOR OP- ERATIONS USING HOMOMORPHIC ENCRYPTION 解读

    本文记录阅读该paper的笔记,这篇论文是TenSeal库的原理介绍. 摘要 机器学习算法已经取得了显著的效果,并被广泛应用于各个领域.这些算法通常依赖于敏感和私有数据,如医疗和财务记录.因此,进一步 ...

  4. 网易数帆 Envoy Gateway 实践之旅:坚守 6 年,峥嵘渐显

    服务网格成熟度不断提升,云原生环境下流量处理愈发重要, Envoy Gateway 项目于近日宣布开源,"旨在大幅降低将 Envoy 作为 API 网关的使用门槛",引发了业界关注 ...

  5. 一个全新的Vue拖拽特性实现:“调整尺寸”部分

    关于拖拽 CabloyJS提供了完备的拖拽特性,可以实现移动和调整尺寸两大类功能,这里对调整尺寸的开发进行阐述 关于移动的开发,请参见:拖拽:移动 演示 开发步骤 下面以模块test-party为例, ...

  6. npm发布包以及更新包还有需要注意的几点问题(这里以发布vue插件为例)

    前言 在此之前,你需要去npm官网注册一个属于自己的账号,记住自己的账户名以及密码.邮箱,后面会用的到.第一步,安装webpack简易框架 vue init webpack-simple marque ...

  7. 高级web网页人脸识别tracking.js

    what?你没有看错,强大的JavaScript也可以实现人脸识别功能.小编精心整理了一个人脸识别的JavaScript库(tracking.js),通过这篇文章,你可以了解到如何在网页中实现一个人脸 ...

  8. 自己封装的tools.js文件

    /* * 生成指定范围的随机整数 * @param lower 下限 * @param upper 上限 * @return 返回指定范围的随机整数,上/下限值均可取 */ function rand ...

  9. git stash 的一次惊心动魄的误删操作

    git stash 的一次惊心动魄的误删操作 简介:行走在互联网最低端的小熊 问题--源起: 小熊和所有混迹在互联网中的开发一样,公司里面用git来管理项目,由于可能经常有几个问题要开发,要频繁在多分 ...

  10. 在两台配置了Win10操作系统的电脑之间直接拷贝文件

    前提条件:需要一根网线 每台电脑需手动设置IP地址 设置IP地址随意,示例为:10.10.2.11 和 10.10.2.12 每台电脑需关闭Windows防火墙 测试网络是否连通 方式一 远程桌面连接 ...