vim编辑器
vi编辑器(类似记事本):名字取为visual,是一个全屏幕的文本编辑器。
vim:vi的增强版,vim新增vi没有的功能,比vi好用。
安装
-
本地安装:系统中存在安装包,可能需要安装包的依赖包
-
在线安装:
sudo apt-get update 更新软件源
sudo apt-get install vim 安装vim
卸载
sudo apt-get remove 应用程序 卸载程序
vim三个工作模式
- 命令模式:用户输入内容当作指令处理(默认)
- 编辑模式:用户输入内容为编辑文件
i o a I O A
- 末行模式:文件保存和退出vim
: or /
vim使用
-
启动后,vim处于命令模式
-
系统命令输入vim,即可启动vim
vim
-
系统命令vim + 编辑文件,启动vim同时打开文件
打开文件后,光标处与开头
vim text.c
-
系统命令vim + 编辑文件+,启动vim同时打开文件
打开文件后,光标处与末尾
vim text.c
-
系统命令vim + 编辑文件 +n,启动vim同时打开文件
打开文件后,光标处与末尾
vim text.c +4
-
如果打开的文件不存在,则创建并打开(内存中)
-
vim退出
- 在编辑模式下:先
ESC
,英文输入法下shift:
组合输入:
q
: 文件不保存退出wq
: 保存并退出q!
: 强制退出,不保存wq!
: 强制保存,退出
命令模式进入编辑模式
i
: 输出字符在光标前a
: 输入字符在光标后o
: 在当前光标下新增空行,并定位到新行首I
: 跳转到当前行首A
: 跳转到当前行尾O
: 在当前光标上面新增空行,并定位到新行首
命令模式对文本进行编辑
-
光标行使用
gg
: 移动光标到第一行的开头(命令模式)G
: 移动光标到最后一行开头(命令模式):n
: 切换到n行 (末行模式)
-
光标列使用
$
: 移动到行尾(命令模式)0
: 移动到行首(命令模式)
-
列删除
x
: 删除光标位置一个字符 (命令模式)n x
: 当前光标位置及后面共n个字符(命令模式)X
: 删除光标位置左边一个字符 (命令模式)D
: 删除当前光标至行尾(命令模式)
-
行删除
dd
: 删除当前光标所在行(命令模式)n dd
: 删除当前光标后n行(命令模式)dG
: 删除当前光标后所有(命令模式):n1 , n2 d
: 删除n1到n2行(末行模式)
复制
- 列(字符)
- 命令模式,
v
进入可视方式,移动方向选中内容,再y
,完成复制
- 命令模式,
- 行(字符串)
yy
单行复制,复制当前行(命令模式)n yy
: 复制当前行及 后共n行(命令模式):n1 , n2 copy n
: 复制n1到n2 行,粘贴到n+1行 (末行模式)
粘贴
p
: 行粘贴在当前行下一行,字符粘贴在光标后(yy,nyy)P
: 行粘贴在当前行上一行,字符粘贴在光标前(yy,nyy)
撤销(后悔)
u
: 撤销上一步操作(命令模式)U
: 撤销当前 行所有操作(命令模式)CTRL + r
: 恢复已撤销操作(命令模式)
查找
-
:set ic
: 忽略大小写(末行模式) -
:set noic
: 敏感大小写(末行模式)必须在文本查找前操作
替换
-
/字符
: 光标处向后寻找 “字符” (末行模式) -
:%S /old/new
: 全文每一行第一个 old 替换成 new(末行模式) -
:%S /old/new/g
:全局替换 (末行模式) -
:n1 , n2 /old/new/g
:指定行替换(末行模式)
其他指令
:set nu
: 设置行号(末行模式):set nonu
: 不设置行号(末行模式)ctrl g
: 显示文件名,当前行号,总行数,位置百分比