文章目录
8.1、vi 和 vim
8.1.1 VI
vi
是
visual interface
的简称
,
是
linux
中
最经典
的文本编辑器
vi
的
核心设计思想
让程序员的手指始终保持在键盘的 核心区域
,
就能完成所有的编辑操作
vi
的特点
只能是编辑
文本内容
,
不能对 字体 段落进行排版
不支持鼠标操作
没有菜单
只有命令
vi
编辑器在
系统管理 服务器管理
编辑文件时
,
其功能永远不是图形界面的编辑器能比拟的
8.1.2 VIM
vim
是从
vi
发展出来的文本编辑器
,
支持
代码补全、编译 及 错误跳转
等方便编程的功能提别丰富
,
在程序
员中被广泛使用
,
被称为
编辑器之神
8.2 打开和新建文件
在终端中输入vim在后面跟上 文件名 即可
如果文件已经存在
,
会直接打开该文件
如果文件不存在
,
保存且退出时 就会新建一个文件
注意: 本节重点是 打开 和 新建文件, 其他命令后面会一一讲解
8.2.1 打开文件并且定位行
在日常工作中
,
有可能会遇到打开一个文件
,
并定位到指定行的情况
例如
:
在开发是
,
知道某一行代码有错误
,
可以 快速定位 到出错误代码的位置
这个时候
,
可以使用以下命令打开文件
提示: 如果只带上+ 而不指定行号, 会直接定位到文件末尾
8.3 VI三种工作模式
VI
有三种工作模式
1.
命令模式
打开文件首先进入命令模式
,
是使用
vi
的
入口
通过
命令
对文件进行常规的编辑操作
,
例如
定位 翻页 复制 粘贴 删除
... ...
在其他图形编辑器下
,
通过 快捷键 或者 鼠标 实现的操作
,
都在
命令模式
下实现
2.
末行模式
--
执行
保存 退出
等操作
要退出
vi
返回到控制台
,
需要在莫行模式下输入命令
末行模式
是
vi
的
出口
3.
编辑模式
--
正常的编辑文字
末行模式命令
8.4 常用命令
提示
:vi
命令较多
,
不要期望一下子全部都记住
,
个别命令忘记了
,
只是会影响编辑速度而已
在使用
vi
命令时
,
注意 关闭中文输入法
8.4.1 移动
要熟练使用
vi,
首先应该学会怎么在 命令模式下 快速移动光标 编辑操作命令 能够和移动命令一起使用
1)
上 下 左 右
2) 行内移动
3) 行数移动
4) 屏幕移动
8.4.2 移动(程序)
1)
段落移动
vim
中使用 空行 来区分段落
程序开发时
,
通常
一段功能相关的代码会写在一起
--
之间没有空行
2) 括号切换
在程序世界中, ()、[]、{}使用率很高, 而且 都是成对出现的.
8.4.3 选中文本(可视模式)
学习 复制 命令前
,
应该先学会
怎么样选中 要复制的代码
在
vi
中要选择文本
,
需要显示
visual
命令切换到
可视模式
vi
中提供了
三种
可视模式
,
可以方便程序员的选择
选中文本的方式
按
ESC
可以放弃选中
,
返回到
命令模式
可视模式下, 可以和 移动命令 连用, 例如 ggVG 能够 选中所有的内容
8.4.4 撤销和恢复撤销(保命指令)
在学习编辑命令之前,先要知道怎样撤销之前一次 错误的 编辑操作
8.4.5 删除文本
提示
:
如果使用 可视模式 已经选中了一段文本
,
那么无论使用
d
还是
x,
都可以删除选中文本
删除命令可以和移动命令连用
,
以下是常见的组合命令
:
8.4.6 复制和剪切
vi
中提供有一个 被复制文本的缓冲区
复制 命令会将选中的文字保存在缓冲区
删除 命令删除的文字会被保存在缓冲区
在需要的位置, 使用 粘贴 命令可以将缓冲对的文字插入到光标所在的位置
提示
:
命令
d
、
x
类似于图形界面的
剪切操作
-- ctrl + x
命令
y
类似于 图形界面的
复制操作
-- Ctrl + C
命令
p
类似于图形界面的
粘贴操作
-- Ctrl + v
vi
中的文本缓冲区只有一个
,
如果后续做过 复制、剪切操作
,
之前缓冲区中的内容会被替换
.
注意
vi
中的
文本缓冲区
和 系统的
剪切板
不是同一个
所以在其他软件中使用
Ctrl + C
复制的内容
,
不能再
vi
中通过
p
命令粘贴
可以在 编辑模式 下使用 鼠标右键粘贴
8.4.7 替换
R
命令可以进入
替换模式
,
替换完成后
,
按下
ESC
,
按下
ESC
可以回到
命令模式
替换命令
的作用就是不用进入
编辑模式
,
对文件进行
轻量级的修改
8.4.8 查找
常规查找
查找到指定内容之后
,
使用
Next
查找下一个出现的位置
n
:
查找下一个
N
:
查找上一个
如果不想看到高亮显示
,
可以随便查找一个文件中不存在的内容即可
单词快速匹配
在开发中, 通过单词快速匹配, 可以快速看到这个单词在其他位置使用过
8.4.9 查找并替换
在
vi
中查找和替换命令需要在
末行模式
下执行
记忆命令格式
1)
全局替换
一次向 替换文件中的 所有出现的旧文本
命令格式如下
2)
可视区域替换
先选中
要替换文字的
范围
命令格式如下
3)
确认替换
c confifirm
确认
如果把末尾的
g
改成
gc
在替换的时候
,
会有提示
!
推荐使用
命令格式如下
1.
y
-
yes
替换
2.
n
-
no
不替换
3.
a
-
all
替换所有
4.
q
-
quit
退出替换
5.
l
-
last
最后一个
,
并把光标移动到行首
6.
^E
向下滚屏
7.
^Y
向上滚屏
8.4.10 插入命令(重要)
在 vi 中除了常用 i 进入编辑模式 外, 还提供了一下命令同样可以进入编辑模式
演练 -- 编辑命令 和 数字连用
在开发中
,
可能会遇到连续输入
N
个同样的字符
例如
:
**********
连续
10
个星号
要实现这个效果可以在
命令模式
下
1.
输入
10
,
表示要重复
10
次
2.
输入
i
进入
编辑模式
3.
输入
*
也就是重复的文字
4.
按下
ESC
返回
命令模式
,
返回之后
vi
就会把 第
2
、
3
两步的操作重复
10
次
提示: 正常开发时, 在
进入编辑模式之前,不要按数字