Linux文本编辑器——vim「建议收藏」

Linux文本编辑器——vim「建议收藏」Linux文本编辑器edpicoemacsnanogVimvimvivim是文本编辑器不是文字处理工具(officelibofficewps)你的运维生涯99.999999%离不开它rhel(centos)里最小化安装没有vim只有vi,记得装包vim基于perl开发的,所以vim依赖perl环境vim有三种模式分别为:…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Linux文本编辑器
  ed  pico  emacs  nano  gVim  vim  vi
  vim 是文本编辑器  不是文字处理工具(office  liboffice  wps)
 你的运维生涯99.999999% 离不开它  rhel(centos)里最小化安装没有vim只有vi,记得装包
    vim 基于perl开发的,所以vim依赖perl环境

vim有三种模式
分别为:
    一般模式:
        vim打开文件默认进入的就是一般模式
        调整光标位置  复制  删除操作
    编辑模式:
        输入内容
    末行模式(命令模式):
        对整个文件进行操作 搜索 保存  全局替换

三种模式的切换方式:
    
    一般模式
        i/a/o/r        ——->        编辑模式
                <——- [esc]        
                        
        : / ?        ——->        命令模式
                <——- [esc]

一般模式的操作
    移动光标的方法
    1、上下左右四个箭头键
    2、h左 j下 k上 l右

      数字+hjkl(方向键)
    ctrl+f  page down 下翻页
    ctrl+b  page up   上翻页
    ctrl+d  向下移动半页
    ctrl+u  向上移动半页
    +       光标移动到非空白字符处的下一行
    –    ———————–上一行
    数字+space   向右移动N个字符
    0        home     移动到行首
    $     end      移动到行尾
    H       光标移动到屏幕最上方所在行的行首
    M       屏幕中央所在行的行首
    L       最下方所在行的行首
    G       光标移动到文件的最后一行
    数字+G   移动到指定行
    gg       移动到文件的第一行   相当于1G
    数字+enter  光标向下移动指定行

搜索&替换
    /keyword  从光标所在位置向下搜索   n下一个  N上一个
    ?keyword  —————上—    n 上一个  N 下一个
    :%(全文) s/old/new/g   全文搜索替换
    :n1,n2 s/old/new/g       n1与n2之间进行替换 
    :n s/old/new/g           只在n行替换
    :n1,n2 s/old/new/gc(替换前询问)       n1与n2之间进行替换询问是否替换
    
    :n1,n2 s/^#//  n1与n2之间的行开头去掉#号
    :n1,n2 s/^/#/  —————–加上#–
    :g /^\s*$/d   删除全文中的空行  ^代表开头   \s  代表空格  *通配符 $ 代表结尾

删除 复制 粘贴
  d删除    
    x/X   x=从光标所在处向后删除一个字符  X=从光标所在处向前删除一个字符
    数字+x 同上,向前/向后删除n个字符
    dG     删除光标所在行处到最后一行
    d1G    删除光标所在行处到第一行的所有
    d$     删除光标所在处到行尾
    d0     删除光标所在处到行首
    dd     删除光标所在行
    数字+dd 删除n行
  y复制    
    yy      复制光标所在行
    数字+yy 复制n行
    y1G     复制光标所在行处到第一行
    yG      复制光标所在行处到最后一行
    y0      复制光标所在处到行首
    y$      复制光标所在处到行尾
  p粘贴
    p/P     p=从光标所在行下一行粘贴 P=上一行粘贴
    
    u       撤销

  区块选择
    v           字符选择
    V           行选择
    ctrl+V      区块选择
    y        复制
    d           删除

编辑命令
    i/I   i=光标前插入  I=光标所在行行首
    a/A   a=光标后      A=———–尾
    o/O   o=光标所在行下一行插入 O=光标所在行上一行插入
    
    r/R  (替换) r=替换光标所在处的字符  R=从光标所在行开始替换 光标所在处开始向后替换,

    保存、退出
    :w   保存
    :w!  强制保存
    :q   退出
    :q!  强制退出
    :wq  保存退出
    :wq! 强制保存退出
    :x    相当于wq
    ZZ   相当于wq!
    
    :w /path/filename  将内容保存到指定位置
    :r /path/filename  将内容从指定文件读取过来

查看文件 cat  
    more  -数字  一次显示n行
    less -N 显示行号   多配合别的命令使用 例如:PS -ef | less  作用分页显示
    tail(查看日志) tail -f  =  tailf

多文件编辑

    vim filename1 filename2
    :n 下一个
    :N 上一个
    :files  查看打开的文件
    多窗口编辑
    :sp filename (上下分屏)  切割当前窗口开启新的内容
        ctrl+w  切换光标位置
    :vsp filename(左右分屏)
        ctrl+w  切换光标位置

vim环境变量
    设置vim环境变量  在用户的家目录下.vimrc(记录用户对vim的设置)
    :set nu/:set nonu     设置行号
    :set hisearch/:set no——-   搜索时是否高亮显示
    :set autoindent/:set no——  是否自动缩进
    :set backup/:set no——–    是否自动备份
    :set ruler/:set no—–     是否提示光标位置
    :syntax on/:syntax off    文档内容是否显示颜色(语法高亮):syn on :syn off
    :set paste(不要写到vimrc下) 解决复制文本格式问题
    
    用家目录下.viminfo 记录vim中使用过的命令/操作

环境变量
******$? 执行上一个指令的返回值
$0 当前程序的名称
$n 当前程序的第n个参数,n=1,2,…9
$* 当前程序的所有参数(不包括程序本身)
$# 当前程序的参数个数(不包括程序本身)
$$ 当前程序的PID
$@ 与$*相同,但是使用时加引号,并在引号中返回每个参数
$- 显示shell使用的当前选项,与set命令功能相同

****echo $USER      表示当前用户的登录名称,值与whoami命令的结果一致
echo $UID        表示当前用户的ID,该变量的值与”id-u”命令的结果一致
echo $SHELL     表示当前用户的登录Shell,值与”passwd”文件中的Shell字段一致
****echo $HOME   表示当前用户的登录目录(宿主目录),值与”psaawd”文件中home字段一致
echo $PWD    表示用户当前所在的目录,值与pwd命令的结果一致
***echo $PATH    表示当前用户的命令搜索路径,即用户不指定全路径名执行命令,Shell程序将在哪些目             录以及按照何种顺序进行命令的搜索   

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164520.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 企业环境中的账户与身份管理 之:1-认识

    企业环境中的账户与身份管理 之:1-认识

    2021年8月9日
  • C语言中open函数「建议收藏」

    C语言中open函数「建议收藏」作用:打开和创建文件。  简述:  #include  intopen(constchar*pathname,intoflag,…/*mode_tmode*/);  返回值:成功则返回文件描述符,否则返回-1  对于open函数来说,第三

    2022年5月25日
  • Python排序函数

    Python排序函数Python中自带了两个排序函数sort和sorted,用法分别为:sort函数用法list.sort(cmp=None,key=None,reverse=False)特点:对list原地排序(直接改变数组),无返回值。参数:cmp——可选参数,可用于自定义排序规则。key——主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一…

    2022年6月23日
  • awk linux 数组,Linux中的awk数组的基本使用方法

    awk linux 数组,Linux中的awk数组的基本使用方法1.awk数组描述在其他的编程语言中,数组的下标都是从0开始的,也就是说,如果想反向引用数组中的第一个元素,则需要引用对应的下标[0],在awk中数组也是通过引用下标的方法,但是在awk中数组的下标是从1开始的,在其他语言中,你可能会习惯于先“声明”一个数组,在awk中,则不用这样,直接为数组的元素赋值即可(其实如果自己给数组赋值,下标从1或者从0开始那就无所谓了!)2.在声明数组时,可能值很多…

    2022年7月19日
  • mediumtext java类型_编辑框不支持MEDIUMTEXT数据类型[通俗易懂]

    mediumtext java类型_编辑框不支持MEDIUMTEXT数据类型[通俗易懂]我的原始需求是:MySQL8表字段是MEDIUMTEXT,新增、修改记录时报错实现过程中遇到的问题:java.lang.RuntimeException:当前数据类型无法匹配数据库字段类型:MEDIUMTEXT,请更换其它常用类型或自定义类型转换器atcom.eova.core.type.Convertor.getJavaType(Convertor.java:74)atcom.eova….

    2022年6月10日
  • 矩阵的意义_行满秩矩阵的广义逆

    矩阵的意义_行满秩矩阵的广义逆文章目录一、代码二、拓展三、总结一、代码在LaTeX中表示广义逆、伪逆:A^{\dagger},\AA^{\dagger}=(AA^{\dagger})^H效果如下:A†, AA†=(AA†)HA^{\dagger},\AA^{\dagger}=(AA^{\dagger})^HA†, AA†=(AA†)H特殊的还有其他符号见下表。二、拓展部分数学符号如下:A^\dagger,A^\ddagger,A^{\|},A^{**},A^{\dagge

    2022年11月2日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号