vim文本编辑器:
可以在没有界面的情况下,写代码的一个工具。
sudo apt-get install vim
vi文本编辑器:
是一款可以无界面的情况下编写代码的工具,所有UNIX、Linux系统自带的都有,通用性强。
可以进行自定义、二次开发,被称为成长型的神器,vim是vi的增强版,一般Linux系统需要手动安装,ubuntu系统的安装指令是:sudo apt-get install vim。
vim的简单用法:
1、vim filename.c 文件如果存在则打开,不存在就会创建。
2、按i键,可以编辑内容。
3、编辑完成后按ESC键退出编辑,按两下ZZ(Shift+z)保存退出。
vim的三大主要模式和模式切换:
正常模式:是进入vim的默认模式,主要用于阅读文件,或通过快捷键修改文件。
插入模式:主要用于编辑文件的内容。
行底模式:主要用于对vim进行一些设置,或执行一些命令。
模式切换方法:
正常模式切换到插入模式:i
插入模式切换加正常模式:ESC、Ctrl+c
正常模式切换到行底模式:输入冒号
行底模式切换加正常模式:ESC、Ctrl+c
注意:插入模式与行底模式之间不能直接切换,必须经过正常模式中转。
正常模式下的操作:
在行底模式下:set nu 显示行号
光标移动:
h左 j下 k上 l右 光标的上下左右移动,在vim中可以使用方向键移动,但在vi中只能使用hjkl。
page down 光标向下跳转一页。
page up 光标向上跳转一页。
home 光标跳转到行首
end 光标跳转到行尾
gg 光标跳转到文件的最后一行
G 光标跳转到文件的第一行
nG 光标跳转到第n行
n+up 光标向上跳转n行
n+down 光标向下跳转n行
vim file.c +n 进入vim后光标跳转到第n行
删除内容:
x 删除一个字符
nx 删除n个字符
dw/de 删除一个单词
dd 删除一行
ndd 删除n行
d$/D 从当前光标位置删除到行尾
d^ 从当前光标位置删除到行首
复制内容:
yw/ye 复制一个单词
yy/Y 复制一行
nyy 复制n行
y$ 从当前光标位置复制到行尾
y^ 从当前光标位置复制到行首
p 把复制的内容粘贴光标的后面 小写
P 把复制的内容粘贴光标的前面 大写
移动内容:
删除的内容还存在在缓冲区,使用p/P粘贴到新位置,就达到了移动内容的效果。
替换内容:
r<x> 把光标所在的字符替换成<x>
cw/ce 替换一个单词(删除单词进入插入模式)
R 进入替换模式,按ESC、Ctrl+c退出替换模式。
xp 可以快速调换两字符的位置。
撤销操作:
u 撤销一次操作,可以连续使用多次
U 撤销当前行的所有操作,回到最初状态,但只能撤销一次。
Ctrl+r 取消撤销操作
进入插入模式的多种方法:
i 在当前光标的前面进入插入模式
I 光标跳转到行首进入插入模式
a 在当前光标的后面进入插入模式
A 光标跳转到行尾进入插入模式
o 在光标下面添加一个空白行,然后进入插入械
O 在光标上面添加一个空白行,然后进入插入械
查找内容:
/key+Enter n向下查找,N向上查找
保存退出:ZZ
插入模式下的操作:
该模式主要用于编辑内容,快捷键不多。
Ctrl+i 相当于Tab键的功能,用于代码缩进。
Ctrl+j 相当于回车键的功能
Ctrl+c 相当于ESC键的功能
Ctrl+h 相当于Backspace键的功能。
Ctrl+p/n 自动补全,写代码时非常好用
行底模式下的操作:
!cmd 执行系统命令。
w 保存内容
q 退出,如果内容有发生修改,用q无法退出
wq 保存退出
q! 强制退出
x 保存退出,但只保存内容
X 加密,wq保存密码退出
set key= , wq保存退出,会删除掉密码
%s/old/new 全文替换,会在下方告诉你替换了多少次
>n 从光标所行开始,下面n行代码向右缩进
<n 从光标所行开始,下面n行代码向左缩进
set nu 显示行号
set nonu 不显示行号
注意:在行底模式下对vim进行的设置,只是临时有效,vim退出后就失效了,要想长期有效就要把这些设置命令写入vim的配置文件,vim的配置文件在:~/.vimrc