三合一网站管理系统,外链兔,wordpress 移动端检查,深圳工程建设公司Linux vi/vim | 菜鸟教程 https://zhuanlan.zhihu.com/p/602675406 Linux Vim编辑器的基本使用_vim文本编辑器-CSDN博客 这里提出使用 vi / vim 进行简单的编辑操作的原因#xff0c;主要是在容器镜像中#xff0c;普遍都是使用这个。 在 linux 服务器应用场景#x… Linux vi/vim | 菜鸟教程 https://zhuanlan.zhihu.com/p/602675406 Linux Vim编辑器的基本使用_vim文本编辑器-CSDN博客 这里提出使用 vi / vim 进行简单的编辑操作的原因主要是在容器镜像中普遍都是使用这个。 在 linux 服务器应用场景vi / vim 也是默认标配的命令行编辑器 当然那些对输入速度有严格要求的场合比如黑客对抗场景输入速度慢了就意味着失败也会选择 vi。 在多数的场景里对于命令行编辑器可能会有更多、更好的选择。比如micro Micro - Home $ sudo apt install micro 思考
1. 记忆公式 按键操作的 7 字真言 1 鱼爱返 说 温泉啊 v i Esc : wq ! ----------- 一般的简单用途只需记住 7 字真言中说的 7 个按键的作用和用法就行了v i Esc : wq ! 。 一般人只是用来修改配置文件而已不是用来全职写程序所以只需要掌握 7 字真言即可这是学习 vi/m编辑器入门的主轴线。 在有些场景里只有发行版镜像、且里面只有 vi / vim没有网络这也就更有用了。 现在个人觉得 micro 更好用但由于历史原因vi / vim 是 linux 发行版的标配 ------ vi /vim 命令的用法对于一般人来说太复杂了完全可以当成是一种小众的人类通用语言来学习。 vimhelp .org computerhope .com 只是对于一般的程序员来说花费太多的时间在这上面值的吗毕竟伴随者时代的进步已经有了许多更加简便的代码编辑器了。 也就是那些以追求输入速度达到极致的黑客们所不得不采用的工具吧这是黑客帝国的通用语言吧 操作系统的核心编程都是黑客们的工作成果。骇客们不可能为了普通人去改变习惯的。所以作为普通程序员也是需要学习最基础的用法可以去改改配置文件之类的就足够了吧 按键操作的两种 7 字真言对比 分读型 7 字真言 1鱼爱返 说 温泉啊 v i Esc : wq !拼读型 7 字真言 2维奥返 说 温泉啊 vi ao Esc : wq ! 维 vi , 奥 ao ------------ v : 以可视模式进入浏览编辑主窗口。可以执行复制、粘贴之类的编辑操作但不能输入用户的内容。 ------------ 进入到数据输入子窗口通常有 3 种命令 i : 插入光标前一个字符。 a插入光标后一个字符。 o向下新开一行插入行首。 注以 i a o 进入数据输入子窗口可以输入用户的内容但不可编辑。 注 1Esc 键很重要当我们不打算清楚当前在哪个窗口的时候就按它一下返回到主窗口当然按多几下也没有关系。 注 2a o : 其实也可以不需要记忆在进入编辑子窗口之后通过 4 个方向键就可以实现这两个操作了只是稍微多按了一次方向键而已。因此分读型 7 字真言 1才是主要的。 . 注 3数据输入子窗口 与 浏览编辑主窗口 窗口的区别 a. 一般现在的图形界面编辑器比如office, gedit 等等用户的数据输入和编辑排版都是在同一个窗口下完成的。 但是在命令行菜单界面实现起来是困难的或者说就算实现了在使用上也是困难的因为如果这样的话普通字母就不能简单地作为编辑排版的功能字母来使用了势必要增加许多功能字母与普通字母的组合才能完成 vi 那么多的按键功能。 b. 因此数据输入子窗口就是给专门给用户输入数据的。末行子窗口嵌入在该窗口的底部平时是隐藏的。 c. 浏览编辑主窗口除了浏览功能之外还具有编辑的功能比如复制粘贴删除行块等等的诸多功能。 按键操作的补充说明 鱼 爱 返 v i Esc # v 表示同中语拼音“鱼”i 表音“爱”Esc 表示“返回 /退出”。冒号 ( : ) : # 表示“说”。温 泉 w q # w 表音“温”q 表音“泉”。感叹号 ( ! ) ! # 感叹号 ( ! ) 表示“啊”。------------回车键4 个方向键记住它们不需要用脑的 其实可以再归纳为
vi /vim 编辑器包括 3 种终端窗口 数据输入子窗口 以 i \a \o 方式进入用户的数据在这里只能输入数据。不能对文本进行编辑如不能进行复制、粘贴之类的操作。浏览编辑主窗口 以 v 方式进入用于浏览以及对文本进行编辑。用户可以对文本进行复制、粘贴之类的编辑操作。帮助提示主窗口 用于提示以及执行有效的命令进入到其他子窗口。 ---- 这个窗口相当于在打开网站的真正主页之前跳出来的一个警告页面。只在第一次单纯的 vi / vim 软件启动时才会、且只会出现一次。末行子窗口 : 西文冒号。主要用于命令的输入结束退出其他的等等命令。对应于底行命令模式存在于主窗口底部的末行位置。虽然末行子窗口平时是隐藏的但是和其他窗口一样它也是一个具有独立个性的。 说明 1. 浏览编辑主窗口和帮助提示主窗口以下简称为 主窗口。 2. 可以忽略不计的帮助提示主窗口只有一次实际寿命的、只在第一次单纯启动 app 时才会有菜单提示帮助。 3. Esc 是返回主窗口的万能按键。所有进入到子窗口的命令在任意一个子窗口下按 Esc 都会返回到主窗口包括在该窗口下按的 Esc。因此多按 Esc 按键是没有问题的。 4. 只有在主窗口下输入有效的命令才会进入到子窗口。一般只要懂得 v i 即可就是软件的名字。 特别注意在中文输入状态造成了命令输入的无效。 末行窗口被内嵌在主窗口的底部末行的位置平时是隐藏起来的。 输入冒号可以调出的末行子窗口。末行子窗口总是嵌在其他窗口的底部从而造成了在理解上的困难其实就是 UI 设计中的 bottom bar平时隐藏使用冒号来叫出。主窗口相当于网站的主页只有在主页状态下才有通向子网页的链接。因此只有 Esc 回退到主页场景才能使用快捷键命令、进入到其他子窗口。 就像是公交车从 A 到 B 没有公交从 A 到 B 必须要回到总站转车才行。wq! 属于在末行窗口里的菜单通过按键输入符号来调用。 一些常用命令 在浏览编辑主窗口下可以进行的文本编辑操作 注数据输入子窗口主要就是用来输入用户数据的吧 ------ Ctr-d:向下翻半屏 Ctr-u向上翻半屏 gg:光标移动文件开头 G光标移动文件末尾 ------ dd 删除光标所在行 ndd 删除指定的行数 :n1,n2d 删除n1到n2行 ------ 撤销命令 u一步一步撤销 ctr-r反撤销 ------ yy 复制当前行。 p/P 粘贴已剪切的内容 – 进入命令行模式按 “p” 将剪切的内容粘贴到光标所在行的下一行。 – 进入命令行模式按 “P” 将剪切的内容粘贴到光标所在行的上一行。 注复制、粘贴爽歪歪记忆法歪屁歪歪屁。 yy p/P歪歪小屁贴在光标的下一行大屁则贴在上一行。歪歪之后可移动光标到想要的行号位置再放屁 ------ 行号在末行命令窗口输入 :set nu 显示行号 :set nonu 取消显示行号 注nu number ------ /string 向光标之下寻找一个名称为string字符串 ?string 向光标之上寻找一个名称为string字符串 vim 典型的命令流ggVG y p gg将光标移动到文件的第一行。如果这里按 yy 以下连续操作则是选中当前行到文件末。 V 进入可视行模式。 G 移动光标到文件的最后一行。 y 按下 y 复制选中的内容 p : 粘贴 d : 删除选中 ------------ 每一个字母代表一个意思多个连续的字母流就变成了一句话。 单个字母可以看成是一句特殊构造句子。 每一句话就代表了不同的意思不同的操作。 再容器镜像里基本上都是用 vi 或 vim。 多行注释 移动到要注释的起始行。 进入可视行模式按下 Shift V。 移动光标选择要注释的行。 按下 : 进入命令行模式。 输入 s/^/# 可加空格再按下 Enter。 注这个命令提示符号有点怪。 一般人难以记忆的太多的命令 Vim: intro.txt Visual mode and ranges https://www.computerhope.com/unix/vim.htm
You can select text with Visual mode. If you then press : to start a colon command, you will see this: :, Now you can type the command and it will be applied to the range of lines that was visually selected.
Note: When using Visual mode to select part of a line, or using Ctrl-V to select a block of text, the colon commands will still apply to whole lines.
The and are actually marks, placed at the start and end of the Visual selection. The marks remain at their position until another Visual selection is made. Thus you can use the command to jump to position where the Visual area started. And you can mix the marks with other items: :,$ This addresses the lines from the end of the Visual area to the end of the file.
Vims visual mode #
When editing text with Vim, visual mode can be extremely useful for identifying chunks of text to be manipulated.
Vims visual mode has three versions: character, line, and block. The keystrokes to enter each mode are:
Character mode: v (lower-case)Line mode: V (upper-case)Block mode: Ctrlv
On the bottom left of your Vim window, you will see either -- VISUAL --, -- VISUAL LINE -- or -- VISUAL BLOCK -- to indicate which visual mode you are in.
可视化模式分为三种字符、行、块。 vim常用命令--visual模式下粘贴、复制_vim visual模式 复制-CSDN博客 2. 区别
省略说明这里所有的窗口都是指终端窗口所以可以将“终端”这 2 个字省略掉了。 终端窗口终端型菜单与内容显示的界面。
“鱼爱返”v i Escv i 分别对应于 可视、插入 这 2 个窗口。Esc 表示从子窗口返回由于所有的返回都是返回到主窗口包括在主窗口场景下所按下的 Esc 按键所以 Esc 按键也可以看作就是主窗口。
冒号 ( : )末行命令窗口。在插入模式下无法调出末行命令窗口因为这时它表示的是所输入的冒号字符。末行命令窗口只内嵌在可视窗口和主窗口的末行位置因此只有在这两个窗口模式下输入才能有效地切换到末行命令窗口。
“温泉啊“ w q ! 表示 vi 结束退出的 3 种主要方法写入文件退出强制退出。
抓住主干不拘小节
终端命令行菜单显示窗口与 GUI 图形窗口的类比4 个终端窗口对应于 4 个不同GUI 图形窗口或者说是 4 个不同的网页。 只有一个主网页在主页中有通往所有 子网页 的导航按钮。 在子网页里只有返回到主页的导航按钮。这个导航按钮是相同的都是 Esc 按键。 要想从一个子网页跳转到另一个子网页必须回到主页因为只有在主页中才有通往子网页的导航按钮。
终端窗口的好处
黑客之间的相互对抗需要速度快。同样水准的黑客速度慢时就会沦为失败者。但是大多数甚至是绝大多数的编程场合真的也需要这么快的速度吗
就像打字那样大多数的人使用拼音输入法就可以了。但是作为专门依靠打字赚钱的人来说就需要用五笔字形之类的输入法了因为输入快就是赚钱多。
用得到的命令才是生产力。用不到的命令就是浪费时间的垃圾。
vi / vim 的命令是实在是太多了。在需要时再看也不迟吧 在网络上有太多的网文金子淹没在一大堆的沙石里。今天看了明天忘了为了自己的记忆所以就写了这篇文章以备忘。
在容器中使用 vi / vim 是一种好的选择
如果不是为了使用容器那么估计我也不会太在意 vi 毕竟它学了、很快就又忘记了因为我不是依靠打字来生存的。
哪怕在容器中安装像 gedit 这种轻量的图形界面编辑器都要下载一大堆依赖。当有些依赖没有被下载到时App 在使用中就会出现一些莫名其妙的问题甚至是无法启动。
容器的一个特征之一
就是类似于将原生的 Linux 发行版在删除了绝大部分的依赖改变了原生 OS 的运行方式以及配置之后得到的一个类似于可以在 VirtualBox 虚拟机上运行的 Livecd ISO但是容器是可读写的类似与 linux slan os 发行版但它不能在 VirtualBox 中运行而是在所谓的容器引擎中运行。 在运行的容器就相当于是电脑运行中的一个进程一个普通的 App所以它很轻量在底速配置的电脑上也能飞快地运行。 3. 通过对简单网站的网页导航进行类比说明原理
主窗口 相当于 主网页
一个简单的网站只有 1 个主页3 个子网面外加一些杂七杂八的东西。 1. “命令模式” 子窗口 - Insert Mode 相当于 网站的主页 home。网页的总入口 App 的主菜单。要的2. “可视模式” 子窗口 - Insert Mode 相当于 网站中不可编辑的、只能浏览的子网页。3. “编辑模式” 子窗口 / Visual Mode相当于 网站中用户可以向网页中输入信息的、可交互的子网页。 4. “末行模式” 子窗口 / Command-Line Mode 相当于 网站中用户在完成网页信息的填写之后、还要勾选几个的选项比如勾选同意条款 1 23 之类的然后才能按“提交”按钮。 回车键4 个箭头的方向建这些不需要用脑来记忆了吧
附加说明 “回车“按键 / Enter相当于 网站中的“提交“按钮。Esc 相当于 在网站中所有的子网页都有只有一个直接“返回到主页“的菜单导航按钮以下简称按钮。 只有主页 home “命令模式” 才有直接跳转到各个子网页的按钮。跳转的导航规则没有从一个子网页 可以直接转到 其他子网页 的按钮。要想从一个子网页跳转到另一个子网页必须返回到主网页 home 然后再从主页上、去选择到底要点击哪一个子菜单的按钮。 开始进入到文件在 OS 的终端里输入如下命令vi 文件名 表示用 vi 这种应用软件来编辑 / 或新建一个文件这个文件的名字就是 vi 命令后面用“文件名”所代表、称谓的文件。即将完成收尾阶段“末行模式” 子窗口在底部的末行位置当冒号出现时输入的命令才有效。:wq! what is :wq!
: 冒号是必须的只有这样其后的字母才会被解释为是命令。w : write 表示写入文件命令。只有 :w 时表示只写入但不退出。q : quit 表示退出。只有 :q 时表示退出但不写入。! : 感叹号表示强制。为什么需要感叹号但文件被改动了是不允许直接退出的否则所有的工作就白费了。
结束退出的条件正在运行中的 vi / vim 编辑器想要退出是有条件的 1. 要么是文件没有被改变 :q。 2. 要么是存盘之后再退出 :wq 3. 想要退出但又不想存盘时就要采用“强制” :wq! 或 :q! 表示存盘后强制退出或 不存盘强制退出。 x. :q 退出退不出 :q! 强制退出成功了。啊啊啊黄了、黄了没有存盘白干了。 wq! 这 3 个字符就有好几种的有效组合。vi / vim 的命令全部都是 ASCII 编码的拉丁字母与符号。26 个字母就是 26 进制的数学计数系统而已拉丁语单词本质上就是一个可变长度的优选数值而已根据单词的造型和发音来作为其选择的主要依据之一。 备注
1. 入门、或者个人简单运维的用途只需要记住鱼 爱 返 v i Esc 。
2. vi / vim 编辑器的命令是非常多的那是给专门使用 vi 作为日常工作编辑器的古董级、或黑客级的程序员使用的。 可能大多数的程序员并不会去使用它因为从总的用时来看一般使用图形界面的编辑器并不见的会比使用单纯的命令行编辑器效率会低
3. 当我们只想要简单地使用 vo /vim 时v i Esc : 鱼爱返说这 4 个精华按键被淹没在命令字符的海洋里。
4. 为什么要学习 vi / vim 当需要使用容器时在容器里是可以安装一个大型的编辑器的但是这可能需要浪费不少的流量、磁盘空间、精力、时间寿命等等。
5. 为什么要使用容器在 Linux 的世界里App 的跨发行部跨大版本号的使用实在是困难的。
6. 那为什么要 App 软件进行跨平台使用呢因为需要使用所以就要采用。自己造轮子吗这可能会浪费更多的人生寿命阿。
7. 需要掌握但又不想浪费过多的时间于是就有了 7 字真言鱼爱返 说 温泉啊 v i Esc : wq !
8. 它别注意在有些官方仓库里可能只有 vim而没有 vi但它们的大部分甚至是绝大部分的命令都是相同的。 App 窗口图的说明
vim 运行开始界面 工作及窗口切换框架 示例 2 刚刚打开文件时的界面 vim 文件名 子窗口 子网页注意看左下角的提示。 按错了按键一般没有关系看准左下角的提示就行。 问题记录
当打开没有权限、或只读型的文件时出现警告 此时如果处在中文输入状态则会出现无法进入菜单窗口的问题。