Linux学习-12-Vim文本编辑器使用

在人生的道路上,不管是潇洒走一回,或者是千山独行,皆须是自己想走的路,虽然,有的人并不是很快就能找到自己的方向和道路,不过,只要坚持到底,我相信,就一定可以找到自己的路,只要找到路,就不必怕路途遥远了。

导读:本篇文章讲解 Linux学习-12-Vim文本编辑器使用,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

5 Vim文本编辑器

  • Vim 是一个基于文本界面的编辑工具,使用简单且功能强大。更重要的是,Vim 是所有 Linux 发行版本默认的文本编辑器,通过一些插件可以实现和IDE一样的功能,所以连vim官方网站 也说Vim是一个程序开发工具而不是文字处理软件。。
  • 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。但是目前我们使用比较多的是 vim 编辑器。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
  • Vim 和 Vi区别,vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 Vim 是 Vi 的增强版(在 Vi 的基础上增加了正则表达式的查找、多窗口的编辑等功能),使用 Vim 进行程序开发会更加方便。 vim 则可以说是程序开发者的一项很好用的工具。

可以在 Vim 命令模式下输入 :help vi_diff,即可看到关于两者区别的摘要。

在这里插入图片描述

5.1 Vim及其安装

  • Linux 系统中“一切皆文件”,当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器。可供选择的编辑器不止一种,例如 Vim、emacs、pico、nano 等,很多人都找到了自己所喜爱的编辑器,我们主要要知道对文本编辑器的功能(如查找、编辑,保存、剪切和粘贴)

  • Vim文本编辑器,是由 vi 发展演变过来的文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。因其具有使用简单、功能强大、是 Linux 众多发行版的默认文本编辑器等特点

  • Vim 的安装:Linux 发行版系统,通常都已经默认安装好了 vi 或 Vim 文本编辑器,Centos 也不例外,该系统就默认安装有 vi 文本编辑器。

如果在命令行模式下输入“vim”,输出结果为“Command not found”,则表示此系统中未安装 Vim。
  • CentOS 系统中,使用如下命令即可安装 Vim:
yum install vim		#注意,此命令运行时,有时需要手动确认 [y/n]
#省略手动输入“y”的过程,希望全自动安装
yum -y install vim
  • 当命令行中输入“Vim”显示如下文本,视为 Vim 安装成功。
~                                                                         
~                           VIM - Vi IMproved                             
~                                                                         
~                            version 8.0.1763                             
~                        by Bram Moolenaar et al.                         
~                   Modified by <bugzilla@redhat.com>                     
~              Vim is open source and freely distributable                
~                                                                         
~                     Help poor children in Uganda!                       
~             type  :help iccf<Enter>       for information               
~                                                                         
~             type  :q<Enter>               to exit                       
~             type  :help<Enter>  or  <F1>  for on-line help              
~             type  :help version8<Enter>   for version info              
~                                                                   

5.2 Linux Vim三种工作模式(命令模式、输入模式和底线命令模式)

  • Linux 系统中所有的内容都以文件的形式进行存储,当在命令行下更改文件内容时,常会用到文本编辑器。使用 Vim 编辑文件时,存在 3 种工作模式,分别是命令模式、输入模式和底线命令模式,这 3 种工作模式可随意切换.
    在这里插入图片描述
  • Vim的命令模式:启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。此模式下,可使用方向键(上、下、左、右键)或 k、j、h、l移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。使用以下命令可以进入输入模式:
    | 快捷键 | 功能描述 |
    | —— | ———————————————————— |
    | i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动 |
    | I | 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令 |
    | o | 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本 |
    | O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
    | a | 在当前光标所在位置之后插入随后输入的文本 |
    | A | 在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行a命令 |

CentOS 7.x 系统中 Vim 处于命令模式的状态示意图:
在这里插入图片描述

  • Vim的输入模式:在输入模式下,Vim 可以对文件执行写操作,类似于在 Windows 系统的文档中输入内容。当编辑文件完成后按 Esc 键即可返回命令模式。

  • 在输入模式中,可以使用以下按键:

    • 字符按键以及Shift组合,输入字符
    • ENTER,回车键,换行
    • BACK SPACE,退格键,删除光标前一个字符
    • DEL,删除键,删除光标后一个字符
    • 方向键,在文本中移动光标
    • HOME/END,移动光标到行首/行尾
    • Page Up/Page Down,上/下翻页
    • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
    • ESC,退出输入模式,切换到命令模式
  • Vim 处于输入模式状态下的示意图,在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。
    在这里插入图片描述

  • Vim 的底线命令模式:使Vim 切换到底线命令模式的方法是在命令模式状态下按“:”键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。底线命令模式用于对文件中的指定内容执行保存、查找或替换等操作。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

底线命令模式指令执行后 Vim 会自动返回命令模式。如想直接返回命令模式,按 Esc 即可。

  • Vim 进入底线命令模式后的状态,这个时候,键盘上除了 Esc 这个按键之外,:? / w q都是常用的字符。
    在这里插入图片描述

因切换模式而不知自己在那个模式可以多按几次 Esc 键后听到”嘀————”的声音,则代表你已经处于命令模式了

5.3 Linux Vim基本操作(文件的打开和编辑)

5.3.1 Vim 打开文件
  • 使用 Vim 在命令行模式下打开一个自己编写的文件或使用 vim 来建立一个名为 demo2.txt 的文件时,你可以这样做:
[root@CncLucZK test]# vim + demo2.txt 
#直接输入 vi 文件名 就能够进入 vi 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!

在这里插入图片描述

all是当前窗口显示的内容在这个文件中的占比,如果只有一半,那么all那里就是50%

  • 若要编辑一个新文件,则进入命令模式后会指出这是一个新文件
[root@CncLucZK test]# vim new.txt    #如果文件不存在,就创建新文件,文件存在就修改文件。
                                                                              
~                                                                                          
~                                                                                          
"new.txt" [New File] 				#若要修改一个文件发现打开的是一个新文件,那么说明文件找错了

可以利用下表中打开文件的命令格式,针对特定情形使用适当的打开方式

Vi 使用的选项 说 明
vim filename 打开或新建一个文件,并将光标置于第一行的首部
vim -r filename 恢复上次 vim 打开时崩溃的文件
vim -R filename 把指定的文件以只读方式放入 Vim 编辑器中
vim + filename 打开文件,并将光标置于最后一行的首部
vi +n filename 打开文件,并将光标置于第 n 行的首部
vi +/pattern filename 打幵文件,并将光标置于第一个与 pattern 匹配的位置
vi -c command filename 在对文件进行编辑前,先执行指定的命令
5.3.2 使用 Vim 进行编辑
  • Vim输入模式 :从命令模式可以按下 I、i、O、o、A、a 等键来进入输入模式进行编辑,使用不同的键,光标所处的位置不同。
快捷键 功能描述
i 在当前光标所在位置前插入随后输入的文本,光标后的文本相应向右移动
I 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令
o 在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O(大写) 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a 在当前光标所在位置之后插入随后输入的文本
A 在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行 a 命令
[Esc] 退出编辑模式,回到命令模式中(常用)
  • Vim 查找文本:在底线命令模式输入以下命令进行查找字符
快捷键 功能描述
/abc 从光标所在位置向后查找字符串 abc
/^abc 查找以 abc 为行首的行
/abc$ 查找以 abc 为行尾的行
?abc 从光标所在为主向前查找字符串 abc
n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /abc 去向下搜寻 abc 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?abc 的话,那么按下 n 则会向上继续搜寻名称为 abc 的字符串!
N 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /abc 后,按下 N 则表示『向上』搜寻 abc 。

使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词!

  • 在 /test/demo1.txt 文件中向后查找字符串 “?123”,
    在这里插入图片描述
    如果在文件中并没有找到所要查找的字符串,则在文件底部会出现 “Pattern not found” 提示
    在这里插入图片描述

注意的是,要查找的字符串是严格区分大小写的,如查找 “demo” 和 “Demo” 会得到不同的结果。

如果想忽略大小写,则输入命令 “:set ic”;调整回来输入”:set noic”。

如果在字符串中出现特殊符号,则需要加上转义字符"\"。常见的特殊符号有 \、*、?、$ 等。如果出现这些字符,例如,要查找字符串 “6$”,则需要在命令模式中输入 "/6\$"

在这里插入图片描述

  • Vim 替换文本
快捷键 功能描述
r 进入取代模式(Replace mode):替换光标所在位置的字符一次
R 进入取代模式(Replace mode):从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,R会一直取代光标所在的文字。按“Esc”可以结束
:s/a1/a2/g 将当前光标所在行中的所有 a1 用 a2 替换
:n1,n2s/a1/a2/g 将文件中 n1 到 n2 行中所有 a1 都用 a2 替换
:g/a1/a2/g 将文件中所有的 a1 都用 a2 替换

取代模式,在 vi 画面的左下角处会出现『–REPLACE–』的字样,想要在档案里面输入字符时, 一定要在左下角处看到 INSERT 或 REPLACE 才能输入.

将demo2.txt文件中所有的 “123” 替换为 “789”,则有两种输入命令,分别为:

vim 测试
vim 测试
hello world
789007$
vim 测试 
vim 测试
hello world
789456
hello world
789456
vim 测试:
hello world
789456
~                                                                          
~                                                                         
:1,$s/123/789/g	或者是:%s/123/789/g		#该命令在底线命令模式下操作的,表示的是从第一行到最后一行,即全文查找 "123",然后替换成 "789"。如果刚才的命令变成 :3,10 s/123/789/g,则只替换从第 3 行到第10 行的 "123"。
  • Vim删除文本:直接在命令模式,移动光标在某文本处键入以下快捷键进行删除操作
快捷键 功能描述
x, X 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用)
nx n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。
dd 剪切游标所在的那一整行(常用),用 p/P 可以粘贴。
ndd n 为数字。剪切光标所在行(包括此行)的向下 n 行,例如 20dd 则是剪切 20 行(常用),用 p/P 可以粘贴。
dG 删除光标所在行一直到文件末尾的所有内容
d1G 删除光标所在到第一行的所有数据
d$ 删除游标所在处,到该行的最后一个字符
d0 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符
D 删除光标位置到行尾的内容
:a1,a2d 函数从 a1 行到 a2 行的文本内容
c 重复删除多个数据,例如向下删除 10 行,[ 10cj ]
dw 删除一个单词(配合b:将光标置于所在单词的首部)

注意,被删除的内容并没有真正删除,都放在了剪贴板中。将光标移动到指定位置处,按下 “p” 键,就可以将刚才删除的内容又粘贴到此处。
在这里插入图片描述

  • Vim复制和粘贴文本,同样在命令模式进行操作
快捷键 功能描述
p 将剪贴板中的内容粘贴到光标下一行
P(大写) 将剪贴板中的内容粘贴到光标上一行
y 复制已选中的文本到剪贴板
yy 将光标所在行复制到剪贴板,此命令前可以加数字 n,可复制多行
nyy n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用)
yw 将光标位置的单词复制到剪贴板,配合p:粘贴
y1G 复制游标所在行到第一行的所有数据
yG 复制游标所在行到最后一行的所有数据
y0 复制光标所在的那个字符到该行行首的所有数据
y$ 复制光标所在的那个字符到该行行尾的所有数据
J 将光标所在行与下一行的数据结合成同一行
  • Vim其他常用快捷键:某些情况下,可能需要把两行进行连接。比如说,下面的文件中有两行文本,现在需要将其合并成一行(实际上就是将两行间的换行符去掉)。可以直接在命令模式中按下 “J” (大写)键。
    在这里插入图片描述

如果不小心误删除了文件内容,则可以通过 “u” 键来撤销刚才执行的命令。如果要撤销刚才的多次操作,可以多按几次 “u” 键。

5.3.3 Vim 保存退出文本
  • Vim 的保存和退出是在底线命令模式中进行的,其常用命令如下表所示。

    命令 功能描述
    :wq 保存并退出 Vim 编辑器
    :wq! 保存并强制退出 Vim 编辑器
    :q 不保存就退出 Vim 编辑器
    :q! 不保存,且强制退出 Vim 编辑器
    :w 保存但是不退出 Vim 编辑器
    :w! 若文件属性为『只读』时,强制保存文本。不过,到底能不能写入, 还是跟档案的档案权限有关
    :w filename 另存到 filename 文件
    x! 保存文本,并退出 Vim 编辑器,更通用的一个 vim 命令
    ZZ 大写的 Z,直接退出 Vim 编辑器。如果修改过,保存当前文件,然后退出!效果等同于(保存并退出)
    ZQ 不保存,强制退出。效果等同于 :q!
    :w [filename] 将编辑的数据储存成另一个档案(类似另存新档)
    :r [filename] 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
    :n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。
    :! command 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如 『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!

注意的是,“w!” 和 “wq!” 等类似的指令,通常用于对文件没有写权限的时候(显示 readonly),但如果你是文件的所有者或者 root 用户,就可以强制执行。

如何粘贴,用vim打开那个文件后,该文件不存在,所以vim会自动创建。按一下字母”i”然后同时按shift + Insert 进行粘贴(或者单击鼠标右键即可),前提是已经复制到剪切板中了。

vim 环境的变更 底线命令模式下使用
:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号
:set nonu 与 set nu 相反,为取消行号!

5.4 Vim移动光标快捷键汇总

  • Vim 文本编辑器中,最简单的移动光标的方式是使用方向键,但这种方式的效率太低,更高效的方式使用快捷键。Vim 移动光标常用的快捷键及其功能如下面各表所示,需要注意的是,表中所有的快捷键都在命令模式(默认状态)下直接使用。

  • Vim快捷方向键:

快捷键 功能描述
h或 向左箭头键(←) 光标向左移动一位
j或 向下箭头键(↓) 光标向下移动一行(以回车为换行符),也就是光标向下移动
k或 向上箭头键(↑) 光标向上移动一行(也就是向上移动)
l或 向右箭头键(→) 光标向右移动一位
[Ctrl] + [f] 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
[Ctrl] + [b] 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
[Ctrl] + [d] 屏幕『向下』移动半页
[Ctrl] + [u] 屏幕『向上』移动半页
+ 光标移动到非空格符的下一行
光标移动到非空格符的上一行
n 空格键 那个 n 表示『数字』,例如10。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 10 则光标会向后面移动 10 个字符距离。
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符

hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 “30j” 或 “30↓” 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可!

  • Vim光标以单词为单位移动:可能需要光标迅速移动至一行中的某个位置,将光标以单词为单位进行移动就会很方便。
快捷键 功能描述
w 或 W 光标移动至下一个单词的单词首
b 或 B 光标移动至上一个单词的单词首
e 或 E 光标移动至下一个单词的单词尾
nw 或 nW n 为数字,表示光标向右移动 n 个单词
nb 或 nB n 为数字,表示光标向左移动 n 个单词
  • Vim光标移动至行首或行尾
快捷键 功能描述
0 或 ^或功能键[Home] 光标移动至当前行的行首
$或功能键[End] 光标移动至当前行的行尾
n$ 光标移动至当前行只有 n 行的行尾,n为数字
  • Vim光标移动至指定字符:一行中,如果需要将光标移动到当前行的某个特点字符,则可以使用如下的快捷键。
快捷键 功能描述
fx 光标移动至当前行中下一个 x 字符处
Fx 光标移动至当前行中下一个 x 字符处
  • Vim光标移动到指定行
快捷键 功能描述
gg 光标移动到文件开头
G 光标移动至文件末尾
nG 光标移动到第 n 行,n 为数字
:n 底线命令模式下使用的快捷键,可以将光标快速定义到指定行的行首
n <回车> n 为数字。光标向下移动 n 行(常用)
  • Vim光标移动到匹配的括号处:程序员在编辑程序时,经常会为将光标移动到与一个 “(” 匹配的 “)” (对于 [] 和 {} 也是一样的)处而感到头疼。Vim 里面提供了一个非常方便地査找匹配括号的命令,这就是 “%”。将光标定位到与 “{” 相对应的 “}” 处,则可以将光标先定位在 “{” 处,然后再使用 “%” 命令,使之定位在 “}” 处,

5.5 Linux Vim撤销和恢复撤销快捷键用法

  • 对文件内容做了修改之后,却发现整个修改过程是错误或者没有必要的,想将文件恢复到修改之前的样子。

  • 将文件内容恢复之后,经过仔细考虑,又感觉还是刚才修改过的内容更好,想撤销之前做的恢复操作。

  • Vim 编辑器提供了撤销和恢复撤销的命令,如表 1 所示。

快捷键 功能
u(小写) undo 的第 1 个字母,功能是撤销最近一次对文本做的修改操作。
Ctrl+R Redo 的第 1 个字母,功能是恢复最近一次所做的撤销操作。
U(大写) 第一次会撤销对一行文本(光标所在行)做过的全部操作,第二次使用该命令会恢复对该行文本做过的所有操作。
. 小数点!重复前一个动作。 想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用)

这个 u 与 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次

注意,以上这 3 种命令都必须在 Vim 编辑器处于命令模式时才能使用。

  • 打开vim demo2.txt文本内容,输入以下内容
hello world!
123456abcdef
ABCDEFGH
~
  • 然后按“Esc”键,使 Vim 由输入模式转为命令模式,在此基础上,通过 u(小写)命令就可以使文本内容恢复到上一次输入操作之前的样子,其中“上一次”的含义是,恢复操作是可以叠加的,即按一次就会在现有基础上做一次恢复操作。
hello world!
123456abcdef
~        
  • 继续操作该文件,按一次 u,会发现其文本内容变为:
hello world!
123456
~
  • 同样,恢复撤销的操作和撤销操作是相对应的,通过按 Ctrl+R 组合键,可以撤销之前所做的一次恢复操作。例如,继续操作 该文件,按一次 Ctrl+R,会发现其文本内容恢复为:
hello world!
123456abcdef
~  
  • 再按一次 Ctrl+R,文本内容又恢复为:
hello world!
123456abcdef
ABCDEFGH
~
  • U(大写)的功能和之前的 2 个命令不同,它的作用是撤销或恢复撤销对光标所在行文本所做的全部操作。比如,我们对 该文件内容做如下修改:
hello world!
123456abcdef
12345ABCDEF
  • 在此基础上,如果在命令模式下键入 U(大写),可以看到,之前对第 3 行所做的 修改,全部被恢复了:
hello world!
123456abcdef
ABCDEF

  • 如果此时再键入 U(大写),则又会恢复之前对第 3 行文本做过的全部操作:
hello world!
123456abcdef
12345ABCDEF

5.6 Linux Vim选择模式及其用法

  • 在图形界面的操作系统中的文字编辑器,用户可以使用鼠标来选择要操作的文本,非常方便。在 Vim 编辑器中也有类似的功能,但不是通过鼠标,而是通过键盘来选择要操作的文本。在 Vim 中,如果想选中目标文本,就需要调整 Vim 进入块选择模式,如下表 所示,通过在 Vim 命令模式下键入不同的键,可以进入不同的可视化模式。

    命令 功能
    v(小写) 又称字符选择模式,此模式下目标文本的选择是以字符为单位的,也就是说,该模式下要一个字符一个字符的选中要操作的文本。
    V(大写) 又称行选择模式,此模式化目标文本的选择是以行为单位的,也就是说,该模式化可以一行一行的选中要操作的文本。
    Ctrl+v(组合键) 又称块选择模式,该模式下可以选中文本中的一个矩形区域作为目标文本,以按下 Ctrl+v 位置作为矩形的一角,光标移动的终点位置作为它的对角。
  • 以字符可视化模式为例,Vim 成功进入该模式的标志是窗口底部出现 –VISUAL– 标志,
    在这里插入图片描述

相应地,进入行选择模式的标志 标记处显示 –VISUAL LINE–;进入块选择模式的标志是标记处显示 –VISUAL BLOCK–。

注意:当选中文本并做完相应操作(例如选中文件并按 p 键将其复制到剪贴板中)后,Vim 会自动从选择模式转换为命令模式。当然,也可以再次按 v(或者 V、Ctrl+v)手动退出选择模式。

  • Vim 命令模式下编辑文本的很多命令,在选择模式下仍然可以使用。下表列出了常用的几个可以在可视化模式下使用的命令。
命令 功能
d 删除选中的部分文本。
D 删除选中部分所在的行,和 d 不同之处在于,即使选中文本中有些字符所在的行没有都选中,删除时也会一并删除。
y 将选中部分复制到剪贴板中。
p(小写) 将剪贴板中的内容粘贴到光标之后。
P(大写) 将剪贴板中的内容粘贴到光标之前。
u(小写) 将选中部分中的大写字符全部改为小写字符。
U(大写) 将选中部分中的小写字符全部改为大写字符。
> 将选中部分右移(缩进)一个 tab 键规定的长度(CentOS 6.x 中,一个tab键默认相当于 8 个空白字符的长度)。
< 将选中部分左移一个 tab 键规定的长度(CentOS 6.x 中,一个tab键默认相当于 8 个空白字符的长度)。

5.7 vim 中批量添加注释

方法一 :块选择模式

批量注释:

Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 //#,输入完毕之后,按两下 ESCVim 会自动将你选中的所有行首都加上注释,保存退出完成注释。

取消注释:

Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出

方法二: 替换命令

批量注释。

使用下面命令在指定的行首添加注释。

使用名命令格式: :起始行号,结束行号s/^/注释符/g(注意冒号)。

取消注释:

使用名命令格式: :起始行号,结束行号s/^注释符//g(注意冒号)。

例子:

1、在 2 – 4 行添加 // 注释,注意:注释符//与#的互操作

:2,4s#^#//#g

2、在 2 – 4 行删除 // 注释

:2,4s#^//##g

3、在 2 – 4 行添加 # 注释

:2,4s/^/#/g

4、在 2 – 4 行删除 # 注释

:2,4s/#//g

5.8 vim快捷键补充(插入模式)

  • 输入模式:

    • 自动补全:ctrl + n(在一个新行或下个单词处补全内容是文档中已经出现的字符,这个字符会以空格相隔为一个单位)
    • \p< 插入一个include,并把光标置于<>中间
    • \im 插入主函数
    • \ip 插入printf,并自动添加**\n**,且把光标置于双引号中间
  • vim快捷键补充(插入与编辑模式通用)

    1. \rr 运行程序
    2. \rc 保存并编译程序(会生成二进制文件)

参考文献:
Linux Vim三种工作模式(命令模式、输入模式和编辑模式)详解
Linux vi/vim

下一篇:Linux学习-13-Linux文本处理命令(cat、more、head、less、tail、grep)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/123779.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!