Linux学习记录(四)

写在前面

编辑器之神--vim

vi

Vi 编辑器是所有 UnixLinux 系统下标准的编辑器,类似于 windows 系统下的notepad(记事本)编辑器,由于在UnixLinux系统的任何版本,Vi编辑器是完全相同的,因此可以在其他任何介绍vi的地方都能进一步了解它,Vi也是Linux中最基本的文本编辑器.

vim模式的切换

image.png
可能图画的比较丑,我懂就好

vim的模式

vim中大众认知的三种模式:

  • 命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等
  • 编辑模式:在该模式下可以对文件的内容进行编辑;
  • 末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等);

vim打开文件的方式:

  • vim 文件路径              作用:打开指定文件
  • vim +数字 文件路径            作用:打开文件并且将光标跳转到指定的行首
  • vim +/关键词 文件路径          作用:打开文件并将光标跳转至第一个出现关键词的地方
  • vim 文件路径1 文件路径2 文件路径3    作用:同时打开多个文件

命令模式

光标移动

  • 光标移动到行首
    shift + 6(^)

  • 光标移动到行尾
    shift + 4($)

  • 光标移动到首行
    gg

  • 光标移动到末行
    G

  • 翻屏

    • 向上翻屏:按键 ctrl + b  或  PgUp
    • 向上翻屏:按键 ctrl + b  或  PgUp

复制操作

  • 复制光标所在行
    yy

  • 以光标所在行为准(包含当前行),向下复制指定的行数
    数字 yy

  • 可视化复制
    ctrl + v(可视块)或V(可视行)或v(可视),然后按下↑↓←→方向键来选中需要复制的区块,按下y键进行复制

  • 粘贴
    p

剪切/删除

  • 剪切/删除
    dd 删除之后下一行上移
    补充:严格意义上说是剪切命令,但是如果剪切了不粘贴就是删除的效果.

  • 剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
    数字 dd

  • 剪切/删除光标所在的当前行之后的内容,但是删除之后下一行不上移
    D(删除之后当前行会变成空白行)

  • 可视化删除
    ctrl + v(可视块)或 V(可视行)或 v(可视),上下左右移动,按下D表示删除选中行,d表示删选中块

撤销/恢复

  • 撤销
    u
  • 恢复:
    ctrl + r恢复(取消)之前的撤销操作

扩展

  • 快速移动光标到指定的行
    数字 G
  • 以当前光标为准向上/向下移动n行
    数字↑/数字↓
  • 以当前光标为准向左/向右移动n字符
    数字←/数字→
  • 末行模式下的快速移动方式:移动到指定的行
    输入行数数字

末行模式

保存

  • 输入::w      保存文件
  • 输入::w 路径    另存为

退出

:q

  • 保存并退出
    • :wq
    • :x 建议使用,会自动判断文件是否被修改进而保存

说明

  • :x在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出;
  • 如果文件没有被修改,但是使用wq进行退出的话,则文件的修改时间会被更新;但是如果文件没有被修改,使用x进行退出的话,则文件修改时间不会被更新的,会混淆用户对文件的修改时间的认定。
  • 因此建议以后使用“:x”来进行对文件的保存退出。
  • 但是:不要使用X,X表示对文件进行加密操作。

强制执行

!

调用外部命令

:!外部命令

搜索

/要查找的内容

  • N/n键切换上一个/下一个查找结果

替换

  • :s/搜索的关键词/新的内容  替换光标所在行的第一处符合条件的内容
  • :s/搜索的关键词/新的内容/g 替换光标所在行的全部符合条件的内容
  • :%s/搜索的关键词/新的内容  替换整个文档中每行第一个符合条件的内
  • :%s/搜索的关键词/新的内容  替换整个文档中符合条件的内容
  • %:表示整个文件
  • g:表示全局

vim同时打开多个文件时切换文件

  • 查看当前打开的文件名称:files
    image.png
    • %a表示当前打开的文件
    • #表示上一个打开的文件
    • line表示光标所在的行
  • 切换文件
    • 切换到指定文件:open 已经打开的文件名称
    • bn 切换到下一个文件
    • bp 切换到上一个文件

编辑模式

进入方式

  • i:在光标前插入字符
  • a:在光标后插入字符
  • o:在光标所在行的下面新启一行插入
  • I:在光标所在行的行首插入,如果行首有空格则在空格后插入
  • A:在光标所在行尾插入
  • O:在光标所在行的上方新启一行插入
  • S:删除光标所在行并插入

退出方式

  • ESC

扩展

代码着色

好像在Ubuntu里面是默认开启的
image.png

  • 开启着色syntax on
  • 关闭着色syntax off

显示行号(临时)

  • 显示:set nu
  • 取消显示:set nonu

vim配置文件

配置文件路径 /etc/vim/vimrc 该文件需要使用root用户打开.

  • 设置永久显示行号,颜色
    • 修改全局配置文件/etc/vim/vimrc
      image.png
    • 修改个人配置文件~/.vimrc,如果没有可以自行新建
      补充:
  • 如果针对同一个配置项,个人配置文件中存在,则以个人配置文件为准,如果个人配置文件中不存在这一项,则以全局配置文件为准。

异常配置

异常退出指在退出文件前没有进行正常的保存退出操作.
image.png
解决方法:删除交互文件(在编辑过程中临时产生的文件)
image.png

别名机制

作用:相当于创建一些自己使用的命令
别名机制依靠一个别名映射文件~/.bashrc

  • eg1:添加cls指令作为Linux终端的清屏指令
    image.png
    注意:需要重新登录当前操作用户指令才能生效