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
下一篇 2015-12-19

相关推荐

  • GPG——另一种加密信息的方式

    GPG ·使用gpg实现对称加密 ·对称加密file文件          gpg -c file          ls file.gpg ·在另一台主机上解密file   &n…

    Linux干货 2016-09-22
  • shell通配符与正则表达式

        通配符是系统level的 而正则表达式需要相关工具的支持: egrep, awk, vi, perl。在文本过滤工具里,都是用正则表达式,比如像awk,sed等,是针对文件的内容的。通配符多用在文件名上,比如查找find,ls,cp,等等。 1.通配符       (1)…

    Linux干货 2016-02-28
  • 习题

    1、找出ifconfig命令结果中本机的所有IPv4地址 2、查出分区空间使用率的最大百分比值 3、查出用户UID最大值的用户名、UID及shell类型 4、查出/tmp的权限,以数字方式显示 5、统计当前连接本机的每个远程主机IP的连接数,并按从大到小排序 6、显示/proc/meminfo文件中以大小s开头的行;(要求:使用两种方式) 7、显示/etc/…

    Linux干货 2016-08-07
  • 内核与内核模块

    内核与内核模块 先来看一下,内核与内核模块放在哪?这里以centos6为例 内核: /boot/vmlinuz或/boot/vmlinuz-version 内核解压所需要RAMDisk: /boot/initrc(/boot/initrc-version) 内核模块:/lib/modules/version/kernel或/lib/modules/uname…

    2017-09-04
  • 马哥教育网络班21期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 # cp -a /etc/skel /home/tuser1 # chmod -R g-rwx,o-rwx /home/tuser1/ 2、编辑…

    Linux干货 2016-07-16
  • N22-第六周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; :%s@[[:space:]]\+@#&@g    2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; :%s#…

    Linux干货 2016-09-26