Linux学习心得-vim详解

前言

  • vi是Linux及任何Unix like机器上都支持的一款文字编辑器,类似Windows的记事本,但是vi因为功能不强大的原因,GUN计划推出了vim,也就是vi的进阶版,在最小化的Linux系统中,vim是默认没有安装的,用户需要自行安装,基本会vim的都会vi。用惯了vim你就发现vi很不好用。(最明显的区别是vim支持语法高亮显示)

4大模式

  • vim分为4个模式分别是命令模式,编辑模式,命令模式,可视化模式(此模式vi没有)
    打开vim 首先进入的一般模式,如果你按i,a等指令就是进入编辑模式,直接输入:就是进入命令模式,按ctrl v就是进入可视化模式

  • 一般模式的操作:
    光标定位 hjkl 上下左右 (习惯键盘的上下左右键)
    在windows shell中 0 和 home键是定位到行首,$ 和 end键定位到行末(习惯home跟end) 在mac shift+^ 跳到行首 shift +$ 跳到行末(亲测)
    gg 跳到首行 G跳到末行 4gg 或者 4G跳到第4行(ngg 或者 nG就跳到n行)
    /string(字符串) #意思就是全文查找,如果结果过多,可以通过N或n来进上下文查找, 例如: /server 取消高亮显示可以通过 :noh 取消
    /^server # ^以什么开始
    /ac$ # $ 以什么结尾
    通过 vim + nginx.conf 光标是显示在最后一行的 vim nginx.conf光标随机显示
    删除 dd(删除单行) n dd删除n行 例如:10dd(先按数字10 后按dd) 删除10行
    复制 y 复制单个字符 yy复制单行 n yy 复制n行 例如:10yy 复制10行
    粘贴 p
    剪切 dd 用法跟复制用法差不多
    x 删除光标所在位置的单个字符
    D 从光标处删到行尾(这个指令还是蛮好用的)
    u 撤销操作(用的非常多)
    ctrl +r 还原撤销操作(用的非常多)
    r 替换单个字符(光标所在的字符)

  • 编辑模式操作:
    按i(从光标前输入),a(从光标后输入),o(插入下一行)
    然后就是各种编辑的操作

  • 可视模式又分v模式(可视模式),ctrl+v模式(可视快模式)
    在一般模式按v进入v模式,v模式主要对行进行操作,用的不多,
    在一般模式按ctrl+v进入可视快模式(对列进行操作),向上或者向下移动光标,选择自己需要处理的内容,删除的话按x即可删除,添加内容的按大写的I,进入对应的编辑模式,在插入你想要插入的内容,在按esc即可全部删除或者注释。

  • 命令模式
    在其他任何模式按esc,在按: 进入命令模式
    :w 保存
    :q 退出
    :q! 强制退出(这个用的比较多)
    :wq! 强制保存退出
    :wq 保存退出(这个用的比较多)
    :x 保存退出

    注:你无论在哪个模式下只要按ESC就会回到一般模式下,也就是你vim打开文件的那个模式

  • 其他操作
    ! +命令 #调用系统命令 :!ip
    r +绝对文件路径 #打开某某文件 :r /etc/hosts
    vim -o passwd abc #以上下形势,打开两个文档 -o
    vim -O dd1 d.txt #以左右方式打开两个文档 -O
    [root@Rendering6 ~]# vimdiff passwd /etc/passwd #进行文件内容对比
    :no paste 关闭智能缩进
    [root@Rendering6 ~]# vim /opt/app/nginx/conf/nginx.conf /etc/passwd #多文档打开
    :n #切换到下一个文档
    :N #切换到上一个文档
    :files #列出所有打开的文档
    :sp 切换文档 ctrl +wJ 向下个窗口移动光标 ctrl+wk 向上个窗口移动光标 其他操作同上
    在vim abc.txt编辑文件的过程中,可以通过ctrl z将程序暂时放到后台执行

  • 文本替换
    :2,5 s/sbin/root # 用法 [行数(起始行,结尾行/%)] s/源文件内容/替换文件内容 将文本2,5行中的sbin找出,并且将第一个sbin替换成root # 替换的时候,没有加g的话,默认是替换找到的首个字符
    :2,5 s/sbin/root/g # g 全文 将文本2,5行中的sbin全部找出,并且将它全部替换成root(只针对字符)
    :7 s/sbin/root/g # 将第7行的所有sbin替换成root(只针对字符) 7是指单独的第7行
    :% s/nologin/720/g # 将全文的nologin替换成720 %是全部内容
    :% s/bash/qwe/gi # 将全文bash替换成qwe,并且忽视大小写 i忽视大小写
    :% s@a@b@g # 将文本所有的a替换成b

    在2~50行首添加//号注释
    :2,50 s/^g

自定义vim使用环境

  • 设置行号
    :set nu #设置行号
    :set nonu #取消行号

  • 显示隐藏字符 #有个时候用处比较大的
    :set invlist

  • 永久设置可以行号
    vim /etc/vimrc #设置后会影响到系统所有的用户
    ~/.vimrc #在用户的家目录下,创建一个.vimrc。这样只影响到某一个用户,没有自己建一个

    在vimc里面添加相应的设置 既可以永久设置vim

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值