vim三种模式:命令模式、编辑模式、末行模式
    命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行、复制行、移动光标、粘贴等等)(打开之后进入这个模式)

    编辑模式:在该模式下可以对文件的内容进行编辑
    末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出);

    vim的打开文件的方式(4种,要求掌握的前三种)
    #vim 文件路径 作用:打开指定的文件
    #vim +数字 文件的路径 作用:打开的指定的文件,并且将光标移动到指定行
    #vim +/关键词 文件的路径 作用:打开指定的文件,并且高亮显示关键词
    #vim 文件路径1 文件路径2 作用:同时打开多个文件

    重点:
    image.png

    命令模式
    注意:该模式是打开文件的第一个看到的格式(打开文件即可进入)
    1、光标的移动
    1.光标移动到行首。
    按键:shift+6
    2、将光标移动到行尾
    按键:shift+4
    3、光标移动到首行
    按键:gg
    4、光标移动到末行
    按键:G(大写)
    5、翻屏
    按键:向上翻屏 ctrl + b (before)
    向下翻屏 ctrl + f (after)

    2、复制操作
    1、复制光标所在行
    按键:yy
    2、粘贴
    按键:p
    3、以光标所在行为准(包含当前行),向下复制指定的行数;
    按键:数字yy

    3、可视化复制
    按键:ctrl+v
    按下yy复制 按下p复制

    3、剪切/删除
    删除行:按键:dd (删除之后下一行上移)
    剪切不粘贴就是删除效果

    2、剪切/删除光标所在行为准,向下删除\剪切指定的行
    按键:数字dd

    3、剪切\删除光标所在的当前行,但是删除之后下一行不上移
    按键:D (删除之后当前行会变成空白行)

    4、撤销/恢复
    撤销:按键 冒号+u 或者u
    恢复:ctrl + r

    5、扩展1:光标的快速移动
    1、快速将光标移动到指定的行
    按键:数字 +G

    四、模式间的切换

    五、末行模式
    进入方式:由命令模式进入,按下“:”即可进入
    退出方式:
    a.按下esc
    b.连按两下esc
    c.删除末行全部输入字符

    1保存操作
    输入:“:w” 保存文件
    输入:“:w 路径” 另存文件

    退出
    输入:q
    保存并退出
    输入 : wq

    强制:!
    输入:“q!”表示强制退出,刚才做的修改操作不做保存

    !加语句 执行外部命令

    6 搜索/查找
    输入:“/关键词”

    在搜索结果中切换上/下一个结果 N/n
    取消高亮,输入:“:nohl”
    7、替换
    :s/搜索的关键词/新的内容 替换光标所在行第一处的内容 /g 替换当前行所有
    %s/搜索的关键词/新的内容 替换所有每行的首个
    %表示整个文件
    g表示全局

    8、显示行号
    输入:“:set nu”
    取消:“:set nonu”

    9、扩展2:使用vim同时打开多个文件,在末行模式下进行切换文件
    查看当前已经打开的文件名称:“:files”
    %a表示当前正在打开的标签
    #:表示上一个打开的文件

    切换文件的方式:
    a. 如果需要指定切换文件的名称,则可以输入:“:open 已经打开的文件名”
    b. 可以通过其它命令来切换上一个和下一个文件
    输入:“bn”切换到下一个文件
    输入:“:bp”切换到上一个文件

    六、编辑模式

    image.png
    退出按esc

    八 、扩展
    1、vim的配置
    vim是一款编辑器,编辑器也是有配置文件的。
    vim配置有三种情况:
    a.在文件打开的时候在末行模式下输入的配置(临时的)
    b.个人配置文件(~/.vimrc)
    c.全局配置文件(vim 自带)

    1 新建好个人配置文件之后进入编辑
    2 在配置文件中进行配置
    比如显示行号:set nu
    配置好之后vim打开文件就会永远显示行号

    2、异常退出的问题:在编辑文件之后并没有正常去wq 或者断电的情况
    ,则会显示下面的情况
    解决办法:将交换文件(在编程过程产生的临时文件) 删除掉即可

    3、别名机制
    作用:相当于创建一些属于自己的自定义的命令
    列如:在windows 里有cls命令 , 在Linux下可能没有这个而不习惯
    通过别名机制来解决,可以自己创造出cls命令

    别名机制依靠一个别名映射文件:~/.bashrc
    新创造的命令生效,必须重新登入当前用户

    4、退出方式
    vim除 q 和wq
    还支持 :x
    说明:
    1、“:x”在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出
    2. 如果文件没有被修改,但是使用wq进行退出的话,则文件的修改时间会被更新l如果是文件没有被修改
    使用x进行退出的话,则文件修改时间不会被更新的。
    主要回混淆用户对文件的修改时间的认定。
    因此建议以后使用“:x”来进行对文件的保存退出

    X 是对文件加密