vim实用技巧

文章目录

前言

1.vim的四种模式及其切换

2.光标移动及定位

a.光标移动键位

b.光标小幅移动

c.行数跳转

3.理解vim并学会保存与退出

4.基本文本编辑

a.在编辑模式下(输入 i  or  a or o)后与正常编译器无异

b.在普通模式下

5.字符检索

6.便于c语言编程

a.字符局部及全局替换

b.寻找配对括号

c.保存模块

d.代码补全

7.命令模式

8.在线帮助

总结


前言

Vim被称为编辑器之神,扩展性广,可使用各种插件使之更便捷。虽学习曲线曲折使得大批programmer劝退,但肌肉记忆后可达到IDEA、VSCode、XCode无可比拟的优势。从此快意编程,几乎不使用鼠标等等仅为星光一点,虽然网络教程很多,但大多杂乱且介绍不全,导致我的学习曲线陡峭,为了方便更多的programmer收益,萌生出一个关于vim的系统教学

1.vim的四种模式及其切换

1.普通模式:Vim 启动后的默认模式,用来移动光标、删除文本、复制粘贴文本等等。
2.插入模式:输入 i  or  a or o可进入插入模式(但插入位置不同,后续会讲),相当于编辑器的编辑模式。
3.可视模式:选择文本,可以行选、块选和依次选择,选择后可以进行复制、删除、排序
等操作。
4.命令模式:通过“:”(执行内部命令)“/”(向上搜索)“?”(向下搜索)“:!”(执行外部命令即终端命令)。

普通模式→插入模式  (输入 i  or  a or o

普通模式→命令模式  (输入  :)

普通模式→可视模式  (输入   v )

除普通类模式→普通模式 (输入esc)

2.光标移动及定位

a.光标移动键位

普通模式下使用k,j,h,l四个键位(分别代替上下左右)

代替了传统的方向键以及鼠标,也是为什么vim可以实现无鼠化的基础;

b.光标小幅移动

在vim的规则中数字加对象相当于执行该数字次对象

则可进行如下操作:

输入 0 (数字零) 移动光标到行首。

输入 2h 使光标向左移动两个单词。

输入 6e 使光标向右移动到第六个单词的末尾。

c.行数跳转

有的时候知道代码在多少行出错可以直接用

输入行号,然后再输入大写 G跳转到对应行

若不知道行信息则输入 CTRL+g 显示当前光标所在行位置以及文件状态信息

此外学c语言有点时候在文件开头经常宏定义回到开头通常麻烦

输入gg 可跳转到文件第一行

输入G可跳转到文件最后一行

3.理解vim并学会保存与退出

vim为编辑器,本质上是给文件内容进行编辑的,自然有其他编辑器应有的保存,不保存等功能

而在vim内只有在命令模式下才可以进行这样的操作

故输入 :

: q! 为不保存并退出

:  w  保存

:   wq 保存并退出

ZZ(大写即按住shift 再按两下zz) 保存并退出

4.基本文本编辑

a.在编辑模式下(输入 i  or  a or o)后与正常编译器无异

输入i    在光标前开始插入

输入a  在光标后开始插入

输入A  在光标所在行行末输入

输入o   在光标下一行开始插入

b.在普通模式下

1.删除:

一个操作符和一个对象(构成命令)
使用删除操作符 d 的删除命令的格式如下:


 w - 从当前光标当前位置直到下一个单词起始处且不包括它的第一个字符。
 e - 从当前光标当前位置直到单词末尾包括最后一个字符。
 $ - 从当前光标当前位置直到当前行末。

在普通模式下

输入x可删除光标位置的字符

输入dw可删除本单词(光标移至准备要删除的单词的起始处)

输入 d$ 从当前光标删除到行末

输入 de 会从当前光标位置删除到单词末尾

输入 dd 删除整行

操作符  数字  对象

使用操作符时输入数字再输入对象可以使它重复那么多次操作

输入d4w(向右删除4个单词)

从上面的介绍我们知道 数字加操作对象为重复数字次操作则

输入 6dd 为删除6行

2.复制:在vim中最后一次的删除会被记入寄存器中也就是剪贴板中

            按下v进入可视模式移动光标进行选择最后按下y即可复制

3.粘贴:输入 p 将内容粘贴到下一行内

4.剪切:一次性删除对应文本再按p

5.撤销:在普通模式下输入u则撤销一次操作,输入U则撤销整行操作,而CTRL加r可以撤消掉撤消命令

6.替换:

在普通模式下

按r可更改光标所在的单个字符,输入R可替换多个字符

输入 ce    改变文本直到一个单词的末尾(删除)

输入c4w  更改光标所在的后的4个单词

输入ce or cw均会删除对应的单词并进入编辑模式

输入 c$  从此光标处开始更改直到行末

5.字符检索

输入 / 加上一个字符串可以全局查找字符串,若逆向查找字符串, 请输入?加上字符串 。

此时按下n为向上找字符串

按N为向下寻找字符串

6.便于c语言编程

a.字符局部及全局替换

常常我们会无意导致大面积的字符或者语法错误(特别是同一错误被多次嵌套)

故需要重复更改,Vim支持全局替换和局部替换

将一行内旧字符串改为新字符串                  输入  :s/旧字符串/新字符串


将一行内所有的旧字符串改为为新字符串    输入  :s/旧字符串/新字符串/g

将两行内所有旧字符串改为新的字符串        输入  :#,#s/旧字符串/新字符串/g

将全局内旧字符串改为新的字符串                输入  :%s/旧字符串/新字符串/g

每次询问是否更改全局内每个旧字符串师傅改为新的字符串

                                                                        输入 :%s/旧字符串/新字符串/gc

b.寻找配对括号

常常写嵌套的时候会少打或者无意删除导致编译错误

此时将光标位置移到括号上(、)、[、]、{、}按下 % 光标会自动移动到配对的括号上便于检索

c.保存模块

在编写程序时我们常常是分区块实现对应的功能有的时候需要多次写入复制粘贴也过于麻烦

此时我们输入v进入可视模式选择好对应区块 输入  :  你将发现屏幕底部会出现 :'<,'> ,然后我们输入w  文件名  即可把选中内容写入文件中

当下次需要调用的时候 输入r 文件名 即可把文件内的代码写入光标后的位置

d.代码补全

输入部分字符,按下tab按键即可补全(自动检索补全)

7.命令模式

除了常见的内部命令外还有些外部命令

由于Vim移植性强各个操作系统都有,导致各个系统的命令也不同不好展开

各位感兴趣可以去搜索学习对于操作系统命令这里就不再赘述了

在不退出vim的情况下输入               :!对应终端命令                回车即可运行对应终端命令

8.在线帮助

vim提供在线帮助功能

输入 :help 或者按 <F1> 键可以打开帮助窗口。

输入:help 命令  可以在线搜索此命令对应的帮助

总结

以上就是今天要讲的内容,本文仅仅简单介绍了vim的基本使用,而vim还提供了大量便捷我们编程效率的功能以及可定制化空间,有空将会进行vim美化和vim快意编程方面的更新,敬请期待。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值