【Linux取经路】基础开发工具——vim篇

简介: 【Linux取经路】基础开发工具——vim篇

42e71c12464f438597e0769d143172a2.gif前言:

 今天给大家分享的工具是 vim。vim是一款强大的 文本编辑器,他有多种编辑模式,所以也叫 多模式编辑器,它的前身是vi。vim兼容vi的所有指令,并且在vi的基础上添加了一些新的特性。例如:语法加亮、可视化操作也可以运行在x windows、mac os、windows。

一、vim的基本概念

 先给大家介绍一下vim常用的三种模式:正常/普通/命令模式、插入模式、底行模式。

1.1 正常/普通/命令模式

 控制屏幕光标移动,字符、字或行的删除,移动复制某区段以及进入插入模式,或者到底行模式。

1.2 插入模式

只有在插入模式下,才可以做文字的输入,按Esc键可回到命令行模式。该模式是应用最频繁的模式。

1.3 底行模式

 文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,按shift + ;其实也就是:。

小Tips:要查看你的所有模式:打开vim,底行模式直接输入help vim-modes。

二、vim的基本操作

2.1 进入vim

 在系统提示符后面输入vim及文件名称,就进入vim全屏幕编辑画面。

注意:如果vim后面的文件名不存在,也会进入到vim全屏幕编辑画面,写入退出后,会在当前目录下生成一个新文件,直接退出不会形成一个新文件。

指令:

  • vim test.c
  • 50847c77edf94acfbcce2b593cacbfbf.png
  • 输入上面的指令,点击回车,看到的结果如果和上图一样,左下角出现NORMAL,说明你就成功的用vim打开了test.c这个文件,当前所处的模式就是命令模式,在命令模式下,用户输入的所有内容都被当做命令,所以当前点击键盘,不会以文本的形式显示出你所敲的字符,要想显示你所敲的字符,需要切换到插入模式,所以,下面让我们来看看,如何进行模式之间的切换。

2.2 模式切换

⟦命令模式⟧切换至⟦插入模式⟧

 从命令模式切换到插入模式,可以输入a或o或i,它们三个区别在于:进入插入模式后光标所在的位置不同。

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

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

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

de8765c9cb644e87bcde69a0bf489b3b.png

左下角出现INSERT说明切换成功。

⟦插入模式⟧切换至⟦命令模式⟧

  • 点击键盘上的Esc键就可以退出到命令模式。(所有模式退到命令模式都是这样)

⟦命令模式⟧切换至⟦底行模式⟧

  • 点击shift + ;,其实就是输入:。

2.3 退出vim

  • 在底行模式下,输入w保存当前文件,输入q退出vim。
  • wq:保存并退出vim。
  • q!:不保存,强制退出vim。

三、命令模式命令集

3.1 移动光标

gg:定位光标到最开始行(第一个文本所在的地方)

G或shift + g:定位光标到最结尾行(第一个文本所在的地方)

n+G:n是任意数字,定位光标到任意行(第一个文本所在的地方)

$:定位光标到当前行最后一个文本

^:定位光标到当前行第一个文本

w、b:光标按照单词进行行内或跨行移动(也可可以配合n使用,一次跨越n个单词)

h、j、k、l:以字符为单位进行左、下、上、右移动

3.2 复制/粘贴

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

n+yy:n是任意数字,从光标当前行开始,复制n行

p:将缓冲区中的字符贴到光标所在行的下一行位置

n+p:n是任意数字,将缓冲区中的字符粘贴n份

小Tips:所有与yy有关的复制命令都必须与p配合才能完成。

3.3 撤销

  • u:回到上一个操作,按多次,可执行多次恢复
  • ctrl+r:对撤销的恢复

3.4 剪切/删除

dd:dd完如果不p的话,那就是删除,如果p的话就是剪切

x:删除光标所在位置的字符

n+x:n是任意数字,删除从光标位置开始的n个字符

X:删除光标所在位置的前面一个字符

n+X:n是任意数字,删除光标所在位置的前n个字符

3.5 更改

  • shift+~:快速更换大小写
  • r:替换光标所在字符,点击r后,再点击期待替换的字符
  • n+r:n是任意数字,把从光标位置开始的n个字符全部替换成目标字符
  • R:替换光标所到之处的字符,知道按下Esc键为止(其实这就是替换模式

四、底行模式命令集

4.1 多文本操作

  • vs 文件名:实现多文件分屏
  • ctrl+w+w:实现光标在分屏多文件之间的切换,光标在哪个窗口里面,就对哪一个窗口进行操作

4.2 保存/退出

  • w:保存
  • w!:强制保存
  • q:退出
  • q!:强制退出
  • wq:保存并退出
  • wq!:强制保存并退出

4.3 命令执行

  • !:在底行模式下执行命令

4.4 调出行号

  • set nu:调出行号,在文件每一行前面列出行号
  • set nonu:取消行号

4.5 跳到文件的某行

  • n:n是任意数字,输入一个数字在点enter,就会跳到文章对应的行

4.6 查找字符

  • /关键字:先输入/,在输入你先更要查找的字符,如果第一次找的不是你想要的,可以一直按n,会继续往后寻找你想要的
  • ?关键字:输入?,在输入你先更要查找的字符,如果第一次找的不是你想要的,可以一直按n,会继续往后寻找你想要的

五、配置vim

 未经配置的vim,在插入模式下写代码的时候,没有任何语法提醒,也没有自动补全功能,使用起来比较笨重。要实现在写代码的时候给出提示,需要我们自行对vim进行配置。

5.1 配置文件的位置

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

示例:

 在.vimrc文件中什么配置项都没写入的情况下,使用的就是最原生的vim。


90f2ccf56fc542d287f63b142946a977.gif

给配置文件中加入,调出行号的选项set nu

ee3946f009214a45a01d32ebe1ff15c6.png

此时再用vim打开文件,就可以看见,文本每一行的前面都有了行号。

55a0ed7403434b1faabaced476295cdd.png

以上就是配置vim的基本原理,即:将自己所需要的配置项,写入配置文件.vimrc中就行。

 在每一个用户自己家目录下配置的vim不会影响的其他普通用户,只对当前用户有效。而在/ect/目录下的.vimrc属于系统公共的vim配置文件,对所有用户都有效,一般不建议对公共的配置文件进行修改,各用户根据自己的喜好,在自己的家目录下进行配置就好。

5.2 常见的vim配置项

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

 更多的配置项,可以自行在网上搜索。自己配置显然是比较麻烦地。

5.3 自动化配置

这里提供一种自动化配置vim的方案,仅需一条指令就可以把你的vim给配置好,需要的下伙伴可以后台私信我,手把手教你配置好vim。从此以后你的vim就可以实现:自动补全、头文件补全、语法诊断、跳转到变量/函数定义, 跳转到头文件、函数查找、文件列表、文件查找等功能。下面给大家展示下在配置后的vim中敲代码。

a8ea10d6a70a4094985460316a8ab88a.gif

 今天的分享到这里就结束啦!如果觉得文章还不错的话,可以三连支持一下,您的支持就是春人前进的动力!

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
4月前
|
Unix Linux 开发工具
在Linux中,有哪些基本的 Vim 命令?
在Linux中,有哪些基本的 Vim 命令?
|
1月前
|
自然语言处理 运维 开发工具
深入探讨了 NeoVim 相较于传统 Vim 的优势,包括更好的扩展性、现代化的界面和用户体验、多语言编程支持、强大的异步处理能力、更好的协作支持、持续的更新和改进、活跃的社区以及与现代开发工具的集成
本文深入探讨了 NeoVim 相较于传统 Vim 的优势,包括更好的扩展性、现代化的界面和用户体验、多语言编程支持、强大的异步处理能力、更好的协作支持、持续的更新和改进、活跃的社区以及与现代开发工具的集成。通过命令对比,展示了两者在启动、配置、模式切换、移动编辑、搜索替换、插件管理、文件操作、窗口缓冲区管理和高级功能等方面的差异。总结部分强调了 NeoVim 在多个方面的显著优势,解释了为什么越来越多的运维人员选择 NeoVim。
38 3
|
2月前
|
存储 运维 搜索推荐
|
2月前
|
Java Unix Linux
Linux vi/vim
Linux vi/vim
25 5
|
2月前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
59 1
|
2月前
|
Unix Linux 开发工具
Linux Vim的 命令大全
Linux Vim的 命令大全
27 0
|
3月前
|
存储 Linux Shell
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
这篇文章介绍了Vim编辑器的基本使用、常用命令和模式,以及Linux系统中用户和组的管理方法,包括用户和组相关文件如/etc/passwd、/etc/shadow和/etc/group的说明。
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
|
3月前
|
存储 Linux 编译器
linux中vim介绍以及常用命令大全
linux中vim介绍以及常用命令大全
87 8
|
4月前
|
搜索推荐 Linux 网络安全
Linux系统中的Vim编辑器
【8月更文挑战第21天】Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。它具有三种基本模式:命令模式,用于执行操作但不能编辑文本;插入模式,允许用户像常规编辑器那样输入文本;底线命令模式,用于保存、退出及查找替换等操作。Vim还支持多窗口编辑、宏录制及插件扩展等功能,并可通过配置文件个性化设置。因其高效性、良好的可移植性和远程编辑能力,Vim特别适用于开发者和系统管理员。
|
4月前
|
Linux 开发工具
Linux vim编辑器
Linux vim编辑器
30 0