【Linux】vim编辑器

简介: 【Linux】vim编辑器

要论Linux纯命令行下什么编辑器最得心应手?当属vim。要论Linux下哪个编辑器对新手极度不友好?当属vim。

为了更方便大家学习vim,我觉得有空可以去看看B站的一个视频:LINK

1.vim是什么?及其背景

有关vim的作者经历可以参考:LINK

vim是一款Linux下文本编辑神器,类似于我们Windows下的记事本,不过vim具有强大的可定制扩展功能,当然还有他那比较复杂的操作方式。

不同于我们平常用的office办公软件,虽然用起来有点冗余,但是全部是图形化界面什么功能只需要鼠标点击的方式进行,可谓是基本没什么使用学习成本却也提供了客观的功能。

vim是上世纪的产物,大概上世纪七八十年代,由Bram Moolenaar程序员写的。那个年代电脑初步发展,当时的电脑基本都是以命令行的形式进行控制的,没有现在这么方便的图形化界面。而且在当时操作系统、软件的发展也都处于萌芽状态,微软尝试做图形化界面也都是vim诞生十年后的事情了,我们的vim作者正值买回来了一台电脑,因为市面上没有或者说难以找到心仪的文本编辑器,Bram Moolenaar就自己动手写了一款文本编辑器,最开始是给自己用的,但是后来在一些程序员交流会上(当时一般程序员交流会都是线下)作者看到大多数程序员都有一些文本编辑的烦恼——没有趁手的文本编辑器…所以Bram Moolenaar也就把自己开发的软件贡献了出来。但当时来说vim还处于最初的版本,后来因为vim确实是比较好用(在当时来说),vim就靠着类似于U盘拷贝的方式在程序员界大受欢迎,用的人多了自然也就有人会对其进行改进为Bram Moolenaar提供改进建议,提供改进代码…还有人甚至把vim移植到了不同的操作系统上(当时没有Windows系统,都是一些比较古老的操作系统,彼此相对分割)。如此以来,在当初Unix系统的年代,为后来诞生的Linux系统提供了一个很好的文本编辑器,这也就是后来Linux诞生,大都预装了vim…当然这也解释了为什么vim的操作为什么那么复杂和复古,毕竟是半个世纪前的产物…

虽然说vim的年龄比较大(大概五十岁???),但是由于Bram Moolenaar等人的坚持维护和更新,在当今vim依然具有强大的功能和高度可拓展性,唯一的槽点就是学习成本比较高…

Vim的作者Bram Moolenaar直到2023年六月份都在维持对vim的更新,之后停更,原因是作者去世了。我认为不用太过担心,因为这个软件十分‘’畅销‘’,所以说肯定会有人继续去完成vim的更新工作,就当前的功能来说,vim功能已经十分强大了,肯定够用…

因为vim的操作比较复杂,下面仅仅介绍一些基本的常用命令。

2.vim操作与命令

一开始,vim默认进入的是命令模式,想要编辑内容,需要按i键进入插入模式进行编辑,按esc键回退到命令模式,按:键进入底行模式,输入wq!才可以进行保存退出。

  • 插入模式:编辑模式
  • 命令模式:允许使用者通过命令,来进行文本的编辑控制
  • n + yy 复制当前行
  • n + p 粘贴到下一行
  • u 撤销 ctrl + r 恢复
  • n + dd 剪切/删除指定行、连续的多行
  • 光标移动
  • shift + 4 = $ 光标定位到当前行的行尾
  • shift + 6 = ^ 光标定位到当前行的开始
  • gg 光标定位到整个文本的最开头
  • n + shift + g = G 光标定位到整个文本的最后一行
  • n + h 左 j 下 k 上 l 右
  • w 光标以单词为单位后移
  • b 光标以单词为单位前移
  • shift + ` = ~ 大小写快速切换
  • n + x 删除光标后续的字符
  • n + shift + x 删除光标之前的字符
  • n + r 对光标指定位置的字符进行替换
  • shift + r = R 进入替换模式
  • 底行模式:用来进行vim进行但不限于shell进行交互
  • w 保存
  • q 退出
  • wq 保存并退出
  • ! 强制
  • set nu\nonu 打开\去掉行号
  • / 关键字搜索
  • !command 不退出vim,可以进行shell命令的执行,常用函数查看
  • vs filename 分屏、多屏操作
  • ctrl + w + w 屏幕间切换

3.vim异常退出问题

当vim因为强制停止和掉网等原因异常退出时,vim默认会在当前目录下形成临时文件比如:xxx.swp

  1. ctrl + z + z 强制暂停 --> kill 进程
    a. ps ajx | grep vim 查看进程
    b. jobs 查看后端任务
    c. kill -9 对应进程 杀掉进程
  2. 直接关闭xshell 掉网
    a. 在当前目录下删除临时文件
    b. 在提示下删除临时文件

4.批量化注释和去注释

  1. 批量化注释
    a. ctrl v 进入视图模式
    b. hjkl 区域选择,常用j进行下翻
    c. shift + i = I 进入插入模式
    d. // 写上注释
    e. ESC 退出插入模式
  2. 批量化去注释
    a. ctrl v 进入视图模式
    b. hjkl 区域选择
    c. d 删除

5.vim配置

vim默认是比较难用的,写代码跟Windows上的记事本差不多,甚至不如Windows上的记事本好用…但是经过定制化的vim用习惯的情况下是十分好用的。

下面介绍一条一键配置vim的命令:

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

EOF

相关文章
|
11天前
|
Ubuntu Linux 测试技术
Linux系统之部署轻量级Markdown文本编辑器
【10月更文挑战第6天】Linux系统之部署轻量级Markdown文本编辑器
54 1
Linux系统之部署轻量级Markdown文本编辑器
|
2月前
|
Unix Linux 开发工具
在Linux中,有哪些基本的 Vim 命令?
在Linux中,有哪些基本的 Vim 命令?
|
15天前
|
存储 运维 搜索推荐
|
17天前
|
Java Unix Linux
Linux vi/vim
Linux vi/vim
17 5
|
16天前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
43 1
|
4天前
|
Unix Linux 开发工具
Linux Vim的 命令大全
Linux Vim的 命令大全
12 0
|
1月前
|
存储 Linux 编译器
linux中vim介绍以及常用命令大全
linux中vim介绍以及常用命令大全
68 8
|
2月前
|
搜索推荐 Linux 网络安全
Linux系统中的Vim编辑器
【8月更文挑战第21天】Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。它具有三种基本模式:命令模式,用于执行操作但不能编辑文本;插入模式,允许用户像常规编辑器那样输入文本;底线命令模式,用于保存、退出及查找替换等操作。Vim还支持多窗口编辑、宏录制及插件扩展等功能,并可通过配置文件个性化设置。因其高效性、良好的可移植性和远程编辑能力,Vim特别适用于开发者和系统管理员。
|
2月前
|
开发工具
vim编辑器常用命令
vim编辑器常用命令
77 1
|
2月前
|
Linux 开发工具
Linux vim编辑器
Linux vim编辑器
19 0