文本处理工具-vim编辑器的常见用法


文本编辑工具分类:

(1)全屏编辑器:

nano(字符编辑器)、vi、vim

(2)行编辑器:

sed:可以逐行改文件

vi编辑器

全名:Visual editor,linux系统自带的文本编辑工具

vim编辑器

全名:Visual editor iMproved,vi的增强版(需要单独安装)

vim工具的命令的格式

格式:

vim [选项] file

选项:

-b: 以二进制的形式打开文件

说明:

  • 如果该文件存在,文件被打开并显示内容
  • 如果该文件不存在,当编辑后第一次存盘时创建它

vim的三种模式

(1)命令模式(默认)--- vim的核心功能

命令模式作用: 查看文件内容,只能移动光标和文本粘贴/剪切

(2)插入模式(编辑模式)

作用:文本的编辑,数据交互

(3)扩展命令模式(末行模式)

作用:执行命令

三种模式的转换:


命令模式的相关操作(操作不会在屏幕显示)

退出

  • 退出--- ZQ
  • 保存退出 -- ZZ

光标移动

行内移动:

  • 跳转到行首: 数字 0 (跳转到行首的第一个字符: ^(脱字符))
  • 跳转到行尾: $

行间移动:

  • 跳转到首行: gg
  • 跳转到指定行: 行号 G
  • 跳转到最后一行: G

字符编辑

剪切光标处的字符: x(剪切)
字母大小写转换 ~
剪切光标后面的字符
num X --- 删除光标处起始的num个字符

字符替换

r -- 替换一个字符
R -- 切换到replace模式 批量替换

字符删除

d 删除命令,可结合光标跳转字符,实现范围删除

  • 从光标处开始 删除到行尾 d$
  • 从光标处开始 删除到行首 d0。 删除到非空行首 d$
  • 删除光标所在行 dd
  • 删除双引号中间的内容: di "。 删除指定引号中间的内容: di 引号的一半

字符复制

  • y -- 实现复制操作
    例如: y0 --- 复制到行首
    复制到行尾 --- y$
    整行复制 -- yy --- 多行复制 num yy

查找

/关键字 向下搜索 --- n:继续往下搜索 N: 相反方向
? 关键字 -- 向上搜索 n:向上 N:向下

撤销

u
取消撤销: ctrl + r

可视化模式

v ”-- VISUAL -- “指示,表示在可视化模式 ctrl-v 面向块,-- VISUAL BLOCK --

范例:在某些行前添加一些固定的内容:

1、先将光标移动到指定的第一行的行首
2、输入ctrl+v 进入可视化模式
3、向下移动光标,选中希望操作的每一行的第一个字符
4、输入大写字母 I 切换至插入模式
5、输入 #
6、按 ESC 键
I 大写I 表示在当前光标所在行的行首输入

扩展的命令模式(末行模式)相关操作

保存退出

w q x !(表示强制)

位置定界

$ --- 最后一行
. --- 当前行
% -- 表示整个文件
num1,num2 -- 第几行到第几行(单独num -- 表示第几行)
例如删除第十行--十五行: 10,15 d

字符操作

删除 d
撤销 u
复制 y

set命令

行号显示:

set num
取消: set nonu

自动缩进:

set autoident 简写: set ai
取消: set noai

复制保留格式:

set paste
取消 set nopaste

显示不可见字符:

set list -- 可以用来区分tab键和空格键
^I:表示tab键 $:表示回车

高亮搜索(默认就是高亮):

set hlsearch
取消高亮简写: set nohl

更改文本格式:

set ff=unix|dos --- linux格式或者unix格式

搜索替换

s/xx/yy/ --- 斜线是分隔符,也可以使用其他的字符,比如@#%等符号

插入模式相关操作:

进入插入模式以后进行正常的数据交互

vim的配置文件

/etc/vimrc --- 针对所有人都有效
当前用户家目录: .vimrc --- 默认没有,需要手动建立 当前用户生效

其他文本处理工具