热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

编辑器之神:VIM常用命令整理

VIM常用命令整理1.最近被vim一些小命令卡住了,网上搜了一搜资料都是残缺不全的。立志整理出来一些,并以此来彻底让自己掌握vim常用命令,实践一下这款被称为编辑器之神的编辑器2.本文将持续更

VIM 常用命令整理

1.最近被vim一些小命令卡住了,网上搜了一搜资料都是残缺不全的。立志整理出来一些,并以此来彻底让自己掌握vim常用命令,实践一下这款被称为编辑器之神的编辑器

2. 本文将持续更新补充;学习建议:这种命令需要多加练习+记忆的方式,熟能生巧;

正文:

  1. vim -- 被称为“编辑器之神”,在Linux系统中基本是默认安装的,适用于小型程序的快速编写。

  2. 三种模式:命令模式、编辑模式/插入模式、末行模式。

    • 其中命令模式是默认模式,也是其他两种模式进行转换的中介模式,必须按Esc回到命令模式之后进行转换。

    • 命令-->编辑:i -- 插入模式,光标前;I -- 行首;a -- 插入模式,光标后;A -- 行末;o -- 向下新开一行,插入行首;O -- 向上新开一行,插入行首;

    • 命令-->末行:按: 后加,w -- 保存;q -- 退出(强制退出); wq -- 保存并退出,等价于x 。

    3.命令模式

    3.1 移动光标:

    h,j,k,l -- 分别对应光标:左,下,上,右移

    M -- 光标移动到中间行;

    L -- 光标移动到最后一行行首;

    gg -- 光标移动到文件开头;

    G -- 光标移动到文件末尾;

    G -- 移动到指定行,格式:行号+space键+G

    w -- 向后一次移动一个字;

    b -- 向前一次移动一个字;

    { -- 按段落移动,上移

    } -- 按段落移动,下移;

    Ctrl + d -- 向下翻半屏

    Ctrl + u -- 向上翻半屏

    Ctrl + f -- 向下翻一屏

    Ctrl + b -- 向上翻一屏

    3.2 删除命令:

    x -- 删除光标后一个字符,相当于del

    X -- 删除光标前一个字符,相当于 Backspace

    dd -- 删除光标所在行,n dd 删除指定n的行数,从当前行算起向下n行;

    D -- 删除光标后本行的所有内容,包含光标所在字符;

    d0 -- 删除光标前本行所有内容,不包含光标所在字符。 注:这里是数字0

    dw -- 删除光标开始位置的字,包含光标所在字符。

    3.3 撤销和反撤销

    u -- 一步步撤销

    Ctrl + r -- 反撤销

    3.4 重复命令

    . -- 重复上一次操作的命令

    3.5 文本行移动

    >> -- 文本行右移;

    <<-- 文本行左移

    3.6 复制粘贴

    yy -- 复制当前行, n yy 复制 n 行;

    p -- 在光标所在位置向下新开辟一行,粘贴;

    3.7 可视模式

    v -- 按字符移动,选中文本;

    V -- 按行移动,选中文本可视模式可以配合d, y ,>> , <<实现对文本块的删除,复制,右移,左移。

    3.8 替换操作:

    r -- 替换当前字符

    R -- 替换当前行光标后的字符

    3.9 查找命令:

    / -- str查找

    n -- 下一个

    N -- 上一个

    3.10 替换命令:

    把abc全部替换成123

    末行模式下,将当前文件中所有的abc替换成123

    : %s/abc/123/g

    末行模式下,将第一行至第五行之间的abc替换成123

    :1,5s/abc/123/g

    3.11 vim里面执行shell下命令:

    末行模式里输入!,后面跟命令


推荐阅读
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 如何使用PyCharm及常用配置详解
    对于一枚pycharm工具的使用新手,正确了解这门工具的配置及其使用,在使用过程中遇到的很多问题也可以迎刃而解,文中有非常详细的介绍, ... [详细]
  • 本文详细介绍了Vim编辑器的三种主要模式及其常用命令,帮助用户更好地掌握这一强大的文本编辑工具。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 本文介绍如何在Linux系统中卸载预装的OpenJDK,安装指定版本的JDK 1.8,并配置防火墙以确保系统安全性和软件兼容性。 ... [详细]
  • 利用SSH隧道实现外网对局域网机器的安全访问
    本文探讨了一种常见的网络配置问题及其解决方案,即如何在外网环境下安全地访问位于局域网内的计算机。特别介绍了使用SSH反向隧道技术来实现这一目标的具体步骤和注意事项。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 近期,考虑到在Vim内部进行GDB调试、运行Python脚本和数据库连接等多样化需求,思考是否可以通过集成终端来简化这些操作,而非逐一编写Vim脚本来实现。通过研究发现,确实存在一种高效的方法——利用特定插件实现终端功能的整合。 ... [详细]
  • iTOP4412开发板QtE5.7源码编译指南
    本文详细介绍了如何在iTOP4412开发板上编译QtE5.7源码,包括所需文件的位置、编译器设置、触摸库编译以及QtE5.7的完整编译流程。 ... [详细]
author-avatar
鱼鱼
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有