首页 > 其他分享 >Vim简单入门

Vim简单入门

时间:2022-11-22 14:04:15浏览次数:48  
标签:入门 删除 游标 模式 Vim 单词 普通 简单 输入


值此五四运动100周年之际,写篇文章纪念一下。

“要把所有的夜归还给星河,把所有的春光归还给疏疏篱落,把所有的慵慵沉迷与不前,归还给过去的我。明日之我,胸中有丘壑,立马振山河。”

Vim简单入门_缩进


Vim简单入门_vim_02


看了这两张图,千万别被劝退,我们平时用不了这么多命令,作为日常使用,我觉得掌握以下三点就足够了:

  1. 三种模式之间的切换
  2. 熟练使用复制粘贴指令
  3. 熟练保存和退出
    就这些啦,很简单!

I 普通模式

1.1 游标移动

按键

说明

h


j


k


l


w

移动到下一个单词

b

移动到上一个单词

1.2 游标行间跳转

命令

说明

​nG​​(n Shift+g)

游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号)

​gg​

游标移动到到第一行

​G​​(Shift+g)

到最后一行

小技巧:你在完成依次跳转后,可以使用 Ctrl+o 快速回到上一次(跳转前)光标所在位置,这个技巧很实用,比如当你在写代码时,忽然想起有个 bug,需要修改,这时候你跳过去改好了,只需要按下 ​​Ctrl+o​​ 就可以回到你之前的位置。

1.3 行内跳转

命令

说明

​w​

到下一个单词的开头

​e​

到当前单词的结尾

​b​

到前一个单词的开头

​ge​

到前一个单词的结尾

​0​​​或​​^​

到行头

​$​

到行尾

​f<字母>​

向后搜索<字母>并跳转到第一个匹配的位置(非常实用)

​F<字母>​

向前搜索<字母>并跳转到第一个匹配的位置

1.4 删除vim文本信息

命令

说明

x

删除游标所在的字符

X

删除游标所在的前一个字符

delete

same as x

dd

删除整行

dw

删除一个单词(不适合中文)

D or d$

删除至行尾

d^

删除至行首

dG

删除至文档结尾处

d1G

删至文档首部

  • ​2dd 表示一个删除2行​
  • ​在普通模式下.(小数点)表示重复上一次的命令操作​
  • 在普通模式下,你还可以使用​​dw​​​或者daw(delete a word)删除一个单词,所以你可以很容易的联想到​​dnw​​(n替换为相应数字) 表示删除n个单词
  • ​~​​ 将游标所在字母变成大写或小写

1.5 复制粘贴和剪切

  • 普通模式中使用​​y​​复制
  • 普通模式中,​​yy​​​复制游标所在的整行(​​3yy​​表示复制3行)
  • 普通模式中,​​y^​​​ 复制至行首,或​​y0​​。不含光标所在处字符。
  • 普通模式中,​​y$​​ 复制至行尾。含光标所在处字符。
  • 普通模式中,​​yw​​ 复制一个单词。
  • 普通模式中,​​y2w​​ 复制两个单词。
  • 普通模式中,​​yG​​ 复制至文本末。
  • 普通模式中,​​y1G​​ 复制至文本开头。
  • 普通模式中使用 ​​p​​ 粘贴
  • 普通模式中,​​p​​(小写)代表粘贴至光标后(下)
  • 普通模式中,​​P​​(大写)代表粘贴至光标前(上)

其实前面讲得 ​​dd​​​ 删除命令就是剪切,你每次 ​​dd​​​ 删除文档内容后,便可以使用 ​​p​​ 来粘贴,也这一点可以让我们实现一个很爽快的功能——交换上下行:

​ddp​​ ,就这么简单,即实现了快速交换光标所在行与它下面的行

1.6 快速查找

  • 普通模式下输入​​/icmp​​​然后回车即可查找字符串 ​​icmp​
  • 普通模式下输入​​n​​​查找下一个 ​​icmp​
  • 普通模式下输入​​?tcp​​​向上查找字符串 ​​tcp​
  • 普通模式下输入​​N​​​查找上一个出现的 ​​tcp​
  • 命令行模式下输入 ​​noh​​ 然后回车即可取消搜索

1.7 高级查找

  • 普通模式下输入​​\*​​寻找游标所在处的单词
  • 普通模式下输入​​\#​​​同上,但 ​​\#​​​ 是向前(上)找,​​\*​​则是向后(下)找
  • 普通模式下输入​​g\*​​​同​​\*​​ ,但部分符合该单词即可
  • 普通模式下输入​​g\#​​​同​​\#​​ ,但部分符合该单词即可

以上查找​​n​​​,​​N​​ 的继续查找命令依然可以用

1.8 缩进

  • 普通模式下输入​​>>​​ 整行将向右缩进(使用,用于格式化代码超爽)
  • 普通模式下输入​​<<​​ 整行向左回退
  • 普通模式下输入​​:​​​进入命令行模式下对​​shiftwidth​​值进行设置可以控制缩进和回退的字符数

shiftwidth命令

:set shiftwidth=10

1.9 替换

  • 替换和Undo命令都是针对普通模式下的操作

命令

说明

​r​​+<待替换字母>

将游标所在字母替换为指定字母

​R​

连续替换,直到按下​​Esc​

​cc​

替换整行,即删除游标所在行,并进入插入模式

​cw​

替换一个单词,即删除一个单词,并进入插入模式

​C​​(大写)

替换游标以后至行末

​~​

反转游标所在字母大小写

​u​​{n}

撤销一次或n次操作

​U​​(大写)

撤销当前行的所有修改

​Ctrl+r​

redo,即撤销undo的操作

II 插入模式

命令

说明

i

在当前光标处进行编辑

I

在行首插入

A

在行末插入

a

在光标后插入编辑

O

在当前行后插入一个新行

o

在当前行前插入一个新行

cw

替换从光标所在位置后到一个单词结尾的字符

III 命令行模式

3.1 退出

命令

说明

:q!

强制退出,不保存

:q

退出

:wq!

强制保存并退出

:w <文件路径>

另存为

:saveas 文件路径

另存为

:x

保存并退出

:wq

保存并退出

普通模式下输入​​Shift+zz​​即可保存退出vim

3.2 调整文本位置

  • : ce == center
  • : ri == right
  • : le == left


标签:入门,删除,游标,模式,Vim,单词,普通,简单,输入
From: https://blog.51cto.com/u_13875041/5877899

相关文章

  • RabbitMQ入门
    一、RabbitMQ简介安装1、什么是MQMQ全称为MessageQueue,即消息队列。“消息队列”是在消息的传输过程中保存消息的容器。它是典型的:生产者、消费者模型。生产者不断向消......
  • 2、Docker最新入门教程-Docker安装
    1.1Dockerforlinuxcentos7安装Docker1.1.1安装前必读在安装Docker之前,先说一下配置,我这里是Centos7Linux内核:官方建议3.10以上,3.8以上貌似也可。注意:本文的......
  • FFmpeg极简入门
    安装sudoapt-getinstallffmpeg1.观看视频或音频ffplayffplaydemo.mp42.查看视频详细信息ffprobeffprobe是用于查看文件格式的应用程序ffprobefasterRCNN1.mp43.转换视频格式f......
  • linux入门
    [Linux就该这么学第二版.pdf](https://www.yuque.com/attachments/yuque/0/2022/pdf/29649025/1658236286875-967f377b-1385-4c5c-af57-fc905c842d5d.pdf)##打包和压......
  • Spring Boot Admin 入门及配置
    什么是SpringBootAdmin?SpringBootAdmin是一个管理和监控SpringBoot应用的社区项目。创建SpringBootAdminServer要做到这一点,只需创建一个简单的SpringBo......
  • php中的array_unshift() 新增一个元素在数组开头 -- 简单实现
    array_unshiftarray_unshift()函数在数组开头插入一个或多个元素。被加上的元素作为一个整体添加,这些元素在数组中的顺序和在参数中的顺序一样。该函数会返回数组中元素......
  • 用php入门网络编程
    学习思路以下是我对学习网络编程的一个简单的学习思路,之后我将会按照这个计划去逐步学习网络编程相关的知识。step1.原生php实现TCPServer->原生php实现http协议->掌......
  • Pytorch入门(4)—— Tensor和Module的保存与加载
    参考:动手学深度学习注意:由于本文是jupyter文档转换来的,代码不一定可以直接运行,有些注释是jupyter给出的交互结果,而非运行结果!!文章目录​​1.读写Tensor​​​​2.读写......
  • Pytorch入门(3)—— 构造网络模型
    参考:动手学深度学习注意:由于本文是jupyter文档转换来的,代码不一定可以直接运行,有些注释是jupyter给出的交互结果,而非运行结果!!文章目录​​1.模型构造​​​​1.1继承`M......
  • Java简单取反操作
    通过取反可以制作简单的文件加密处理器。示例:publicstaticvoidmain(String[]args)throwsException{inti=3;//取反,并且转为字符串......