01 开篇初识 vim

vim 功能吊炸天,但我们掌握一些常用的命令即可应对日常的使用了,不记流水账!

  • Linux 中最常用的编辑器是什么? vim !
  • vi 跟 vim 啥区别? vim 就是 vi 的增强版,功能更强些,别纠结这个细节,掌握 vim 就好。
  • 有几种模式?有四种模式,normal模式(默认模式)、编辑模式、命令模式、visual模式(这个模式不常用,下面不细说)。

02 normal 模式& 编辑模式 & 底线命令模式

normal 模式

vim [文件名] # 即进入normal 模式 ,这就是默认的 normal 模式,在进入其他模式后,可以使用 Esc 键返回到这个模式。

编辑模式

normal 模式下按下 i、a、o、s,进入编辑模式,使用频度一般也是这个顺序,编辑模式下和在 Windows 里记事本里操作没啥区别。

  • i # insert,光标当前字符前插入
  • a #append, 光标当前字符后插入
  • o #下一行插入
  • s #不常用,删除当前字符并插入

底线命令模式

在编辑模式下对文件修改操作后,按Esc进入normal模式,normal模式下使用冒号(:)进入底线命令模式。

底线命令模式常用命令字符如下:

  • :q # 退出不保存
  • :q! # 强制退出不保存
  • :wq # 退出保存
  • :wq! # 强制退出保存

03 normal模式下的移动、复制粘贴、撤销与查找

移动

  • ctrl + f # 向下翻页
  • ctrl + b # 向上翻页
  • 0 # 行首
  • $ # 行尾
  • space # 空格键,一直向下移动一个字符。跟左方向键(→)的区别是,左方向键(→)只能在本行移动。 h、j、k、l 类似方向键的右下上左,顺时针,这些操作是体现 vim 牛的地方,可以飞快的跳转操作。
  • G # 大写g,移动到文末。
  • nG # n 是数字,代表行号。100G则是移动到第100行。1G文首,0G文末。
  • gg # 移动到文首。同样效果还有1G。

删除

  • dd # 删除当前行,可连续按d删除。
  • ndd # 删除当前行及之后的多少行,如: 100dd,删除当前及之后的100行
  • dG #删除当前行至末尾的所有行(光标放到首行,则可以删除全部)
  • 删除列操作

    1.光标定位到要操作的地方。

    2.CTRL+v 进入“可视 块”模式,选取这一列操作多少行。

    3.d 删除。

撤销

u # 撤销操作。这应该是非常常用的操作了。如果上面使用 dd 删除错了,可按一下 u 进行撤销。编辑模式下撤销需要按 Esc 进入 normal 模式,再按 u 撤销。

复制粘贴

  • y # 进入复制模式。
  • yy # 复制当前行。
  • nyy # n 是数字,代表行号。如: 16yy,即复制当前行至16行的内容。
  • p # 粘贴当前vim剪切板中内容。
  • yyp # 常用组合键,即在上面使用 yy 复制后,可立即使用 p 粘贴,或者移动到指定地点后按个 p,即把刚才的内容粘贴过来了。
  • ggyG # 全选复制。看这个命令,到行首,按 y 进入复制模式,再移动光标到文末,然后可以按 p 粘贴了。这里有个缺陷,这样的复制内容只能在 vim 中进行粘贴,一旦退出 vim,剪切板中则无此内容了。那怎么办呢? 看下面这个命令。
  • gg"*yG、gg"+yG # 这两个全选复制的命令,可以将内容带出到vim之外。

查找

normal 模式下输入 / 或 ? 。

  • /hello # 即向下寻找hello这个字符串。按n会一直向下找。
  • ?hello # 即向上寻找 hello 这个字符串。按n会一直向上找。
  • n、N # 配合/、?则会很有趣,如: /hello Enter 后再按 n,一直向下找; N 一直向上找; ?hello Enter 后再按 n,一直向上找, N 一直向下找。

04 底线命令模式的查找替换

替换,则是要进入底线命令模式了,上面说过了,即在 normal 模式下使用冒号 : 进入此模式。

  • :%s/old/new/g # 全局替换,将 old 字符替换成 new 。
  • :[n1],[n2]s/old/new/g # n1、n2为行号,意思是从第n1行到n2行,指定行数区间替换。
  • :[n1],%s/old/new/g # 从第 n1 行到最后一行的替换。

「不甩锅的码农」原创,转载请注明来源,未经授权禁止商业用途!同名 GZH 请关注!

004 Linux 揭开神器 vim 面纱的更多相关文章

  1. linux开发神器--Tmux

    在Linux上工作的朋友,可能会常常遇到这种情况: 痛点1: 在公司用putty连着Linux开发机,程序正跑着,不知不觉到了下班的时候,要和老婆/女朋友约会了,但是程序还没跑完,并且进度有点紧,还得 ...

  2. 揭开Docker的面纱

    开新坑了,开始挖坑Docker了,兄弟们.为什么需要Docker呢?Docker是什么?这里开始揭开Docker的面纱. 一.为什么需要Docker 可能每个开发人员都有一种困扰,软件开发完之后部署项 ...

  3. Linux下面对于VIM编辑器的代码折叠使用与screen

    VIM设置代码折叠 1. 折叠方式 可用选项 'foldmethod' 来设定折叠方式:set fdm=*****.有 6 种方法来选定折叠:          manual           手工 ...

  4. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

  5. 【转】Linux上vi(vim)编辑器使用教程

    Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...

  6. linux文本编辑器vim大全

    linux基础之vim编辑器 1.vim编辑器 基本介绍 vim编辑器的前身叫做vi.vi的英文名:Visual  Interface.中文解释文本编辑器,你不应该用他去打开二进制可执行文件 文本编辑 ...

  7. Linux文本编辑器vim

    目录 1.vim 的工作模式 2.插入命令 3.定位命令 4.删除命令 5.复制和剪切命令 6.替换和取消命令 7.搜索和搜索替换命令 8.保存和退出命令 9.vim 高级操作 10.总结 通过前面几 ...

  8. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  9. Android开源框架Afinal第一篇——揭开圣女的面纱

    Android开源框架Afinal第一篇——揭开圣女的面纱 分类: Android开源框架哪点事2013-09-02 14:25 260人阅读 评论(0) 收藏 举报 Afinal 这是Afinal在 ...

随机推荐

  1. 从源码角度解析 Springboot 2.6.2 的启动过程

    1. 概述 老话说的好:把简单的事情重复做,做到极致,你就成功了. 言归正传,Springboot的启动过程,一直都是面试的高频点,今天我们用当前最新的 Springboot 2.6.2 来聊一聊 S ...

  2. 【LeetCode】145. Binary Tree Postorder Traversal 解题报告 (C++&Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 递归 迭代 日期 题目地址:https://leetc ...

  3. git安装与使用,未完待续... ...

    ​ 目录 一.git概念 二.git简史 三.git的安装 四.git结构 五.代码托管中心-本地库和远程库的交互方式 六.初始化本地仓库 七.git常用命令 1.add和commit命令 2.sta ...

  4. centos 各版本下载

    地址: go to http://vault.centos.org/ for packages.

  5. 业务层面和运维层面优化你的Redis

    业务层面 key的长度尽量要短,在数据量非常大时,过长的key名会占用更多的内存; 一定避免存储过大的数据(大value),过大的数据在分配内存和释放内存时耗时严重,会阻塞主线程; Redis 4.0 ...

  6. 第四十三个知识点:为AES描述一些基础的(可能无效)的对抗侧信道攻击的防御

    第四十三个知识点:为AES描述一些基础的(可能无效)的对抗侧信道攻击的防御 原文地址:http://bristolcrypto.blogspot.com/2015/07/52-things-numbe ...

  7. Sufficient Statistic (充分统计量)

    目录 定义 充分统计量的判定 最小统计量 例子 Poisson Normal 指数分布 Gamma Sufficient statistic - Wikipedia Sufficient statis ...

  8. PlatformIO+Jlink进行调试

    PlatformIO自带调试功能具体配置如下 https://docs.platformio.org/en/latest/plus/debug-tools/jlink.html     我是用的是直接 ...

  9. 【jvm】05-为什么你写的代码有时候和预期不一致

    [jvm]05-为什么你写的代码有时候和预期不一致 欢迎关注b站账号/公众号[六边形战士夏宁],一个要把各项指标拉满的男人.该文章已在github目录收录. 屏幕前的大帅比和大漂亮如果有帮助到你的话请 ...

  10. Android程序设计基础 • 【目录】

    章节 内容 实践练习 Android程序设计基础作业目录 (作业笔记) 第1章 Android程序设计基础 • [第1章 Android程序入门] 第2章 Android程序设计基础 • [第2章 基 ...