本文已收录至《Linux知识与编程》专栏!
作者:ARMCSKGT
演示环境:CentOS 7 


目录

前言

正文

vim常用方式

进入vim

退出vim

vim基本模式及模式功能

命令模式

插入模式

底行模式

替换模式

视图模式

配置vim

自己配置vim

自动化配置vim

最后


前言

我们在使用一款操作系统时,无论是什么系统都有属于自己默认的文本编辑器,本节将介绍Linux编辑器vim!学习完vim,我们就可以相对自由的在Linux上写代码了,最后我们会配置vim环境,搭建主要用于C/C++代码编辑的vim。


正文

vim是一款多模式编辑器,各种模式,每种模式的用法有差别,每种模式相互切换,是一个单纯的编辑器而非编译器。


vim常用方式


进入vim

指令:

vim [文件]

未配置的vim进入文本的界面

左下角显示文文本名和当前的模式

退出vim

操作:按键盘上Esc退回到命令模式(或直接Esc退回),然后使用shift+:键,右下角显示模式的位置显示冒号,这是底行模式。在底行模式下输入q退出,一般是输入wq,表示保存并退出!


vim基本模式及模式功能

vim一共有12种模式,其中我们会用到的只有5种模式,常用的只有3种模式:命令模式,插入模式和底行模式!


命令模式

切换方式:任意模式下Esc键进入!

对于未配置的vim进入后左下角是没有任何显示的,这时表示处于命令模式!

命令模式是vim的默认模式,我们使用vim打开任意文件的初始模式都是命令模式,在其他模式下如果想退回命令模式直接按Esc键即可。既然是命令模式就有许多可用的命令在后面会详细介绍!

常用命令

按键中没有提示的默认小写!

1. 移动光标类
vim可以直接用键盘上的光标来上↑,下↓,左←,右→移动,但正规的vim是用小写英文字母「h」、「j」「k」、「l」,分别控制光标左、下、上、右移一格。

h,j,k,l 控制光标上下左右移动

G (或shift+g)

光标移动到文章的最后一行开头
#G (或#shift+g) 光标移动到文章的第 # 行
shift + $ 光标移动到光标所在行的“行尾”
shift + ^ 光标移动到光标所在行的“行首”
w 光标跳到下个字的开头
e 光标跳到下个字的字尾
b 光标回到上个字的开头
#|( | 是竖画线) 光标移到该行的第#个位置
gg 进入到文本开始
CTRL+ b 屏幕往“后”移动一页
CTRL+ f 屏幕往“前”移动一页
CTRL+ u 屏幕往“后”移动半页
CTRL+ d 屏幕往“前”移动半页
CTRL+ g 显示行号和光标所在文章内容百分比(一般显示在左下角)

2.剪切复制粘贴类

dd 剪切光标所在行
#dd 从光标所在行开始剪切后面的 # 行 (包括光标所在行)
x 每按一次,剪切光标所在位置的一个字符
#x 剪切光标所在位置的“后面(包含自己在内)的 # 个字符
X(大写) 每按一次,剪切光标所在位置的“前面”一个字符
#X(大写) 剪切光标所在位置的“前面"的 # 个字符(不包括自己)
yw 将光标所在之处到字尾的字符复制(到缓冲区中)
#yw 复制#个字(到缓冲区)
yy 复制光标所在行(到缓冲区)
#yy 从光标所在行开始向下复制 # 行(包括光标所在行)
p 将缓冲区内的字符贴到光标所在位置。(注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。)

注意:在vim中是没有特别的删除命令的,剪切后不粘贴就是删除!

3.撤销类

u 撤销,撤回一步(还原到上一步操作,类似于Windows的CTRL + z)
CTRL+ r 前进,撤回撤销(相当于Windows的CTRL+ y)

4.替换更改类

cw 更改光标所在处的字到字尾处(相当于一个单词)
c#w 更改 # 个词组
r 替换光标所在处的字符
shift+ ~ 将光标处的字母进行大小写切换

插入模式

切换方式:命令模式下使用Insert(Ins)/i/o/a键进入!

左下角显示INSERT字样表示处于插入模式!

插入模式是我们以后进行编辑最常用的方式,只有插入模式下才能自由编辑,否则就会转换为指令!

命令模式下进入插入模式的方法:

Insert(Ins) 切换为插入模式且光标停留在原位
i 键
o 键 切换为插入模式并以光标的当前位在下一行重起一行空行
a 键 切换为插入模式且光标向后移动一位

底行模式

切换方式:命令模式下shift+: 进入!

切换为底行模式后,左下角会显示一个:待输入指令。

底行模式下也有很多指令,而且我们以后退出vim都是使用底行模式。在文章后面我们会详细介绍。

常用指令

1.设置行号指令

:set nu //开启行号显示
:set nonu //关闭行号显示

2.光标跳转指令

:# //调转到第 # 行

3.搜索字符串并高亮

:/(需要搜索的字符串)
:?(需要搜索的字符串)

 此时光标所在的高亮字符会呈现不同的高亮色,如果是使用 / 搜索的字符按n键可以让光标移向下一个高亮的字符,如果是使用 ? 搜索按n键可以让光标移动到上一个高亮字符!

4.底行模式执行Linux命令

:!(Linux指令)

一般我们在写代码时通过这个命令编译代码文件然后执行程序,这样我们既可以不退出vim也可以查看程序运行情况!

5. 指定字符串并替换

:%s/被替换的文本/替换文本/g  

6.多文件vim分屏操作

:vs 文件

vs分屏打开文件时如果没有文件vim会创建在本地一个文件,如果有该文件则可以使用Tap键自动补齐文件名。

在两个vim窗口之间切换要使用CTRL + 连续按两次w

7.保存文件

:w //将文本保存在本地

8.退出vim

:q //退出vim

替换模式

切换方式:命令模式下大写R进入(或shift+小写r)。

切换为替换模式后左下角会显示REPLACE字样,代表处于替换模式!

在替换模式下键盘输入的任何字符都会替换当前光标处的字符(包括空格),所以理论上替换模式也可以实现编辑但是不太方便,例如不能删除字符只能替换为空格!


视图模式

切换方式:命令模式下小写v或大写V键!

通过小写v切换为视图模式左下角显示 VISUAL 此时视图模式的选中方式为逐字符选中。

通过大写V切换的视图模式左下角显示 VISUAL LINE ,此时为逐行选中,光标所在行的整行都会被选中!

视图模式通常用于整体替换和快速浏览文本,在代码编辑中快速注释也是通过视图模式!

视图模式代码注释小技巧

1.CTRL+ 大小写v/V,进入视图行插入文本模式

2.通过光标的移动选中需要注释的行(选择时选中两列)

3.切换为大写模式按 I (大写 i )

4.在光标原地输 // 即可完成注释!(如果要插入其他字符也是这样操作)


配置vim


之前在初步介绍时展示的都是未配置的vim,没有配置的vim非常难以使用,来写代码和文本是非常困难的!

我们自己可以修改vim的默认配置文件,来配置我们自己的vim,使它更符合我们的使用!

首先vim的配置文件在用户的家目录~下(每个用户只能配置自己的vim),该文件被隐藏起来了,需要使用ls -a来查看,文件名是.vimrc


自己配置vim

使用vim打开文件.vimrc文件,写入配置指令!

保存并退出,再次打开vim查看文本文件!

其他配置:

1.自动缩进:set autoindent
2.突出显示当前行: set cursorline

还有其他很多选项,大家有需要可以在网上搜索进行详细的个性化配置!


自动化配置vim

对于手动配置vim好像非常麻烦,而一般我们配置vim是为了写代码,所以网上有一套非常成熟的配置,可以下载到本地使用!这就是VimForCpp

可以在giett官网搜索VimForCpp(网页:VimForCpp: 快速将vim打造成c++ IDE (gitee.com))

 进入主页向下翻就能看到步骤和介绍!

这里感谢这位大佬提供的vim配置方案!

安装步骤及命令:

1.在 shell 中执行以下指令(命令较长请将下列命令复制完整)

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

2.需要按照提示输入 root 密码


注意: 这个自动安装的方法,目前仅适用于 Centos 7.6 ,其他平台可能会出现安装失败的情况!


最后

Linux编辑器vim的介绍到这里就结束了,相信vim的学习会为大家打开Linux编程的大门,让我们在Linux中更加畅快的进行开发!

本次Linux编辑器vim知识就介绍到这里啦,希望能够尽可能帮助到大家。

如果文章中有瑕疵,还请各位大佬细心点评和留言,我将立即修补错误,谢谢!

 

Linux编辑器vim相关推荐

  1. 你一定可以看懂的:Linux编辑器-vim的使用

    你一定可以看懂的:Linux编辑器-vim的使用 每博一文案 正如这句话所说的,人跟人之间的感情,就像织毛衣拆开的, 永远比拆开的快,失去永远比得到的快,没有一段感情, 天生牢固,也没有一段感情从来不 ...

  2. 【Linux练习生】Linux编辑器-vim使用(详解)

    vim使用 1. vim的基本概念 2. vim的基本操作 2.vim正常模式命令集 4. vim末行模式命令集 5.vim多行操作 常用命令选项: – the End – vi/vim区别: vi/ ...

  3. 榕树贷款的Linux编辑器-vim使用,榕树贷款环境基础开发工具

    榕树贷款Linux编辑器-vim使用 榕树贷款vim的基本模式 正常/普通/命令模式(NORMAL ) 榕树贷款控制屏幕光标的移动,字符.字或行的删除,移动复制某区段及进入Insert mode下,或 ...

  4. 【Linux】Linux编辑器—vim使用

    目录 1.vim的基本概念 2.vim基本操作 3.vim命令模式命令集 4.vim末行模式命令集 5.简单vim配置 6.使用sudo提权 7.关闭vim时使用 ctrl + z 退出怎么解决? 为 ...

  5. linux 编辑器vim配置

    1.         基本配置 对vim进行配置的目的: 进行vim配置,可以让我们在后续敲代码更加方便.按F5可以直接编译并执行C.C++代码以及执行shell脚本:按"F8"可 ...

  6. Linux编辑器——vim

    目录 1.vim的基本概念 2. vim的基本操作 3. vim正常模式命令集 4.vim末行模式命令集 5. 简单vim配置 1.vim的基本概念 这里主要讲解vim最常用的三种模式:命令模式(co ...

  7. 【Linux】三、Linux 环境基础及开发工具使用(上篇)|开发工具|编辑器-vim使用|sudo提升权限问题|编译器 - gcc/g++使用|项目自动化构建工构建工具-make/Makefile

    目录 一.开发工具 二.Linux编辑器 - vim使用 2.1 vim 的基本概念 2.2 vim的基本操作 2.3 vim正常模式命令集 2.4 vim末行模式命令集 2.5 简单vim配置 2. ...

  8. 【Linux】软件包管理器yum和编辑器vim(部分动图演示)

    工具的本质也是指令 文章目录 一.Linux 软件包管理器 yum 1.什么是软件包 2.第一个软件rzsz 3.yum的扩展 二.Linux编辑器-vim使用 1.vim的基本概念 2.vim的基本 ...

  9. 【Linux入门】第三篇:软件包管理器yum和编辑器vim的使用

    目录 前言 Linux软件包管理yum 查看软件包 如何安装软件 如何卸载软件 lrzsz的使用 Linux编辑器-vim使用 01.vim的基本概念 02.vim的基本操作 03.vim命令模式命令 ...

最新文章

  1. ECSHOP商品编辑器上传中文名图片产生乱码
  2. vs cmake opencv 远程 ubuntu 开发时:vs代码出现紫色波浪线且报错怎么办?
  3. java 百度账号注册界面_基于百度AI开放平台的人脸识别的注册登录(1)
  4. 流式计算框架Storm网站访问来源实时统计及存储到redis代码示例
  5. 全面详细的jQuery常见开发技巧手册
  6. 办公自动化系统开发实例导航 源码_本色世界源码搭建(系统开发)
  7. JQGrid 参数、属性API
  8. 【Project3】技术总结
  9. 剪绳子 算法_[校招-算法题]动态规划
  10. 《Python核心编程》第二版第209页第八章练习 -Python核心编程答案-自己做的-
  11. 凯撒密码的超详细讲解
  12. html背景图片纵向拉伸,html网页背景图片拉伸 关于html背景图片往下拉伸问题
  13. python实用程序育儿法下载_Python机器学习经典实例
  14. android摇骰子动画,Android实现微信摇骰子游戏
  15. 创建Visual Studio离线升级包
  16. gentoo linux 分区_开始使用gentoo linux——gentoo安装笔记(上)
  17. Nodebb 开发1
  18. 学生宿舍管理mysql设计_学生宿舍管理系统的设计与实现(PHP,MySQL)(含录像)
  19. mysql的基础命令之更改密码
  20. 强化学习之探索与利用(一)

热门文章

  1. mqtt(4):mqtt-benchmark 对mqtt 服务进行压力测试
  2. msm8953 TP 触摸屏启动报错(适用于任何启动报错crash)
  3. 基于ITOP4412开发板的实时视频监控系统实现
  4. Oracle RAC ASM disk header 备份 恢复 与 重建 示例说明
  5. 微软拿GPT-3独家授权,马斯克:Open AI被“控制”了
  6. java如何求矩阵的置换_矩阵乘法(五):置换
  7. Vue钩子函数之钩子事件hookEvent,监听组件
  8. 多变量微积分笔记13——线积分
  9. python和c语言有什么关系-python和c语言的主要区别总结
  10. RecycleView-ListView优化