vim文本编译器
纯键盘操作的,在终端下可以使用的一款文本编译器,可配置、可扩展、可编程的成长型神器,在远程登录其他计算机时也可以使用。
vim具有强大的功能,也支持再次编程,因此把它称为成长型编译器,也有人把它叫作编辑器之神
vim的基本用法:
vim 文件名 文件不存在则创建,如果文件存在则打开,此时只能阅读不能编辑,输入i可以进行编辑文件,编辑完之后按Esc
再输入ZZ则可退出。
vim的三大模式:
- 正常模式:阅读、修改文件
- 插入模式:对文件进行插入和编辑
- 行底模式:执行命令和对vim进行设置
vim的模式切换:
- 正常模式 ->(输入i)插入模式
- 插入模式 ->(按Esc或ctrl+c)正常模式
- 正常模式 ->(输入:)行底模式
- 行底模式 ->(按Esc或ctrl+c)正常模式
- 插入模式与行底模式不能直接切换,必须经过正常模式中转。
vim的正常模式:
-
进入插入模式:
i 在光标前进入插入模式 I 跳转到行首进入插入模式 a 在光标后进入插入模式 A 跳转到行尾进行插入模式 o 在当前行的下一行插入穿行,进入插入模式 O 在当前行的上一行插入穿行,进入插入模式
-
光标移动:
h:left j:down k:up l:right
PgUp PgDn 上下翻页
home end 行首 行尾
nEnter 向后跳转n行
nG 跳转到n行
vim file.c +n 进入后跳转到n行 -
替换:
r 替换一个字符(光标定位在要替换的字符上)
替换一个单词(把光标定位在要替换的单词首字母,然后按cw|ce,单词会被删除并进入插入模式)
R 进入替换模式 -
删除:
x 删除一个字符
dw 删除一个单词(包括空格)
de 删除一个单词(不包括空格)
d$ 删除到行尾
dd 删除整行
ndd 删除多行 -
复制:
yy 复制一行
nyy 复制多行
p 粘贴 -
移动:
删除过的内容其实存储在缓冲区中,当使用p把内容粘贴出来时就达到了移动的效果。
-
撤销:
u 撤销
Ctrl+r 反撤销 -
光标的跳转:
Shift+g 跳转到文件末尾
n+Shift+g 跳转到指定的行
gg 跳转到文件的开头
n+ 向下跳转n行
n- 向上跳转n行
vim file +n 打开文件后跳转到n行
Ctrl+z 正常模式默认是把vim挂起 fg可以返回
vim的插入模式
在插入模式下就可以正常的输入信息了,一些特殊操作需要通过快捷键完成,vim可以进行映射快捷键。
- Ctrl+i 缩进一个制标符,相当于制表符tab键
- Ctrl+j 相当于回车键
- Ctrl+p 自动补全
- Ctrl+c 相当于Esc,返回正常模式
- Ctrl+z 保存退出
- Ctrl+u 删除到行首
- Ctrl+x 编译执行程序(单个文件)
vim的行底模式
-
基本指令
:w 保存不退出,即写入
:q 退出
:q!强制退出,但不保存
:wq 保存退出
:x 保存退出
:X 加密
:r file 导入其它文件
:m,nr file 导入其它文件从m行到n行
:set number 显示行号
:set nonumber 不显示行号
:set tabstop=4 设置tab键的宽度
:!cmd 执行linux系统命令,执行完成后按enter返回vim
在行底模式下对vim进行设置只能是临时有效,如果需要长期有效需要把配置命令写入vim的配置文件,即vi ~/.vimrc打开配置文件 -
设置代码缩进
输入>n n行代码向右移动n行
输入<n n行代码向左移动n行 -
查找
/key
n 向下查找一个,N向上查找下一个 -
替换
%s/old/new
vimtutor ubuntu系统自带vim使用手册