Linux编辑器vim(含vim的配置)

简介: Linux编辑器vim(含vim的配置)

前言


本篇文章,小编将介绍Linux编辑器–>vim以及vim的配置。


vim的基本概念


  • 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

  • 插入模式(Insert mode)

-只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

  • 底行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入:help vim-modes


vim基本操作


进入vim

创建一个新的文件,如:text.c文件

通过指令 vim text.c即可进入vim界面


进入vim界面内你是无法进行编辑的,此时是正常模式,只有进入插入模式才可进行编辑


注意:在没有创建text.c文件的前提下,使用指令 vim text.c也是可以直接进入的。在退出的时候,如果直接退出,那么没有保存text.c文件,在当前目录下,是没有text.c文件的;如果在vim界面内保存退出,在当前目录下就可以看到text.c文件。


模式切换

刚刚说了,刚进入vim界面是无法进行编辑,处于正常模式,所有指令都是命令

  • 命令模式–>插入模式

输入a:进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字。

输入o:进入插入模式后,是插入新的一行,从行首开始输入文字。

输入i:进入插入模式后,是从光标当前位置开始输入文件。

如上图所示,按完i后,左下角会有一个-- INSERT --字样,表示已经进入插入模式,可以进行编辑。

  • 插入模式–>命令模式

按键盘左上角Esc键即可

注意:切换到命令模式都是按Esc

  • 命令模式–>底行模式

按下键盘shift+;,实际上就是:

如上图所示,有一个,表明已进入底行模式

  • 底行模式–>命令模式

按键盘左上角Esc键即可

注意:底行模式和插入模式之间无法切换


退出vim


vim界面有些特殊,鼠标都不起作用,那么如何退出呢?

首先进入底行模式,一下指令是退出操作:

  • : w (保存当前文件)
  • : wq (输入「wq」,存盘并退出vim)
  • : q! (输入q!,不存盘强制退出vim)


vim指令


vim命令模式指令

  • 移动光标


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

按「G」:移动到文章的最后

按「 $ 」:移动到光标所在行的“行尾”

按「^」:移动到光标所在行的“行首”

按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按「#l」:光标移到该行的第#个位置,如:5l,56l

按[gg]:进入到文本开始

按[shift+g]:进入文本末端

按「ctrl」+「b」:屏幕往“后”移动一页

按「ctrl」+「f」:屏幕往“前”移动一页

按「ctrl」+「u」:屏幕往“后”移动半页

按「ctrl」+「d」:屏幕往“前”移动半页


  • 删除文字


「x」:每按一次,删除光标所在位置的一个字符

「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符

「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符

「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符

「dd」:删除光标所在行

「#dd」:从光标所在行开始删除#行


  • 复制


「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

「#yw」:复制#个字到缓冲区

「yy」:复制光标所在行到缓冲区。

「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。


  • 替换


「r」:替换光标所在处的字符。

「R」:替换光标所到之处的字符,直到按下「ESC」键为止。


  • 撤销上一次操作
    「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回
    复。
    「ctrl + r」: 撤销的恢复
  • 更改

「cw」:更改光标所在处的字到字尾处

「c#w」:例如,「c3w」表示更改3个字

  • 跳到指定的行

「ctrl」+「g」列出光标所在行的行号。

「#G」:例如,「15G」,表示移动光标至文章的第15行行首


vim底行模式命令


  • 列出行号
    「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。
  • 跳到文件中的某一行
    「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
  • 查找字符

「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

  • 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

  • 保存文件
    「w」: 在冒号输入字母「w」就可以将文件保存起来
  • 离开vim
    「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
    「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。


简单vim配置


我们在vim下写代码,会有很多问题,如:无法自动缩进,不能补齐括号等问题,在编程中带来不便。为了解决这一问题,我们需要去配置一下我们的vim,这样才能使得vim使用起来更加方便。


配置项一般都放在用户家目录下的.vimrc文件中,.vimrc就叫做配置文件,家目录中如果没有这个文件可以自行创建一个touch .vimrc,然后可以将配置项写入.vimrc文件中。


在这里,向大家简单介绍几个常见的配置:

set nu//设置行号
syntax on//语法高亮
set showmode//底部显示当前处于什么模式
set cursorline//显示行号下划线
set shiftwidth=4//设置缩进的空格数为4
……

但是,有了这些配置依然远远不够,还需要安装插件。

下面给大家展示一下我的配置好的vim:

可以自动补齐,自动缩进等,和VS没什么太大差别啦

这里的自动化配置方案读者可以私信小编,小编将为大家提供。

目录
相关文章
|
2天前
|
Oracle Java 关系型数据库
Linux环境安装配置JDK11
Linux环境安装配置JDK11
19 0
|
2天前
|
Ubuntu Linux
Linux(Ubuntu)系统临时IP以及静态IP配置(关闭、启动网卡等操作)
请注意,以上步骤是在临时基础上进行配置的。如果要永久保存静态IP地址,通常还需要修改 `/etc/network/interfaces`文件,以便在系统重启后保持配置。同时,确保备份相关配置文件以防止出现问题。
13 1
|
3天前
|
人工智能 数据可视化 Linux
【linux基础(五)】Linux中的开发工具(上)---yum和vim
【linux基础(五)】Linux中的开发工具(上)---yum和vim
|
4天前
|
Ubuntu Linux 测试技术
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试(下)
Linux(32)Rockchip RK3568 Ubuntu22.04上部署 Docker: 详细配置与功能测试
35 1
|
4天前
|
运维 网络协议 Linux
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
Linux(28) Linux双网卡配置为连接到Linux主机的PC提供外网访问
31 1
|
4天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
28 0
|
4天前
|
Linux
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
Linux(9)Debain EC25 quectel-CM usbnet0开机自动联网配置
15 0
|
7天前
|
Linux 网络安全 开发工具
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
|
1月前
|
Linux 编译器 开发工具
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
119 1
|
4月前
|
Unix Linux Shell
Linux下vi与vim命令使用与区别
Linux下vi与vim命令使用与区别
97 0