vi/vim编辑器
vi是一种模式化的文本编辑工具
三种模式:
编辑模式
末行模式
插入模式
编辑模式 按a、i、o、A、I、O进入 插入模式 按esc退出
编辑模式 按shift+:进入 末行模式 按esc退出
末行模式和插入模式之间不能直接转换
编辑模式下:
yy 复制整行
p(小写) 粘贴到光标所在位置的下一行
P(大写) 粘贴到光标所在位置的上一行
nyy 复制n行
dd 剪切(删除)
ndd 剪切n行(删除n行)
d0 删除光标所在位置到所在行行首的内容
d$ 删除光标所在位置到所在行行尾的内容
dG 删除光标所在行到末行
dw 删除光标所在位置到词尾
h 光标左移
l 光标右移
j 光标下移
k 光标上移
H 光标移动到屏幕第一行的行首
L 光标移动到当前屏幕的最后一行
M 中间一行
ctrl+b 向上翻一屏
ctrl+f 向下翻一屏
ctrl+d 向下翻半页
ctrl+u 向上翻半页
G 定位到最后一行
nG 定位到n行
gg 定位到第一行
x 删除光标所在位置的那一个字符
u 撤销上一步操作(最多50步)
ctrl+r 撤销“撤销上一步操作”
. 重复上一步操作
查询功能:
输入/string string代表单词
n 向下跳转一个关键词
N 向上跳转一个关键词
替换功能:
R 进入替换模式,按esc键退出
r 替换一个字符后自动退出
插入模式:
a/i/o/A/I/O
末行模式:
w 保存
q 退出
wq 保存退出
q! 强制退出
wq! 强制保存退出
shift+zz 保存退出
!命令 执行系统命令
r !命令 读取命令的执行结果到文件中
r 文件路径 读取其他文件内容到此文件中
set nu 显示行号
set nonu 关闭显示行号
查找替换:
:起始行,结束行 s/被替换的内容/替换的结果/g 不加g只会替换每一行首个符合条件的内容
%全文
特殊替换:
s###g
:1,10 d 删除1-10行
:1,4 co 6 将1-4行复制到6行下
: set tabstop=4 设置首行缩进4个字符
vi的崩溃缓存机制
如果vi打开的文件没有正常关闭,则会在此文件的同位置下出现一个缓存文件,缓存文件的名字是:.文件名.swp
基于缓存文件来恢复原文件
同命令打开缓存文件
vi -r 缓存文件名
打开之后保存退出即可
用vi打开原始文件
确保恢复后,则删除缓存文件
vi的配置文件
~/.vimrc 每个用户有一个自己的配置文件,设置只对当前用户生效
/etc/vimrc 这个是全局的配置文件,对所有用户生效
手动加载配置文件
source 配置文件