【Linux】vim 操作指令详解

Linux

  • [1 what is vim ?](#1 what is vim ?)
  • [2 vim基本概念](#2 vim基本概念)
  • [3 vim的基本操作 !](#3 vim的基本操作 !)
    • [3.1 vim的快捷方式](#3.1 vim的快捷方式)
      • [3.1.1 复制与粘贴](#3.1.1 复制与粘贴)
      • [3.1.2 撤销与剪切](#3.1.2 撤销与剪切)
      • [3.1.3 字符操作](#3.1.3 字符操作)
    • [3.2 vim的光标操作](#3.2 vim的光标操作)
    • [3.3 vim的文件操作](#3.3 vim的文件操作)
  • 总结
  • Thanks♪(・ω・)ノ感谢阅读
  • 下一篇文章见!!!

1 what is vim ?

我们先来了解 vi ,

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于 x window、 mac os、windows。

vim相当于是vi的升级版 , vim具有程序编辑能力,可以主动以字体颜色标识语法的正确性,方便代码编写 ,程序简单,编辑速度非常快
综上所述 这是一个老式的文字处理工具,但是功能很齐全,不仅是文本处理工具,还是一个程序编辑工具

最重要的是 vim 生态丰富,使用起来十分方便。

2 vim基本概念

vim具有主要有三个模式(vim具有非常多的模式):
命令模式 底行模式 插入模式

1. 命令/正常模式 (Normal mode):
   控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
2. 插入模式 (Insert mode):
	只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是使用的最频繁的编辑模式。
3. 末行模式(last line mode)
	文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入


(我的vim配置过了,界面略有不同)

3 vim的基本操作 !

我们了解vim之后,下一步就要学习如何使用这个实用工具。

我们分两个部分来详细讲解,如同windos的鼠标与键盘快捷方式。

3.1 vim的快捷方式

3.1.1 复制与粘贴

vim中的复制粘贴操作:

yy 复制当前行
n + yy 连续复制 n 行
p 粘贴到光标下一行
n + p 粘贴 n 次

来看看具体操作效果:

(复制粘贴这里就不放动图了,图片挺直观)

效果比Ctrl c 、Ctrl v更强大!

3.1.2 撤销与剪切

vim 中的撤销剪切操作:
u 撤销操作
dd 剪切 / 删除 指定行
n + dd 剪切 / 删除 n 行

来看看操作效果:
撤销

剪切 / 删除

剪切/删除 n 行

3.1.3 字符操作

vim 中的字符操作:

shift + ` 切换大小写
n + x 删除 光标后 n 个字符 (一行内)
n + shift + x 删除 光标前 n 个字符 (一行内)
n + r 光标位置进行指定切换 一次可替换多个
shift + r 进入 替换模式 直接进行文本替换

来看看操作效果

切换大小写

删除字符

替换字符

3.2 vim的光标操作

这里如同鼠标一样灵活操作。

vim 中的光标操作:

shift + 4 = $ 光标移动到当前行的结尾
shift + 6 = ^ 光标移动到当前行的开头
gg 移动光标到文本开头
shift + g 移动光标到文本最后一行
n + shift + g 移动光标到文本第 n 行
h j k l 左 下 上 右 移动光标
w 以单词为单位向后移动光标
b 以单词为单位向前移动光标

来看看操作效果:

移动到行开头 / 结尾

移动到文本开头 / 结尾

上下左右移动光标

以单词为单位移动

3.3 vim的文件操作

文件操作是在底行模式下进行的保存,编译 ,强制等操作。
w 保存
q 退出
!强制进行操作
vs filename 多文件分屏操作
!command 不退出vim 进行 shell 指令操作

来看看操作效果:

保存退出


分屏操作

总结

vim 的操作我只介绍了一部分,还有许多等待大家探索!!!

Thanks♪(・ω・)ノ感谢阅读

下一篇文章见!!!

相关推荐
Ljw...1 小时前
进度条(倒计时)Linux
linux
xjjeffery1 小时前
进程的环境
linux·c语言·后端
深度菜鸡-达闻西1 小时前
服务器开通个人账户
运维·服务器
两仪式quq1 小时前
docker常见命令
运维·docker·容器
yufei-coder2 小时前
掌握C#核心概念:类、继承、泛型等
服务器·开发语言·c#
四次元的lucly2 小时前
vscode 内网不联网如何导入vscode插件
ide·vscode·编辑器
凌云行者2 小时前
使用rust写一个Web服务器——多线程版本
服务器·前端·rust
DB_UP2 小时前
Xshell7下载及服务器连接
运维·服务器
浊尘2 小时前
在Kali Linux VNC服务器上安装RDP服务
linux·运维·服务器
EterNity_TiMe_2 小时前
【Linux进程间通信】Linux匿名管道详解:构建进程间通信的隐形桥梁
linux·运维·redis·缓存·性能优化·学习方法