目录
vim初步了解
vim本质是一个多模式的文本编辑器。类似于Windows下的VSCode,需要自己配置环境。
Linux下这些都是分开的,由不同的指令去做不同的事情。
模式介绍
命令模式:键盘输入的字符计算机都视为命令。这也是vim刚进入时的默认模式。
插入模式:写代码的模式。这个时候键盘输入的字符都是视为输入。标志:下方显示insert。
低行模式:进行保存退出的模式
模式切换
i :从命令模式切换为插入模式
a:从命令模式切换为插入模式并且光标向右走一步
o:从命令模式切换为插入模式并且换行
::命令模式切换为底行模式
R:命令模式切换为替换模式
Esc:非命令模式切换为命令模式
模式之间的切换都需要先回到命令行模式,由命令模式再切换为其他模式。
vim异常关闭问题
如果我们写完代码不保存就关闭Xshell或异常退出,此时,Linux会形成一个备份文件,该备份文件为隐藏文件,文件名为:.源文件名+.swp。
再次用vim打开这个文件时,vim会让我们处理这个隐藏文件(或者直接删除这个隐藏文件),按照上图解释进行处理,处理完这个隐藏文件之后,我们就可以正常使用vim继续编辑这个文件了。
指令
命令模式指令
^:将光标定位到当前行的最左侧
$:将光标定位到当前行的最右侧
gg:将光标定位到文本的最起始
G:将光标定位到文本的最结尾
nG:将光标定位到第n行
h:左
j:下
k:上
l:右
yy:复制当前行
p:粘贴
nyy:复制n行(从当前行开始向下)
np:粘贴n次
u:对最近一次操作进行撤销
R:对撤销进行撤销
u与R交替使用可以无限撤消,只要不退出vim就可撤销。
dd:删除当前行
dd+p:当前行移动到光标处
n+dd:删除从当前行开始的n行
n+dd+p:将当前行往后n行移动到光标处
~:大小写迅速切换
r:替换当前光标所在字符
r+'x':将当前光标所在字符替换为'x'字符
n+r:替换从当前开始n个字符-批量化局部替换
R:进入覆盖替换模式
x:删除光标所在位置字符
n+x:删除n个字符,方向从光标到右
X:删除从光标向左的字符
n+X:从右向左侧删除n个字符
w:按照单词在行内移动,方向向后
b:按照单词在行内移动,方向向前
连续的特殊字符也被Linux定义为单词
#:高亮要查找的字段
n:高亮之后用可跳转到下一个查找的字段
底行模式指令
w:保存
q:退出
w!:强制保存
q!:强制退出
wq!:强制保存退出
!+指令:相当于在vim中执行基本指令,结束后按任意键可回到vim
/字段:高亮字段
ctrl+ww:多窗口光标切换
vs file:光标在哪一个界面,我们就正在编辑哪一个界面,底行也一样。
在底行模式下,再创建一个新的文件file并进入vim,若不保存,则退出后,file被销毁。
set nu:调出行号
set nonu:取消行号
ZZ:保存并退出(不建议使用)
vim光标出现的位置取决于上一次退出时光标所在的位置。
vim 文件名 + n:进入vim光标直接定位到第n行
help vim - modes:查看vim模式
注释
批量化注释
在命令模式下
1、ctrl+v
2、hjkl区域选择
3、shift+i
4、//
5、Esc
批量化去注释
在命令模式下
1、ctrl+v
2、hjklk区域选择
3、d
vim配置
普通用户每次使用vim时,vim都会默认打开一个隐藏文件.vimrc这个文件即为vim的配置文件。我们可以在.vimrc里面添加指令用来使我们的vim个性化。
root有专门的vim配置文件,Linux为root用户设立的vim配置文件 /etc/vimrc。