vim编辑器

2023-10-18 11:35:54 浏览数 (2)

温故知新

文件处理相关命令

代码语言:javascript复制
pwd     #查看当前所在文件夹

cd      #切换文件夹
代码语言:javascript复制
        -rwxr-xr-x. 1 root root 117680 10月 31 2018 /bin/ls
            
         -:文件类型
         属主:rwx
         属组:r-x
         其他人:r-x
         
         . :在加载了selinux的情况下创建文件
         1 : 硬链接数
代码语言:javascript复制
        touch a.txt            #创建文件
        touch Eg{o,O}n.txt  # touch Egon.txt EgOn.txt
        
        mkdir -p /a/b/c/    #递归创建文件夹
        
        cp -a 源路径 目标路径    #root 用户在拷贝的时候,会保留源文件数组,创建一个新的目标文件,把源文件的内容读出来写到目标文件夹里面。
        cp -p  
        cp -r  #拷贝文件夹
        cp -f    #如果目标文件存在,源文件和目标文件文件名一样引起冲突,而且当前用户对目标文件没有写权限或者当前用户对目标文件夹有写权限,会先将目标文件删除,然后创建一个新的文件
        
        mv 源文件 目标文件
        mv /etc /tmp # /tmp/etc    #tmp下有etc文件夹及其文件夹下的内容
        mv /etc/* /tmp             #etc下所有的内容搬到tmp下
        mv /etc /tmp/bak        #把etc拷贝到tmp下改名bak
代码语言:javascript复制
        mv a.txt aaa.txt        #改名
        
        rm -rf                     #删除文件及文件夹
        
        tree -a /                #显示所有文件,包括隐藏文件
        tree -F /                #在条目后加上文件类型的指示符号
        tree -L 1 /                #遍历目录的最大层数,-L后应该是大于0的正整数
        tree -d /                #只显示子目录
代码语言:javascript复制
        cat                     #查看文件内容
        more                     #按照百分比显示文件内容
        less                    #上下键翻页显示文件内容
        head -3                    #查看前三行内容
        tail -3                    #查看后几行内容
        tail -f                 #动态查看文件的变化

vim编辑器

  •  编辑插入:
    • a:直接插入
    • i:直接插入
    • 0:在下一行插入
    • O:在上一行插入
    • u;撤销

删除与复制

代码语言:javascript复制
ndd           n为数字 删除光标所在的向下n行,列如:20dd   删除20行
yy            复制光标所在那一行
nyy           n为数字 复制光标所在的向下n行,列如:20yy   复制20行

代码语言:javascript复制
复制粘贴

    复制一行:
        把光标移动到该行的任意位置,按下yy
        把光标移动到目标行的任意位置,按下p
        
    复制3行:
        把光标移动到该行的任意位置,按下3yy
        把光标移动到目标行的任意位置,按下p
代码语言:javascript复制
剪切粘贴:
    复制一行:
        把光标移动到该行的任意位置,按下dd
        把光标移动到目标行的任意位置,按下p
        
    复制3行:
        把光标移动到该行的任意位置,按下3dd
        把光标移动到目标行的任意位置,按下p

光标的移动

代码语言:javascript复制
GG:跳到文件末尾

gg::跳到文件行首

$:移动到当前行的结尾

0:移动到当前行的开始

nG:移动到第n行

复原和撤销

u:复原前一个操作

ctrl r:重做上一次操作

屏幕移动光标位置

H:移动到屏幕最上方

M:屏幕中间一行

L:屏幕最后一行

可视块模式:

批量去注释 前提:注释的行需要整齐排列 1、在命令模式,按ctrl v 2、上下键选中#号 3、按下d 批量加注释 前提:注释的行需要整齐排列 1、先将光标移动到首行的开头位置 2、在命令模式,按ctrl v 3、上下键选中第一列 4、shift i,然后输入# 5、连续按两下ESC

查找 /查找的内容

查找替换:

代码语言:javascript复制
11111egon11111
egon22222egon
333333egon33333egon33333
444xxx44444xxxxx
55555xxx
6666egon
代码语言:javascript复制
:% s/egon/EGON/    # 替换部分egon
代码语言:javascript复制
:% s/egon/EGON/g   #替换全部egon

其中%代表全部行,g代表全部

代码语言:javascript复制
:3 s/egon/EGON/g       只替换前3行
代码语言:javascript复制
:% s/^egon/EGON/g           ^代表之替换开头
代码语言:javascript复制
:% s/egon$/EGON/g       $只替换结尾
代码语言:javascript复制
:% w/root/1.tat         写入1.tat
:set nu             加行号
代码语言:javascript复制
[root@localhost ~]# vim /etc/vimrc     永久修改


文件对比

代码语言:javascript复制
vimdiff             以vim方式打开两个文件对比, 高亮显示不同的内容

diff               文件对比,显示文件内容的不同

非正常退出

代码语言:javascript复制
故障解决: 删除临时文件或者先恢复内容再删除 使用-r选项进行恢复。

0 人点赞