Linux Vi编辑器和find命令的使用

举报
冬晨夕阳 发表于 2022/03/30 02:33:35 2022/03/30
【摘要】 vi 编辑器 Linux:使用文本文件来保存配置文件 文本编辑器:ASCII文件 emacs vi vi:Visual Interface(纯字符界面的编辑器) 全屏文本编辑,nano 模式化的编辑器 ...

vi 编辑器

Linux:使用文本文件来保存配置文件
文本编辑器:ASCII文件
emacs vi
vi:Visual Interface(纯字符界面的编辑器)
全屏文本编辑,nano
模式化的编辑器

moduler
vim :vi improved
vi的模式:
编辑模式:键盘操作通常被解析为编辑命令:
输入模式:
末行模式:vim的内置的命令行接口,执行vim内置命令

编辑模式–>输入模式
i:当前光标处输入内容
I:在当前光标所在行的行首
a:在当前光标所在处的后面
A:在当前光标所在行的行尾输入
o:在光标所在行的下方新增一行空白行
O:在光标所在行的上方新增一行空白行

输入模式-->编辑模式
ESC
编辑模式-->末行模式
:
末行模式-->编辑模式
ESC,ESC

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

vi命令的使用格式
vim [options] /path/to/file

退出:
:q!强制退出,不保存并退出
:wq 保存修改并退出
:w 保存不退出
:x,保存并退出
编辑模式:ZZ,保存退出

打开:
多文件跳转
:next 下一个
:prev 上一个
:first 第一个
:last 最后一个
:qall 退出所有的文件
:wqall:修改并退出多个文件
分隔窗口打开多个文件
-o:水平分隔
ctrl+w,上下箭头
-O:垂直分隔
ctrl+w,左右箭头
+#:打开文件后在第#号行首
+:打开文件后在最后一行
光标移动:
单字符移动:
h:左
l:右
j:下
k:上
可以和数字组合
单词间移动:
w:调至下一个单词的词首
b:当前或前一个的词首
e:当前或下一个词的词尾
行内移动:
0:绝对行首
^:第一个非空白字符
$:绝对行尾
句子间移动:
):上一句
(: 下一句
段落间移动:
}:上一段
{:下一段
行间移动:
#G:第几行 #gg
G:最后一行
编辑操作:
x:删除光标所在处的字符
#x:删除光标所在处向后的#个字符
r:替换光标所在处的字符

 d:删除命令
   结果光标跳转命令使用
     d^ 光标删除至行首
     d$ 光标删除至行尾(shift+d)
   %:全部
 dd:删除一行
 #dd:删除所在行后的#行

     y:复制命令
     yy:复制当前一行   p粘贴
    #yy:复制#行

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

p:paste 粘贴
复制或删除的是整行
p:当前行的下一行
P:当前行的上一行
复制或删除的为非整行
p:粘贴在光标所在字符的后面
P: 粘贴在光标所在字符的前面
撤销编辑
u:undo
#u:最近50次操作
撤销此前的撤销操作
ctrl+r:
重复执行此前的命令:
.
翻屏:
ctrl+f:向文件尾部翻一屏
ctrl+b:向文件首部翻一屏
ctrl+d:向文件尾部翻半屏
ctrl+u:向文件首部翻半屏
Enter:下一行
k :上一行
查找:
/keyword
?keyword
n:往下翻查找的结果
N:往上翻查找的结果
支持正则表达式

vim的可视化模式
编辑模式:
v:按照光标走过的区域选择
V:选择矩形行
vim可视化模式:
v: 按光标走过的区域选择
V: 选择矩形行
ctrl+v:选择矩形块

末行模式:范围定界
start,end:可以使用绝对定界,也可以使用相对定界
.:表示当前行
$:最后一行
$-2:倒数第3行
/pat1/,/pat2/:起始处为光标所在行
c:改变
跟d一样操作
y:yank,复制
跟d一样操作
s:替换

   :set nohlsearch 关闭高亮显示,对当前shell有效

  
 
  • 1

打开多个文件,分窗口:
vim -o
vim -O
Ctrl+w, 上下箭头

分割当前窗口:
Ctrl+w, s
Ctrl+w, v

窗口属性的定义:
:set nu 输出行号
:set nonu

:set ai 自动缩进(其他发行版本)
    :set shiftwidth=4  设置自动缩进空格数为4(ubuntu系统)
:set softabstop=4  设置制表符宽度为4

:set ic    查找时不考虑大小写
:set noic  查找时考虑大小写

显示对应的括号
:set sm (show match)
:set nosm

语法高亮:
:syntax on
:syntax off

搜索高亮:
:set hlsearch
:set nohlsearch

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

vim的配置文件:
全局:/etc/vimrc
个人:~/.vimrc
查找替换:
:地址定界s/查找模式/替换为的内容/gi
g:全局替换
i:不区分大小写
:地址定界s@查找模式@替换为的内容@gi
&:用于在替换为的内容部分中引用前面匹配到的所有内容

find:
实时查找工具,通过遍历指定路径下的文件系统完成文件查找。
特点:
查找速度慢
精确查找
实时查找
语法格式:
find [option]… [查找路径] [查找条件] [处理动作]

查找路径:指定具体目标路径;默认为当前目录
查找条件:指定的查找标准,可以文件名、大小、类型、权限等标准进行;默认为找出指定路径下所有文件
处理动作:对符合条件的文件做什么操作,默认为标准输出至屏幕。、
          -print:默认动作,输出至屏幕
          -ls:类似ls -l命令
          -delete:查找出然后删除
          -fls /path/to/somefile
          -ok COMMAND {} \;对查到的每个文件执行COMMAND命令,对于每个文件执行命令,需交互确认
          -exec COMMAND {} \;直接处理,不交互。   {}:用于引用查找到的文件名称本身
查找条件:
    根据文件名查找:
          -name "文件名称"  (支持使用glob通配 *,?,[],[^])  例如 find /etc -name "passwd*"
          -iname "文件名称" (不区分大小写)
          -regex "PATTEN": 以PATTEN匹配整个文件路径字符串,而不仅仅是文件名称:
    根据属主 属组查找
          -user USERNAME:查找属主为指定用户的文件
          group GROUPNAME:查找属组为指定用户的文件。
          -uid UserID:查找属主为指定UID的文件
          -gid GroupID:查找属主为指定GID的文件
          -nouser:查找没有属主的文件
          -nogroup:查找没有属组的文件

    
    根据文件类型查找:
          -type TYPE:
             f:普通文件
             d:目录文件
             l:符号链接文件
             s:套接字文件
             b:块设备文件
             c:字符设备文件
             p:管道文件
    组合条件(与 或 非)

    根据文件大小来查找:
        -size [+|-]#UNIT
           常用单位:k,M,G
           UNIT:(#-1,#]
          -UNIT:(0,#-1]
          +#UNIT:(#,oo)

    根据时间戳:
        以“天”为单位:
           -atime:  [+|-]#
           -mtime:
           -ctime:
        以“分钟”为单位:
           -amin
           -mmin
           -cmin

     根据权限来查找
          -perm [+|-]MODE

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

文章来源: blog.csdn.net,作者:考古学家lx,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_43582101/article/details/85255580

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。