人生苦短,何不用Vim装13

蚀纹析取
• 阅读 5598

Vim是一个非常强大的文本编辑器。基本上所有的类Unix系统都会内置vi编辑器,Vim就是从vi发展来的一个编辑器。

使用vim编程基本可以脱离鼠标,在服务器编程将会更加舒服,同时具有高逼格,成为别人眼中的“电影里的程序员”。

vim有很多快捷键,可以使用默认配置,也可以在.vimrc文件中自定义配置。

人生苦短,何不用Vim装13

Vim快捷键分布

我是在VScode中使用vim插件,结合两者的优点。当然快捷键也会有冲突的,可以在设置中解决冲突,如果不常用的快捷键也可以置之不顾。

vim有三种模式,分别为:normalinsertvisual

从normal模式转到insert有多种方式:

  • i/I:在光标之前插入/在行首插入。
  • a/A:在光标之后插入/在行尾插入。
  • o/O:在下一行/上一行插入。
  • s/S:删除当前字符/当前行并插入。

根据具体的情况使用不用的快捷键,但一般使用较多的为i、a、o、O

从insert返回到normal模式就只有两种方式了:一种为Esc,另一种为<C-[>(即Ctrl+[,下文的<C->均为Ctrl +)。

光标移动

光标移动是很重要的,基本代替鼠标的操作。之后的修改删除等操作,也要先移动到该位置才能再操作,所以移动是一切的基础。

  • 上下左右(k、j、h、l):向上下移动一行,或左右移动一个字符。除此之外,vim的一个重要思想就是数字与操作结合。例如下移10行使用10j,右移10个字符使用10l。同时vscode编辑器会在最下方显示目前的行列信息。
  • 单词移动(b、B、w、W):b/w为向后/前移动一个单词,B/W向后/前移动一个大单词。(如hello-world,是大单词'hello-world',由三个单词'hello'、'-'、'world'三个单词组成)
  • 字符移动(f、F、t、T):f/F向后/前查找一个字符,如fa查找下一个a字符。t向后查找一个字符,并移动到该字符的前一个字符;T向前查找一个字符,并移动到该字符的后一个字符。如abcdefg中,tg命令会将光标移动到f处,Ta命令会将光标移动到b处。
  • 行首尾移动(0、$):0移动到行首,$移动到行尾。
  • 首尾行移动(gg、G):gg移动到文件的首行,G移动到文件的尾行。
  • 页移动:使用<C-d>/<C-u>向上/下移动半页,使用<C-f>/<C-b>向上/下移动一页。
  • 行定位:使用:n移动到第n行。如:10快速移动到第10行。
  • zz将光标移动到屏幕中间,zb将光标移动到屏幕底部,zt将光标移动到屏幕顶部。
  • 单词定位:使用*/#定位当前光标下的单词,并指向下/上一个。
  • 使用gd定位到当前变量的声明位置。
  • 使用%快速定位到配对字符,如括号的另一半。
  • 最后可以使用<C-o>回到光标上一次的位置。

编辑文本

d指delete,是所有修改操作的基础。

  • 删除一个字符。删除一个字符可以使用dl代表删除右边的一个字符,dh为删除左边的一个字符。x相当于dl,删除当前光标下的字符。
  • 删除特定单词。daw表示delete a word,删除当前光标下的单词,使用dw/db从当前位置删除到后一个/前一个单词。
  • 删除括号里的文本。di(表示delete in (但是不会删除括号,使用da(会删除括号及括号内的文本。同理,di{删除花括号等等。
  • D表示删除本行内目前光标下后的文本。
  • 使用dd删除整行文本。
  • c类似于d,指change。将上述操作中的d更换为c后,表示,删除之后进入Insert模式。
  • yyank,复制,将上述操作中的d更换为y后,表示复制内容
  • 使用r加特定字符,代替原来光标位置的字符。如a使用rb后,文本变为b
  • 在Insert模式下删除,ctrl+h可以向前删除一个字符,ctrl+w可以向前删除一个单词。
  • 如果删除错误,可以使用u进行撤销操作。在vscode中无论是Normal模式还是Insert模式都可以使用<C-z>进行撤销。

基本操作

基本操作包括:查找、替换、撤销、重做、复制、粘贴、保存等。

  • 查找使用/后加需要查找需要词或表达式,如/const查找const单词,n查找下一个,N查找上一个。
  • 替换使用:s/aa/bb/g,将aa替换成bbg代表全局替换。
  • 撤销使用u,可以与数字结合进行多次撤销操作。
  • 重做使用<C-r>
  • 复制使用yy复制整行,也可以使用yi'复制引号中的内容等。
  • 粘贴使用p
  • "*y复制内容到系统剪切板。
  • "*p粘贴系统剪切板中的内容。
  • 使用:reg列出寄存器列表。

vimium

vimium是Chrome浏览器的一个插件,可以使用vim命令操作网页。最主要的还是有逼格。

在Chrome网上应用商店下载该插件,启用之后,即可使用vim的命令操作网页。

移动

移动与在编辑器中的移动有很大的相似,有部分简化,部分删除。

在编辑器中<C-u>上移半页,在网页中,只需要u就可以上移半页,d为下移半页。

移动特定行之类的在网页中,不存在此类操作。

其他移动操作一致,如10jgg等。

标签操作

针对标签页的操作。

  • 使用yy复制当前页的url地址,yt复制当前页面的url并在新标签页打开。
  • 使用p在当前标签页打开剪切板中的url链接,使用P在新标签页打开剪切板中的url链接。
  • 使用t新建一个标签。
  • 使用J/K切换到前/后一个标签页。
  • 使用^切换到上一个历史标签页。
  • g0切换到第一个标签页,g$切换到最后一个标签页。
  • 使用x关闭当前标签页,相当于<C-w>,使用X恢复关闭的标签页,相当于Ctrl+shift+t
  • 使用<<将当前标签页左移,使用>>将当前标签页右移。
  • 使用L向前寻找历史记录,使用H向后寻找历史记录。

其他操作

包括页面的跳转,页面的点击等操作。

  • 输入:使用gi定焦到第一个可输入文本位置。
  • 元素定位器:使用f打开元素定位器,在当前页面打开,使用F在新标签页打开。
  • 刷新页面:使用r刷新页面。
  • gf选择下一个frame。
  • 在当前页面查找内容,使用/后接需要搜索的内容,类似于Chrome的<C-f>快捷键。使用n定位到下一个,使用N定位到上一个。
  • 搜索框。

    • 使用o从url、书签、历史记录中搜索地址,tab键选择,回车在当前页面打开。使用O在新标签页打开。
    • 使用b仅从书签搜索地址,在当前页面打开,使用B从新标签页打开。
    • 使用T搜索当前浏览器打开的所有标签,相当于标签页的切换。
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
美凌格栋栋酱 美凌格栋栋酱
6个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
3年前
vim介绍 、 vim颜色显示和移动光标 、vim一般模式下移动光标 、vim一般模式下复制、剪切和粘贴
vim是什么vim是什么?在之前接触Linux,编辑网卡配置文件的时候我们用过了vi,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。如果系统中没有vim,需要安装一下:yuminstallyvimenhanced安装完了之后就可以正常使用了。我们使用vi和vim打开/e
Wesley13 Wesley13
3年前
vi 编辑器
Linux下的文本编辑器有很多种,vi是最常用的,也是各版本Linux的标配注意,vi仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像Windows下的word有排版功能Vim是Viimproved的缩写,是vi的改进版。在Linux中,vi被认为是事实上的标准编辑器,因为:所有版本
Stella981 Stella981
3年前
Linux中vim编辑器常用命令、文件查找、磁盘挂载、用户管理
Vim介绍Vim是全屏幕纯文本编辑器,是vi编辑器的升级版。vim不仅仅兼容vi所有的命令,而且高亮显示,vi只能运行在UNIX和Linux中,而vim可以跨平台运行在Windows,MACOS中。vim号称“编辑器之神”,具有无可匹敌的可扩展性。大部分Linux系统中,默认都会安装vim,在L
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制、剪切和粘贴 5.5 进入编辑模式 5.6 vim命令
vim命令vim和vi几乎是一样的,唯一的区别就是当编辑一个文本时,使用vi不会显示颜色,而使用vim会显示颜色。vim有三个模式:一般模式,编辑模式,命令模式。系统最小化安装时没有安装vim命令,需要自己使用yum进行安装:root@cham2~yuminstallyvimenhanced
Stella981 Stella981
3年前
Linux
初识vi/vim文本编辑器1.vi和vim相同,都是文本编辑器,在vi模式下可以查看文本,编辑文本,是Linux最常用的命令,vi模式下分为三部分,第一部分一般模式,在一般模式中可以进行搜索字符等按键操作,按下i,o,a任意一个字符就可以进入编辑模式,按ESC回到一般模式,编辑模式下可以对
芝士年糕 芝士年糕
2年前
vi与vim的区别以及常用命令
最近在使用3A服务器,经常修改配置文件,但是在网上看教程的时候,发现有人使用vi,也有人使用vim,但这两者到底有什么区别呢,下面为大家介绍,如果有需要服务器的,可以后台私信我一、vi与vim的区别1、多级撤消在vi编辑器中,按u只能撤消上次命令,而在vim里可以无限制的撤消。2、易用性vi编辑器只能运行于unix中,而vim不仅可以运行于unix,还可用于