zoukankan      html  css  js  c++  java
  • Linxu---vi操作

    文本编辑器VI

    • 什么是vi:vi是Linux/Unix底下最常用的文本编辑器,可以理解为和Windows下的txt一样。

    • vim:vim是vi的升级版本,它不仅兼容vi的所有命令,而且还加入了一些新的特性,可以把vim理解为vi的升级版。

    VI的两种模式

    (1)命令模式

    • 进入vi时的默认模式,此模式下所有的用户输入都视为命令
    • 用户在此模式下进行搜索、复制、替换等

    (2)编辑模式

    • 用户在此模式下可以编辑文本内容

    模式切换

    • 命令进入编辑:i(当前位置) 、a(下一位置)、o(下一行) 编辑进入命令:esc
    a 光标所在字母后插入
    i 光标所在字母前插入
    o 光标所在行下面插入一行
    A 光标所在行尾插入
    I 光标所在行首插入
    O 光标所在行首插入

    常用命令

    1. vi + xxx.txt(自定义文件名)——添加文件【存在:显示文件内容,不存在:创建文件】

    2. x   —— 命令模式下: 删除单个字符

    3. u   —— 命令模式下 :撤销

    4. dd   ——按  d 2次,把整行删除【ndd:就是删除 n行】

    5. ndd  ——删除光标所在向下n行的内容

    6. yy   ——按 y 2次,复制整行【nyy:就是复制n行】

    7. —— 粘贴整行

    8.  :set nu  ——显示数行号

    9.  set nonu   ——取消显示行号

    10. source +文件名(路径) ——关闭指定文件
    11.  . ——重复前一个动作

    光标:

    1. ——光标移动到最后一行

    2. gg  ——光标移动到第一行

    3. :n  ——光标移动到第 n 行

    4. ——移动光标到页面中央
    5. H  ——移动光标到页面开始处
    6.   yw ——复制光标后的单词,以空格为分界

    7. trl + d往下翻半屏内容

    8. ctrl + u往上翻半屏内容

    9.  $ 也就是shift+4    ——光标移动到行尾

    10. ^ 也就是shift+6    —— 光标移动到行首

    查看:

    1.  /+指定内容  ——从当前光标的位置自上而下查找指定的内容,按 N 是下一个,按 n 是上一个
    2.  ?+指定内容  ——从当前光标的位置自下而上查找指定的内容
    3. cat +文件名   ——查看文件下的内容
    4. more +文件路径  ——可以分屏显示。按回车键可继续查看下一页
    5. head -n 指定查看的行数+文件路径  ——查看指定的行数
    6. tail - n +文件名  ——查看末尾的指定行数
    7. tail - f+文件名   ——动态的查看日志内容(可在f前指定查看末尾的行数;如:tail - 20f+文件名)【Ctrl+c:退出】
    8. tail - f+文件名 |gerp 指定查找的内容 ——查看指定的动态内容
    9. history ——查看之前输入的所有的命令
    10. history |grep 指定查找的命令(+--color) ——查找指定的命令【加上--color,会把指定查找的加上颜色】
    11. history |grep 指定查找的命令+--color  ——查找指定的命令,会把指定查找的加上颜色
    12. history |grep 指定查找的命令+--color -n ——查找指定的命令,会把指定查找的加上颜色,并且显示在哪一行【|grep可无限往后+过滤条件
    13. cat 文件名|grep -v 指定内容 ——查看不包含指定内容的信息
    14. 第一步:cd/bin 第二部:ls —— 查看所有的命令
    15. env ——查看当前的环境变量【PATH中就是所添加的所有环境变量】

    统计:

    • ls | wc -l ——统计当前目录下有多少个文件

    定义命令:

    • alias 指定内容 =‘ls’——之后【指定内容】和 ls命令是一样的了 #关闭后或是换了其他的环境操作就不可以了

    ——【想要把定义的命令一直使用】需要把定义的命令放到 shell.sh 文件中,然后再把 shell脚本放到环境变量中:

    • 使用 env命令找到 PATH变量,然后【shift+4】到PATH 末尾加上: :/脚本 ·目录;如若 没有PATH变量,则需写为:PATH= $PATH/脚本 ·目录(不加$PATH

       ,之前要使用的命令会使用不了啦,因为不加的话,PATH只有刚刚加入的脚本了,其他的还没有,需要在原来的基础上加)【$:在linux中表示取一个变量的值】

    • 加入到环境变量后,需要使用 命令:source / etc/profile 执行下;或是关闭后重新打开下即可正常使用定义好的脚本。【etc/profile:系统的环境变量,加入后所有的用户都可用
    • 【如若是普通用户怎么加环境变量】——不是root用户是没有权限在环境目录里面添加的,这样的话,需要把想要想要添加的脚本添加到home(家目录)下边即可。(加入大家目录后,只会对自己的用户生效);操作流程:输入【ls -a】——找到【 .bashrc 或是 .bash_profile(用户的环境变量)】——【vi .bash_profile】——找到PATH变量,在末尾【~/文件名字】——source .bash_profile执行下;或是关闭后重新打开下,即可正常使用。
    • alias定义到 写入到用户环境变量里面,当用户登录时,就可以直接使用了,如alias rm = 'rm - fr' 
    搜索字符串

    输入/+要查找的字符串

    n键重新查找下一个

    退出Vi
    q 退出
    q! 不保存退出
    :wq / :x 保存退出
    e! 不保存修改文件
    w 保存
    强制,后边+!表示强制

     批量替换

    • :%s/123/abc/g        —— 指定替换【 %: 所有行; /g: 这一行不管有多少个全部会替换】 #把123替换成abc;如若:是替换的内容有/,在命令行加一个 ;例如:需把 a/a/a/ 中的a替换成 b, 则这样来写 :%s/a/b/g

    注:如果操作文件时,提示已有他人在操作文件时,可:在root用户命令模式下:输入【ls -a】找到所有的文件,显示【.文件名字.swp】为临时打开的文件,输入【rm - rf .文件名字.swp】删除下临时文件就正常了

    知识点:

    • 如果把一个目录加入环境就是为了让这个东西,在任意环境下都可使用
    • 用户的环境变量的优先级是高于系统环境变量的优先级的,自己有的,优先使用自己环境变量

  • 相关阅读:
    一款你不容错过的Laravel后台管理扩展包 —— Voyager
    关于后台动态模板添加内容的总结 Builder使用
    Python 解决 :NameError: name 'reload' is not defined 问题
    thinkcmf,thinksns,thinkphp,onethink三者是什么关系?
    PHP中用下划线开头的变量含义
    NetBeans 时事通讯(刊号 # 77 Oct 21, 2009)
    NetBeans 时事通讯(刊号 # 78 Oct 27, 2009)
    最受欢迎的中国 50 技术博客评选结果
    祝父亲生日快乐
    最受欢迎的中国 50 技术博客评选结果
  • 原文地址:https://www.cnblogs.com/brf-test/p/14186772.html
Copyright © 2011-2022 走看看