vim介绍,vim颜色显示和移动光标,vim通常模式下移动光标,通常模式下复制剪切粘贴,进入编辑模式,vim命令模式,vim实践

vim 介绍

  • vim是vi的升级版本
  • vim带有颜色显示
  • yum install -y vim-enhanced 使用这个命令安装vim
  • vim有三种模式,通常模式,编辑模式,命令模式
  • 按 i 键进入编辑模式
  • 命令模式能够搜索关键字,还能够替换字符

vim颜色显示和移动光标

  • 同一个文件在不一样目录下面,打开有可能不显示颜色
  • 某些目录下面的文件,用vim打开会没有颜色显示
  • 使用 vim 打开 /etc/passwd 文件
  • 能够看到内容是彩色的
  • 而后把passwd文件复制一份到/tmp目录下面
  • 再使用vim打开/tmp/passwd文件就发现内容全是白色的
  • 按两下 g 就可让光标从底下直接跳到第一行
  • 而后按 shift+o 就能够将第一行往下面换一行变成第二行,而且进入了编辑模式
  • 这样上面就多出了一行空行了
  • 就是这个效果
  • 而后输入井号 # ,井号#后面随意加一下字符串
  • 按esc退出编辑模式,而后 :wq 保存退出
  • 而后再使用 vim 打开就发现,# 和后面的字符串都变成了有颜色的字符
  • 而后随便找一行,输入#加字符串都是有颜色的,原文内容仍是白色
  • 或者将文件后缀改为.sh或者别的什么后缀,都会显示不一样的颜色
  • 总之,vim会按照文件的不一样类型来显示不一样的颜色
  • 可使用,vim /etc/vimrc 打开vim的配置文件
  • 这里能够修改不少 vim 的配置
  • 如图,通常模式下的光标移动方法
  • 使用空格键也能够向右移动,还能够跟数字组合,按5+空格就会向右移动5个字符
  • hjkl也支持数字移动,例如,k+5=向上移动5行,j+5等于向下移动5行,h+5=向左移动5个字符

vim通常模式下移动光标

  • 随着光标的移动,右下角会显示坐标
  • 50表明第50行,11表明11列,分别表明了纵坐标和横坐标
  • 随着光标位置的变化,这个坐标值也会不断改变
  • shift+g移到最后一行,看纵坐标就知道总共有多少行了
  • gg 能够移动到第一行

通常模式下复制粘贴

  • dd 按两下d能够剪切一行
  • 剪切以后,若是想要粘贴,可使用 p 或者 P 就是大小写的p
  • 小写的p 能够把剪切的一行粘贴到光标所在行的下面一行
  • 大写的p 能够把剪切的一行粘贴到光标所在行的上面一行
  • 这里把root行使用dd剪切掉
  • 而后移动到 lp 行
  • 使用 shift+p 也就是大写p,剪切掉的root行就出如今lp行上面
  • 将光标移动到lp,直接按 p ,能够看到root行出如今lp行下面
  • 若是想退回这些操做,能够按 u
  • 不断的按 u ,退回到最初的状态,能够看到下面显示,已位于最旧的改变,退到不能退的时候就会显示这个信息
  • 按 u 退回操做最多只能退回50次
  • 能够按 数字+dd 一次性剪切数行,好比 5+dd 就能够一次性捡起5行
  • 可是有一点须要注意,按下5以后须要迅速按下dd,若是速度慢了的话,5就会失效,起做用的就只有dd了,也就是说剪切一行
  • 5跟dd之间的间隔时间必须很短,才会起做用
  • yy 能够复制一行,也是使用p来粘贴
  • 数字+yy 也能够一次性复制几行,也要注意,按下yy跟数字之间的间隔必定要短,否则会不起做用
  • 使用 u 撤销以前的操做后,忽然又不想撤销了,想将状态退回到撤销操做前的状态
  • ctrl+r 就能够用来退回撤销
  • 按 x 能够从光标处向后删除字符
  • shift+x 能够从光标处向前删除字符
  • 使用 x 或者 shift+x 删除的字符,会存放到剪切板里面
  • 使用 p 键就会把最近x掉的字符粘贴出来
  • 使用小写p会粘贴在光标处的右边,大写p会粘贴在光标处的左边
  • 也可使用 数字+x 或者 数字+shift+x 来同时剪切数个字符,仍是按键之间间隔要快
  • 使用按键 v 能够看到左下角出现 --可视--
  • 在这个模式下,能够移动光标把想要的文本选中
  • 这里经过移动光标把两行半的内容选中了,选中的部分变成灰色
  • 这里使用了 x 按键把以前选中的内容剪切掉了
  • 而后在下一行把刚才剪切的内容使用 shift+p 粘贴在光标处的左边
  • 总结,使用 v 能够方便的选中一部份内容进行剪切复制粘贴的操做

进入编辑模式

  • 按 i 进入编辑模式,大写小写的 i 均可以进入编辑模式
  • 区别是,无论光标在任何位置,使用大写i的话,光标都会跳到所在行的行首
  • 而小写的 i 在进入编辑模式的时候只会停留在当前位置不动
  • 如图,还可使用 o 进入编辑模式
  • 跟 i 的区别是,o进入编辑模式的时候,会在光标所在行下一行开始输入
  • 就是光标所在行的下面会多出一行空行
  • 如图,还可使用大写的 o ,跟小写的 o 的区别是,大写 o 会出如今光标所在行的上面一行
  • 也就是说光标所在行的上面会多出一行空行
  • 如图,如今光标停留的位置是 o
  • 使用 a 进入编辑模式,光标就会出如今进入前那个位置的后面一个位置
  • 进入编辑模式前的位置是 o ,那么使用a进入编辑模式后的位置就是 g
  • 如图这是光标当前位置
  • 使用大写 a 以后,光标就会跳到光标所在行的行尾,并进入编辑模式

vim 命令模式

  • 如图,搜索关键字
  • 使用 /+关键字 就能够在文本内容里面搜索关键字,文本内的关键字会被高亮显示,这里是黄色
  • 若是搜索出来多个结果,一页以内显示不完,可使用 n 往下找到下面的搜索结果
  • 使用 n 不断往下查找,到达最底部,左下角会有一行文字提示,已经查找到最底部
  • 如今所在的位置是底部,若是想网上查找,可使用 shift+n
  • shift+n 就能够往上面查找搜索结果
  • 搜索还可使用问号 ? 来搜索
  • 如图 ?for 就能够搜索 for 关键字,黄色的是搜索结果
  • 若是用 ? 来搜索,那么使用 n 的话就不是向下查找,而是向上查找,跟 / 的方向相反
  • 如图,使用冒号 : 进入命令模式,而后输入指令
  • 1,100s/dnsmasq/aminglinux/g 这个命令能够把 1到100行 之间的全部 dnsmasq 替换为 aminglinux
  • 关于这个命令格式,首先, 1,100 就表明替换范围是 第1行到第100行之间
  • s 就表明使用的是替换功能
  • /dnsmasq/aminglinux/ 这三条 / 之间有两个空间,第一个空间内的字符,会被第二个空间内的字符替换
  • g 表明全局替换,好比有一行,存在两个dnsmasq,若是不加g参数,那么就只替换第一个,后面的不会被替换
  • 使用了 g 参数,那么每一行无论有几个dnsmasq,都会所有被替换掉,通常使用都是会加的
  • 若是不想限制范围,而是全文都替换的话
  • 可使用 1,$s/dnsmasq/aminglinux/g 这样就能够把全文的dnsmasq都替换为aminglinux
  • 1,$ 就表明范围是全文,$表明最后一行,1表明第一行,这里就表明从第1行到最后1行,也就是全文
  • s 表明替换功能
  • /dnsmasq/aminglinux/ 表明把 dnsmasq 替换为 aminglinux
  • g 参数全局替换,若是没有g,那么就只会替换每一行的第一个dnsmasq,后面的不会替换
  • 若是替换对象是一个目录路径,/etc/aminglinux
  • 原来的命令语句 / / / 的斜杠与目录的斜杠写在一块儿,系统会不能分辨哪一个斜杠是命令的,哪一个是字符串的
  • 就会出现错误,没法执行语句
  • 这种时候,有两种方法解决,一种的使用转义字符,第二种是使用井号 #
  • 转义字符解决方案:1,$//etc/hosts/aminglinux/g
  • 这种方案看起来很很差理解,令人难以分辨清楚结构,不推荐使用
  • 通常使用第二种方法,也就是说井号 #
  • 1,$#/etc/hosts#aminglinux#g 原来的/用#来替换了,功能是同样的,比第一种方法好看一些
  • 也可使用 @ 符号代替 # ,效果都同样
  • :wq 就是保存退出,若是一个文件是只读的,root用户也可使用 :wq! 强制保存退出,加 ! 就是强制
  • 不想保存的话,也能够强制退出,使用 :q! 就能够强制退出
  • 使用 :set nu 可使每一行都显示行号
  • 若是不想显示行号了,可使用 :set nonu 这样就把显示行号取消了
  • 搜索关键字之后,关键之会被高亮显示,如前文的显示为黄色背景的文字
  • 若是想取消掉搜索关键字的高亮显示,可使用 :nohl 这样高亮显示就被取消了
  • 也可使用 :x 保存退出
  • 跟 :wq 的区别,若是打开文件并修改以后,使用 :wq 和使用 :x 的效果是同样的
  • 若是打开文件,只是查看,可是并无修改
  • 这个时候使用 :wq 保存退出的话,文件的mtime会被修改成保存退出这一刻的时间
  • 若是使用 :x 保存退出的话,文件的时间就不会被修改

vim 实践

  • 能够随意模拟复制一个文件到tmp目录下面
  • 根据上图的步骤操做,反复练习,能够熟悉vim的操做
相关文章
相关标签/搜索