admin 管理员组

文章数量: 887021

说在前头: 本人为大二在读学生,书写文章的目的是为了对自己掌握的知识和技术进行一定的记录,同时乐于与大家一起分享,因本人资历尚浅,发布的文章难免存在一些错漏之处,还请阅读此文章的大牛们见谅与斧正。若在阅读时有任何的问题,也可通过评论提出,本人将根据自身能力对问题进行一定的解答。


前言

Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。

vim的设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。同时VIM与很多快捷键设置和正则表达式类似,可以辅助记忆。并且vim针对程序员做了优化。


一、vi、vim的区别

vim是基于vi开发的,保留了vi原来的所有指令,在此基础上vim对vi增加了以下几个方面的提升:

  • 支持多级撤销
  • 跨平台运行
  • 支持语法高亮
  • 支持图形界面

二、vim的安装

centos系统下安装

yum -y install vim

ubuntu系统下安装

apt-get update
apt-get install vim

三、vim开启行号显示

关于行号的显示设置,还有不会开启的小伙伴可以参考百度经验上的教程:https://jingyan.baidu/article/908080220bedeafd91c80fee.html,上面的描述通俗易懂,笔者就不再过多讲述啦


四、移动、跳转与缩进

1.光标的移动

键位说明
h左移
l右移
j下移
k上移
^、0行首
$行尾
gg第一行
GG最后一行
w/W正向移动到下一个单词开头
b/B反向移动
e/E正向移动到下一个单词结尾
ge反向移动

由于vim诞生时的电脑还没有像现在的计算机一样将方向键独立出来,上下左右建位分别对应kjgl,因此刚学vim的小伙伴们可能不太适应(下图是当时计算机ADM-3A的建位对应图)

为了让大家更形象的记住四个字母对应的方向,我特意将四个字母建位按照现在日常使用的方向键进行编排,希望能方便大家的适应(下图)

下图是光标跳转的演示,演示顺序最后一行(GG) → 第一行(gg) → 行尾($) → 行首(^) → 跳转到第10行(:10)

2.跳转

键位说明
ctrl+f/F下一页
ctrl+b/B上一页
ctrl+d/u向下/向上半页
g+ctrl+g查看文件信息

GIF演示,演示顺序向下半页(ctrl+d) → 向上半页(ctrl+u) → 向下一页(ctrl+f) → 向上一页(ctrl+b) → 查看文件信息(g+ctrl+g)

3.缩进

键位说明
>>右缩进
<<左缩进
:m,n>m到n行缩进
:m>nm行开始共缩进n行

GIF演示,演示顺序右缩进(>>) → 左缩进(<<) → 缩进5到10行(:5, 10>) → 从第11行开始缩进5行(:11>5) → 查看文件信息(g+ctrl+g)


五、剪切、复制、粘贴、撤销与重做

键位说明
dd剪切光标当前整行
yy复制光标当前整行
p粘贴
u撤销之前的操作
ctrl+r重做/恢复之前的操作

六、插入、转换、查找与替换

1.插入

键位说明
a/i光标前/后插入
o/O行前/后插入

2.转换

键位说明
~单个字符大小写转换
g ~ w单词大小写转换
g ~ $ / g ~ ~整行单词大小写转换
gU/uw单词转换成大小写

3.查找

键位说明
/{keyword}查找{keyword}相关的字符,并高亮显示(使用n/N,正向/反向跳转匹配结果

4.替换

键位说明
s/going/rolling/g将当前行的going替换成rolling
%s/going/rolling/g全局替换

GIF演示全局替换(将大写的VIM替换为小写的vim)

本文标签: 上手 编辑器 快速 vi vim