简单来说, vim
是一种纯文字编辑器,是从 vi
发展出的增强版,而 vi
是从 ex
发展出的视觉化文字编辑器, ex
又是从 ed
发展出的增强版。 以上这些工具都是在 Unix / Unix-Like 作业系统上的纯文字编辑器。
早期,当人们还在用电传打字机作为电脑的终端机时,由於无法即时更新画面,因此皆是使用如 ex
/ ed
的 line-oriented editor,一次编辑一行,并且只有在使用者下指令时才会将该行印出。
当人们陆续开始使用显示器作为终端机时,由於画面可以即时更新了,line-oriented editor 的使用体验不在令人满意, vi
也随之诞生。 vi
延伸了 ex
的功能,但同时实现了视觉化编辑的功能,或称为 screen-oriented editor。 vi
能够在萤幕上呈现文本,并透过游标在文本中自由移动,选择欲修改的位置。 vi
大幅提升了编辑文本的体验,成为诸多 Unix / Unix-Like 发行版上预设的纯文字编辑器。
最後, Vi IMproved (vim
) 是 vi
的增强版,增加了更多强大的功能,例如 auto-completion 、 syntax highlight 等等利於程序开发的功能,还能够撰写 plugin 进一步扩充功能,至今仍是最多工程师使用的纯文字编辑器之一。
.swp
、 .swo
、 .swn
的隐藏档案,在 vim 意外中断时,这些备份档案可以用於还原尚未储存的变更。
flag
档案时,第一次会生成 .flag.swp
的备份档案,若 .flag.swp
存在(例如已经有一次意外中断,或者有另一外使用者已开启此档案),则会生成 .flag.swo
,第三次则会产生 .flag.swn
vim -r <.档名.要的备份档>
的指令ls -al
cat <.档名.目标备份档>
# Create Folder
sudo mkdir /var/www/html/vim && cd /var/www/html/vim
# Take ownership
sudo chown -R "$(whoami)" .
# Edit File with VIM
vim index.php
# Save Empty file
:w
# Enter Insert Mode
i
# Type flag
FLAG{caec56b46ae54987465ee1231dfff}
# Enter Normal Mode
<ESC>
# Wait a minute (wait for vim write the modification into swap file)
# Suspend vim
<Ctrl>z
# Kill vim
kill -9 %
# 有时候可能因为版本、设定的原因,备份档可能权限为600,也有可能是644
# 让网页可以读取的权限,至少要让 other 拥有 r 的权限
chmod o+r .index.php.swp
存取 .index.php.swp
,由於非纯文字档,浏览器一般会直接下载下来。
使用 vim -r
还原档案
什麽是Flutter 正如第一篇文章所说的 Flutter 是一个「框架」,可以用来开发跨平台原生的...
前言 那 JavaScript 中有一个东西叫做闭包 (Closure),Python 也会有吗?所...
此篇会简单介绍 FlexBox,以及 flex container 的排列方向设置、对齐设置技巧。 ...
在前一天我们知道了 Design System 为什麽出现、它试图解决的问题和一些使用上的 Min...
嗨大家好~我是凯西!接下来是我开学的三十天实力增进计画的纪录 规划上会刷leetcode加强我的py...