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)
上一篇 2015-12-18 16:46
下一篇 2015-12-19 19:17

相关推荐

  • redis主/从配置及基于sentinel的故障转移

     一、NoSQL基础概念: ACID:原子性、一致性、隔离性、持久性;特性:数据量大、数据变化非常大(数据增长化、流量分布变化、数据间耦合结构变化)、数据源很多; CAP、BASECAP C:多个数据节点的的数据一致;A:用户发出请求后的有限时间范围内返回结果;P:network partition,网络发生分区后,服务是否依可用;CAP理论:一个分布式系统…

    Linux干货 2017-12-18
  • LB-lvs

    Linux Cluster: Cluster:计算机集合,为解决某个特定问题组合起来形成的单个系统; Linux Cluster类型: LB:Load Balancing,负载均衡; HA:High Availiablity,高可用; A=MTBF/(MTBF+MTTR) (0,1):90%, 95%, 99%, 99.5%, 99.9%, 99.99%, …

    Linux干货 2017-06-25
  • LAMP—Apache编译安装

    一、前言:   httpd-2.2与 httpd-2.4版本相比增加了许多新特性:    1、MPM支持运行时装载    2、支持event    3、支持异步读写    4、支持每模块每目录使用不同的日志级别    5、每请求配置<IF&gt…

    Linux干货 2015-06-15
  • CentOS程序包管理

    对于Linux系统而言,其能执行的程序为二进制格式,而对于程序开发者而言,直接利用二进制开发程序是不太现实的,所以一般都是利用高级语言来进行软件开发,其程序也即称为源代码;那么我们在对一个程序进行安装、升级、卸载、 查询、校验等操作时,需要对每个源代码进行编译成为二进制程序,那么显然是不太现实的。所以在各Linux发行版中一般都带有程序包管理器。 所谓程序包…

    Linux干货 2016-08-25
  • 逻辑卷管理工具lvm2

    lvm2:location Volume Manage Version 2 linux支持逻辑卷的模块为dm模块                        dm模块是将一个或多个底层物理设备组织成一个逻辑设备的模块。 在CentOS中,…

    Linux干货 2016-03-27