vim编辑器

                                                                       vi:Visueral Interface 文本编辑器

 文本编辑种类

行编辑器:sed

全屏编辑器:nano,vi

VIM -Vi IMprowed

使用

 vim:模式化的编辑

 基本模式:

编辑模式:命令模式

 输入模式:

末行模式:

内置的命令行接口

打开文件:

# vim [OPTION]…. FILE…..

 +#:打开文件后,直接让光标处于第#行的行首

vim的编辑命令:

 字符编辑

x: 删除光标处的字符;

#x: 删除光标处起始的#个字符;

 xp: 交换光标所在处的字符及其后面字符的位置;

 替换命令(r, replace)

r: 替换光标所在处的字符

 删除命令:

d: 删除命令,可结合光标跳转字符,实现范围删除;

dd: 删除光标所在的行;

#dd:多行删除;

 粘贴命令(p, put, paste)

p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方;否则,则粘贴至当前光标所在处的后面;

P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方;否则,则粘贴至当前光标所在处的前面;

 复制命令(y, yank)

y: 复制,工作行为相似于d命令;

 yy:复制行

#yy: 复制多行; 

改变命令(c, change)

c: 修改

编辑模式 –> 输入模式

cc:删除并输入新内容

#cc: 

其它编辑操作

 可视化模式:

v: 按字符选定

V:按行行定

 Note:经常结合编辑命令;

d, c, y

 撤消此前的编辑:

u(undo):撤消此前的操作;

#u: 撤消指定次数的操作;

 撤消此前的撤消:

Ctrl+r

 重复前一个编辑操作:

. 翻屏操作:

Ctrl+f: 向文件尾部翻一屏;

Ctrl+b: 向文件首部翻一屏;

 Ctrl+d: 向文件尾部翻半屏;

Ctrl+u:向文件首部翻半屏;

 vim自带的练习教程:

vim编辑器

j向下字符k向上一个字符l 向右移动一个字符h向左移动一个字符

b 向右移动一个单词

输入模式–>编辑模式

ESC

 编辑模式–>末行模式

:

末行模式–>编辑模式

ESC

 输入–>编辑–>末行

 退出文件:

:q! 不保存退出

:wq 保存退出

:x 保存退出

:wq! 强制保存退出

 编辑模式保存退出:ZZ

  单词间移动:

w: 下一个单词词首

e: 当前单词或下一个单词词尾

b: 当前单词或前一个单词词首

#{w|e|b}:

 行内移动:

^: 行首第一个非空白字符

0:绝对行首

$: 绝对行尾

dd: 删除光标所在行

d: 删除命令

p: paste, 粘贴

y: yank, 复制

撤消此前的撤消操作:Ctrl+r

翻屏:

Ctrl+f: 向文件尾部翻一屏

Ctrl+b: 向文件首部翻一屏

测试表达式的类别:

数值比较

字符串测试

文件测试:

存在性测试

-a FILE

-e FILE: 文件存在性测试,存在为真,否则为假;

存在性及类别测试

-b FILE:是否存在且为块设备文件;

-c FILE:是否存在且为字符设备文件;

-d FILE:是否存在且为目录文件;

-f FILE:是否存在且为普通文件;

-h FILE -L FILE:存在且为符号链接文件;

-p FILE:是否存在且为命名管道文件;

-S FILE:是否存在且为套接字文件;

文件权限测试:

-r FILE:是否存在且可读

-w FILE: 是否存在且可写

-x FILE: 是否存在且可执行

文件特殊权限测试:

-g FILE:是否存在且拥有sgid权限;

-u FILE:是否存在且拥有suid权限;

-k FILE:是否存在且拥有sticky权限;

文件大小测试:

-s FILE: 是否存且非空;

文件是否打开:

-t fd: fd表示文件描述符是否已经打开且与某终端相关

-N FILE:文件自动上一次被读取之后是否被修改过;

-O FILE:当前有效用户是否为文件属主;

-G FILE:当前有效用户是否为文件属组;

 双目测试:

FILE1 -ef FILE2: FILE1FILE2是否指向同一个设备上的相同inode

 FILE1 -nt FILE2: FILE1是否新于FILE2;

FILE1 -ot FILE2: FILE1是否旧于FILE2

 组合测试条件:

逻辑运算:

第一种方式:

COMMAND1 && COMMAND2

COMMAND1 || COMMAND2

! COMMAND

[ -e FILE ] && [ -r FILE ]

第二种方式:

EXPRESSION1 -a EXPRESSION2

EXPRESSION1 -o EXPRESSION2

! EXPRESSION

 必须使用测试命令进行;

 

原创文章,作者:kang,如若转载,请注明出处:http://www.178linux.com/76284

(0)
kangkang
上一篇 2015-12-18 16:46
下一篇 2015-12-19 19:17

相关推荐

  • Linux基础知识(六)

    本问主要讲述Linux的基础知识,具体包一下内容: 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysinit /tmp sed "s/^[[:space:]]\?/#/g" /tmp/rc.sysini…

    Linux干货 2016-10-30
  • 第六周练习

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; 1.[root – www ~]#>cp /etc/rc.d/rc.sysinit /tmp/2.[root – www ~]#>vi /tmp…

    Linux干货 2016-12-11
  • N28-第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
    2、取出最后登录到当前系统的用户的相关信息。
    3、取出当前系统上被用户当作其默认shell的最多的那个shell。
    4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
    5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
    6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
    7、显示/var目录下一级子目录或文件的总个数。
    8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
    9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
    10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
    (1)、创建组distro,其GID为2016;
    (2)、创建用户mandriva, 其ID号为1005;基本组为distro;
    (3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
    (4)、给用户mageia添加密码,密码为mageedu;
    (5)、删除mandriva,但保留其家目录;
    (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    (7)、修改slackware的默认shell为/bin/tcsh;
    (8)、为用户slackware新增附加组admins;

    Linux干货 2017-12-19
  • 网络管理

    7层结构。三次握手,四次挥手。

    2017-12-17
  • Hadoop Hive与Hbase整合+thrift

    1.  简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 Hive与HBas…

    Linux干货 2015-04-13
  • LVS的工作原理

    LB Load Balancing:解决方案 硬件: F5 BIG-IP 思杰 Citrix Netscaler A10 A10 Array  Redware 软件:lvs  linux Virtual Server 作者章文嵩博士 ipvs相当于netfilter,工作在内核中,将用户转发    框架,需要依赖以规则…

    Linux干货 2016-12-07