vim重点是光标的移动,模式切换、删除、查找、替换、复制、粘贴、撤销命令的使用
vim三种模式(重点)
vim中存在三种模式(大众的认知):命令模式、编辑模式(输入模式)、末行模式(尾行模式)
命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行、复制行、移动光标、粘贴等等)【打开文件后默认进入的模式】
编辑模式:在该模式下可以对文件的内容进行编辑
末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等)
vim的打开文件的方式:
#vim 文件路径 作用:打开指定的文件
#vim +数字 文件路径 作用:打开指定的文件,并且将光标移动到指定行
#vim +/关键词 文件的路径 作用:打开指定的文件,并且高亮显示关键词
#vim 文件路径1 文件路径2 文件路径3 作用打开多个文件
打开多个文件,切换打开文件
1.查看打开的文件
按键:“:files”
2.切换文件
a.如果需要指定切换文件的名称,按键:“:open 文件名”
b.可以通过其他命令来切换上一个文件/下一个文件
输入:“:bn”切换上一个文件(back next)
输入:“:bp”切换下一个文件(back prev)
一、命令模式:
1、光标移动
1.1.光标移动到行首:
按键:shift+6 或者 ^
1.2.光标移动到行尾:
按键:shift+4 或者 $
1.3.光标移动到首行
按键:gg
1.4.光标移动到末行
按键:G
1.5.翻屏
向上翻屏:按键Ctrl+b
向下翻屏:按键Ctrl+f
1.6、快速将光标移动到指定的行
按键:数字 G
1.7、以当前光标为准向上/向下移动n行或者向左/向右移动n字符
按键:数字 方向键
1.8、末行模式下的快速移动方式:移动到指定的行
按键:输入英文“:”,其后输入数字,按下回车
2、复制操作
2.1.复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p键
2.2.以光标所在行为准(包含当前行),向下复制指定的行数
按键:数字yy
2.3可视化复制
按键:Ctrl+v,然后按下方向键来选中需要复制的区块,按下yy键进行复制,最后按下p键粘贴
3、剪切/删除
3.1.剪切/删除光标所在行
按键:dd
注意:dd严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果
3.2.剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
按键:数字dd
3.3.剪切/删除光标所在的当前行,但是删除之后下一行不上移
按键:D
4、恢复/撤销
4.1、撤销
按键:u
4.2、恢复
按键:Ctrl+r
二、末行模式
进入方式:由命令行模式进入,按下“:”即可进入
退出方式:
a.按下esc
b.连续2次esc
c.删除末行全部输入字符
保存操作:
输入:“:w” 保存文件
输入:“:w 路径” 另存为
保存并退出:
a.按键: “:wq”,文件修改时间会被更新
b.按键:“:x” 在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出,文件修改时间不会被更新
强制退出:
按键:“q!” 之前做的操作不做保存
搜索/查找
输入:“/关键词”
在搜索结果中切换上/下一个结果:N/n
如果要取消高亮,则需要输入:“:nohl”
替换
:s/搜索的关键词/新的内容 替换光标所在行的第一个
:s/搜索的关键词/新的内容/g 替换光标所在行的全部符合内容
:%s/搜索的关键词/新的内容 替换文档中每行第一个符合
:%s/搜索的关键词/新的内容/g 替换光标文档全部符合内容
显示行号(临时):“:set nu”
取消显示行号 :“:set nonu”
三、编辑模式
进入编辑模式方式
小i 在光标所在行位置停止不动开始写入内容
大I 在光标所在行行首开始写入内容
小a 在光标所在行当前字符后开始写入内容
大A 在光标所在行行尾开始写入内容
小o 在光标所在行下一行开始写入内容
大O 在光标所在行上一行开始写入内容
大S 删除光标所在行并开始插入
四、vim中计算器
a.进入编辑模式
b.按下按键“Ctrl+R”,然后输入“=”,此时光标会到最后一行
c.输入需要计算的内容,按下回车
五、vim配置文件
vim配置有三种情况:
a.在文件打开的时候在末行模式下输入的配置(临时的)
b.个人配置文件(~/.vimrc,如果没有可以自己创建)
c.全局配置文件(vim自带,/etc/vimrc)
1、个人配置文件
a.如果没有,新建个人配置文件,进入编辑
b.在配置文件中,进行编辑
2.异常退出
在用vim打开一个文件时,其会产生一个cmd.swap文件,用于保存数据,当文件非正常关闭时,可用此文件来恢复,当正常关闭时,此文件会被删除,非正常关闭时,不会被删除,所以提示存在.swap文件。
ls -a查看文件
删除交换文件“.passwd.swp”
3、别名机制
别名机制依靠一个别名映射文件:~/.bashrc
注意:需要重新登录用户