自学内容网 自学内容网

【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


原文地址:https://blog.csdn.net/2302_79031646/article/details/140646181

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!