linux vi/vim 编辑器学习总结

很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统。项目部署时通常需要更改一些配置操作,比如环境地址更换,系统挂载,docker 镜像修改等,这时候我们就需要用一款编辑器来修改代码。

vi/vim

在所有的类 Unix 系统中都会内建 vi 编辑器,其他的编辑器则不一定会存在。vim 是从 vi 发展出来的一个文本编辑器,命令众多,代码补全等方便编程的功能特别丰富,使用非常广泛。

vim官网对 vim 的解释:

Vim is a highly configurable text editor for efficiently creating and changing any kind of text. It is included as "vi" with most UNIX systems and with Apple OS X.

Vim 是一个高度可配置的文本编辑器,用于有效地创建和更改任何类型的文本。它作为 “vi” 包含在大多数 UNIX 系统和 Apple OS X 中。

vi/vim 的使用方法

vim 分为三种模式:

  • 命令模式
  • 输入模式
  • 底线命令模式

vim <filename> 命令,将进入 vim 命令模式,如果没有该文件,将新建该文件。

命令模式

启动 vi/vim 编辑器,默认进入命令模式。这时候敲击键盘被认为是命令,而不是字符。

命令模式下,可使用:

  • 复制:yy 和 nyy, yy 复制光标所在的那一行,n 表示数字,3yy 表示复制光标所在的及其向下的 3 行。
  • 粘贴:p 表示将复制的内容粘贴到光标所在的下一行。P 表示将复制的内容粘贴到光标所在的上一行。
  • 复原(撤销):u 表示撤销上一步命令,相当于 Windows 下的 ctrl + z, Mac 下的 command z
  • 重复:ctrl + r 表示重复撤销前的上一个命令, 相当于 Windows 下的 ctrl + shift + z, Mac 下的 command + shift + z
  • 删除:在一行字符中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键)。
  • 行删除:dd 和 ndd, dd 删除光标所在的那一整行, ndd 删除光标所在的及其向下的 n 行。

输入模式

在命令模式下按下 i/I, 或 a/A, 或 o/O (字母 o/O) 就进入输入模式。如果是在底行命令模式下,就先按下 esc 键进入命令模式,在按下 i/I, 或 a/A, 或 o/O (字母 o/O) 就进入输入模式。

输入模式中,可使用:

  • 字符按键,Shift + 字符按键组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,(或 fn + BACK SPACE)删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END (或 fn + 左方向键/fn + 右方向键),移动光标到行首/行尾
  • Page Up/Page Down (或 fn + 上方向键/fn + 下方向键),上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。如果是在输入模式下,就先按下 esc 键进入命令模式,在按下:(英文冒号)进入底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。如:

  • w 保存文件
  • q 退出程序
  • 0 数字 0, 将光标移动到该文件的第一个字符处
  • $ 将光标移动到该文件的最后一行处
  • ESC 键可随时退出底线命令模式,回到命令行模式

vi/vim 的使用实例

下面使用 Mac 的 iTerm2 来演示和说明。

准备

首先新建 “vim编辑器学习总结”文件夹,然后进入该文件夹 mkdir vim编辑器学习总结 && cd vim编辑器学习总结

然后新建文件 “test.txt” touch test.txt,然后使用 vim 编辑器打开该文件,vim test.txt

也可以直接使用 vim 编辑器打开一个文件,如果该文件不存在,将会创建它。

下面使用一个事先准备好的文件docker-compose.yml来演示命令。

底行命令模式实例

这时候输入 : 就进入底行命令模式,输入 $ 就到了最后一行。

命令模式实例

然后输入 esc 便进入命令模式,这时候我想要复制当前行和下面一行

ports:
- 58000:8000

再粘贴到当前行的下面,于是就出现了

ports:
ports:
- 58000:8000
- 58000:8000

这时候敲击 u 就撤销了上一步粘贴,敲击 ctrl + r 就复原了上一步粘贴。 这时候敲击 i 便进入了输入模式

输入模式实例

在输入模式下,可以输入除 esc 以外的任意字符。

可以在输入模式下输入任意字符,输入 esc 就会退出输入模式,进入命令模式,输入 :wq! 就会强制保存然后退出 vim 编辑器。

linux vi/vim 编辑器学习总结的更多相关文章

  1. Linux vi/vim编辑器常用命令与用法总结

    (一)vi/vim是什么?Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便. ...

  2. $Linux vi/vim编辑器常用命令与用法总结 (Markdown编辑版)

    vi/vim是什么? Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便.vi ...

  3. Linux vi/vim编辑器

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  4. 【Linux学习】Vi / Vim编辑器—编辑器工作模式、vi编辑操作

    Vi / Vim编辑器-编辑器工作模式.vi编辑操作 推荐一个很好的学习指南:http://www.oschina.net/translate/learn-vim-progressively 一.编辑 ...

  5. 【转】Linux上vi(vim)编辑器使用教程

    Linux上vi(vim)编辑器使用教程 ------------------------------------------------------------ ikong ------------ ...

  6. Linux系统Vi/Vim编辑器的简单介绍、安装/卸载、常用命令

    Linux系统Vi/Vim编辑器的简单介绍.安装/卸载.常用命令 1.介绍 vi(Visual Interface)编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界 ...

  7. Linux随笔 - vi/vim 编辑器显示行号

    显示行号 1. 打开vi 编辑器 2. 输入  :set number 3. 回车 关闭行号显示 1. 打开vi 编辑器 2. 输入  :set nonumber 3. 回车 行号在每次打开 vi/v ...

  8. vi/vim编辑器的基本操作

    vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准备(下载gvim ...

  9. windows下vi/vim编辑器的基本操作

    windows下vi/vim编辑器的基本操作 Contents 1. 工具准备(下载gvim) 2. vi/vim基本入门 2.1. 安装 2.2. 基本使用 3. vi/vim基本命令表 1 工具准 ...

随机推荐

  1. windows jenkins dotnet core 自动化构建webapi

    jenkins环境搭建好 注意一下几点: - 需要安装git - 需要安装dotnet core sdk环境 - 遇到这里报错,提示 Repository URL 错误的话,如果确实没有配置错误,重启 ...

  2. SDU暑假排位第一场 (Gym - 100889)

    啊今天有点挂机啊 D题和队友暴力后发现一组数据跑得飞快 然后遇上1e5组数据就没了..... 然后我疯狂优化暴力 然后去世了 最后半小时F也没写出来 主要还是最后有点慌并且没有考虑清楚 导致情况越写越 ...

  3. 字典树(Trie)学习笔记

    目录 什么是字典树 如何存储字典树 如何查找字符串有没有出现 第一个图的那种线段树 应用 例题 1.统计难题 2.P2580 于是他错误的点名开始了 什么是字典树 上图来自luogu题解 这是一种字典 ...

  4. 2019 NOIP 夏令营(模拟赛1)

    一来到夏令营,第一天上机就考试, 哎,简直不让人活了 这难道是给我们的见面礼??? A https://www.luogu.org/problemnew/show/P1197 #include< ...

  5. 【UVA1057】Routing

    [UVA1057]Routing 题面 洛谷 题解 有一个比较好想的dp就是\(f_{i,j}\)表示第一个点在\(i\),第二个点在\(j\)的最小点数,但是直接搞不好转移. 考虑建出反图,那么\( ...

  6. Linux 和 windows下查看运行命令的位置

    经常遇到要查看某个命令的运行文件在哪儿! 比如说vue cli,经常使用vue命令创建项目,如果你对nodejs的全局包安装目录了解可能一下就找到了, 蛋疼的是不一定每个命令都是nodejs下的,有可 ...

  7. Debian 环境安装新版 nginx

    在 Debian 系统中,我们可以通过 apt-get 安装系统自带的 nginx,这样安装的 nginx 版本略旧.Nginx 官网提供了一些编辑绎好的 deb 安装包,我们只需更新安装源,就可以通 ...

  8. win10 关闭开机密码

    在运行对话框里输入:netplwiz 控制面板(control)>电源选项>更改计算机休眠时间-选为 从不

  9. Logback的基本使用方法

    一.Logback简介 Logback是由log4j创始人设计的又一个开源日志组件. 1.logback当前分成三个模块:logback-core,logback- classic和logback-a ...

  10. 使用uiautomator2自动化测试app(二)------操作篇

    提示: 1. 推荐使用python3以上的版本来进行开发 2. 手机使用安卓手机,版本最好不要太老,一根数据线 3. 安装虚拟机(博主使用雷电) 操作: 这里只简单的介绍一些uiautomator2的 ...