vim相关指令

vim的各种模式及其转换关系图

vim 默认处于命令模式!!!

模式之间转换的指令

除【命令模式】之外,其它模式要切换到【命令模式】,只需要无脑 ESC 即可!!!

[ 命令模式 ] 切换至 [ 插入模式 ]

输入 a  ,从光标当前位置开始插入。

输入 i  ,从目前光标所在位置的下一个位置开始输入文字;

输入 o,插入新的一行,从行首开始输入文字。

[ 命令模式 ] 切换至 [ 底行模式 ]

shift + ; 

在[底行模式中],使用  ! cmd,可以不退出vim执行对应的命令(执行命令,编译,运行,查看man等) 

[ 命令模式 ] 切换至 [ 视图模式 ] 

ctrl + v 

[ 命令模式 ] 切换至 [ 替换模式 ] 

shift + r

移动光标

 vim 可以直接用键盘上的光标来上下左右移动,但正规的 vim 是用小写英文字母「h」、「j」、「k」、 「l」,分别控制光标左、下、上、右移一格。
按「 G 」:移动到文章的最后
按「 $ 」:移动到光标所在行的 “ 行尾 ”
按「^」:移动到光标所在行的 “ 行首 ”
按「 w 」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「 #l 」:光标移到该行的第 # 个位置,如: 5l,56l
按[ gg ]:进入到文本开始
按[ shift + g ]:进入文本末端
按「 ctrl 」 + 「b」:屏幕往 “ 后 ” 移动一页
按「 ctrl 」 + 「f」:屏幕往 “ 前 ” 移动一页
按「 ctrl 」 + 「u」:屏幕往 “ 后 ” 移动半页
按「 ctrl 」 + 「d」:屏幕往 “ 前 ” 移动半页

删除文字

「x」:每按一次,删除光标所在位置的一个字符
「 #x 」:例如,「 6x 」表示删除光标所在位置的 “ 后面(包含自己在内) ”6 个字符
「X」:大写的 X ,每按一次,删除光标所在位置的 “ 前面 ” 一个字符
「 #X 」:例如,「 20X 」表示删除光标所在位置的 “ 前面 ”20 个字符
「 dd 」:删除光标所在行
「 #dd 」:从光标所在行开始删除 # 行

复制

「 yw 」:将光标所在之处到字尾的字符复制到缓冲区中。
「 #yw 」:复制 # 个字到缓冲区
「 yy 」:复制光标所在行到缓冲区。
「 #yy 」:例如,「 6yy 」表示拷贝从光标所在的该行 “ 往下数 ”6 行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与 “y” 有关的复制命令都必须与 “p” 配合才能完 成复制与粘贴功能。

替换 

「r」:替换光标所在处的字符。
[ R 」:替换光标所到之处的字符,直到按下「 ESC 」键为止。

撤销上一次操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次 “u” 可以执行多次回 复。
「 ctrl + r 」 : 撤销的恢复

更改

「 cw 」:更改光标所在处的字到字尾处
「 c#w 」:例如,「 c3w 」表示更改 3 个字

跳至指定的行

「 ctrl 」 + 「g」列出光标所在行的行号。
「 #G 」:例如,「 15G 」,表示移动光标至文章的第 15 行行首
在使用末行模式之前,请记住先按「 ESC 」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。

列出行号

「 set nu 」 : 输入「 set nu 」后,会在文件中的每一行前面列出行号

保存文件

「 w 」 : 在冒号输入字母「 w 」就可以将文件保存起来
离开 vim
「q」:按「q」就是退出,如果无法离开 vim ,可以在「q」后跟一个「!」强制离开 vim 。
「 wq 」:一般建议离开时,搭配「 w 」一起使用,这样在退出的时候还可以保存文件。

相关推荐

  1. Vim相关配置

    2024-04-14 06:08:03       45 阅读
  2. vim快捷指令

    2024-04-14 06:08:03       38 阅读
  3. Vim 常用指令

    2024-04-14 06:08:03       24 阅读
  4. Vue的相关指令

    2024-04-14 06:08:03       57 阅读
  5. git相关指令

    2024-04-14 06:08:03       38 阅读
  6. npm相关指令

    2024-04-14 06:08:03       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-14 06:08:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-14 06:08:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-14 06:08:03       82 阅读
  4. Python语言-面向对象

    2024-04-14 06:08:03       91 阅读

热门阅读

  1. git 如何合并两个分支中的某些文件

    2024-04-14 06:08:03       38 阅读
  2. python 今日小知识1——parser

    2024-04-14 06:08:03       39 阅读
  3. tomcat按顺序启动应用

    2024-04-14 06:08:03       32 阅读
  4. xxl-job调度任务原理解析

    2024-04-14 06:08:03       32 阅读
  5. Qt | .pro开发经验笔记

    2024-04-14 06:08:03       37 阅读
  6. uniapp——长按识别二维码

    2024-04-14 06:08:03       39 阅读
  7. c#raft算法实现

    2024-04-14 06:08:03       33 阅读
  8. 蓝桥杯3527 阶乘的和 Python

    2024-04-14 06:08:03       38 阅读
  9. 使用Spring Cloud构建微服务时的一些经验

    2024-04-14 06:08:03       29 阅读
  10. React中常见的Hook

    2024-04-14 06:08:03       43 阅读
  11. 如何在seata中编写测试用例

    2024-04-14 06:08:03       36 阅读
  12. spring.cloud.gateway.discovery.locator.enabled配置项分析

    2024-04-14 06:08:03       39 阅读