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

相关推荐

  • IO重定向和管理及管道

    IO重定向   通常对程序来讲,输入输出数据可以是键盘、鼠标、显示器等;IO重定向就是将原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器输出而是希望输入到某以文件中的可以通过Linux重定向进行这项工作。  IO重定向和FD(File Descriptor)有关。      标准输入(std…

    Linux干货 2016-08-05
  • 心清冷其若冰,志皎洁其若云

    第一篇,当做测试也做开始。 心清冷其若冰,志皎洁其若云。 这闹哄哄的人间啊,仿佛是一堆杂货。无奇不有,无所不能。情感,城市,人际。每天走在这杂乱里,需要有一颗清澈而安静的心,来面对。 会累的。就算是拥有了许多,也是会累的。偶尔,我们也会在深夜里泪流满面吧。偶尔,我们也会心烦意乱的不知所措吧。 太多欲望的人间,热闹的上演着各种剧本。太多空洞的灵魂,喧嚣着各种声…

    Linux干货 2016-11-28
  • linux基础(第二天)

    一、终端:ternimal     COMMAND:tty     串行终端:/dev/ttyS#      物理终端:/dev/console 键盘显示器 单一用户     虚拟终端:/d…

    Linux干货 2016-07-26
  • linux网络配置

    一、 网络基本配置:  真不敢想象没有网络的一天应该怎样度过,但是有了网络就行了?原来刚有了网络时由于没有统一的标准,各大硬件厂商各自为政,都在搞网络,但是都只是同一厂商的设备可以进行通讯,就和不同的国家的人交流使用了不同的语言一样,难以将所有的网络连接起来,之后Internet有了统一的标准,大家都遵循它的标准,后来计算机才能进行网络通讯,同样将…

    Linux干货 2016-09-13
  • varnish

    Web Page Cache: squid –> varnish程序的运行具有局部性特征:时间局部性:一个数据被访问过之后,可能很快会被再次访问空间局部性:一个数据被访问时,其周边的数据也有可能被访问到 cache:命中 热区:局部性;时效性:缓存空间耗尽:LRU过期:缓存清理 缓存命中率:hit/(hit+miss)(0,1)页面命中率:…

    Linux干货 2017-05-22