vim基本总结

ASCII可以将计算机存储的01转成我们认识的文字。在Linux中,绝大部分的配置文件都是以ASCII的纯文本形态存在。通过文本编辑器,可以实现对这些文本文件的更改。常风的文本编辑器有emacs, pico,nano,joevivimvi的升级版)等。那么为会么要学vi呢?

l 因为vi是内置编辑器,系统安装好就有了

l 很多软件的编辑接口都会主动呼叫vi(如crontab,visudo,edquota等指令)

l 简单易用

l Vim界面设计方便程序编辑

让我们来讲讲vim是怎么用的吧!^_^

Vi包括三种模式:命令模式

扩展命令模式(也叫末行模式)

插入模式

其关系如下

命令模式————–>插入模式

i: 在光标所在处插入

I: 在光标所在行行首插入

a: 在光标所在处后面插入

A: 在光标所在行的行尾插入

o: 在光标所在行的下方插入一行

O:在光标所在行的上方插入一行

插入模式—————>命令模式

ESC

命令模式—————>扩展命令模式

 输入: , ? , /

扩展命令模式—————->命令模式

按两次ESC键,或ENTER

扩展命令模式与插入模式相互不能直接进入,必须通过命令模式

扩展命令模式:

r filenmae 读文件内容到当前文件中

w filename 将当前文件的内容写入另一个文件

!command 执行命令

r!command 读入命令的输入

#: 具体第几行,2表示第二行

#,#: 从左侧#表示起始行,到右侧#表示结束行

#+#:从左侧#表示起始行,加上右侧#表示的行

Eg: 2+3

. : 当前行

$ :最后一行

% :全文

 

 

命令模式:

字符间跳转:

h : 左  

l :

k :

j :

当前页跳转:

H : 跳到页首

M : 跳到页中间

L : 跳到页尾

行首间跳转:

^ : 跳转到行首的第一个非空白字符

0 : 跳转到行首

$ : 跳转到行尾

命令模式翻屏:

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

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

字符编辑:

x :删除光标后的字符

x#: 删除光标起始位置的第#个字符

J: 删除当前行后的换行符

~: 转换字符大小写

替换命令:

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

R: 切换成replace模式

命令模式操作

d : 结合光标删除字符

d$: 删除光标所在处到行尾的内容

d^: 删除光标所在处到行首的非空白字符

d0:删除光标所在处到行首的内容

dd: 删除光标所在的行

dd#:多行删除

y : 结合光标键进行复制,再用p粘贴

y$: 复制光标所在处到行尾的内容

y^: 复制光标所在处到行首的非空白字符

y0: 复制光标所在处到行首的内容

yy: 复制整行

yy#: 复制多行

p: 如果缓存区存储的是整行,则粘贴在光标所在行的下一行;否则,则粘贴在光标所在处的后面

P: 如果缓存区存储的是整行,则粘贴在光标所在行的上一行;否则,则粘贴在光标所在处的前面

c: 修改(删除)后切换到插入模式

c$: 修改光标所在处到行尾的内容

c^:修改光标所在处到行首的非空白字符

c0:修改光标所在处到行首的内容

cc: 删除当前行,并输入新内容

cc#: 删除多行,并输入新内容

u : 撤消前面的操作

#u: 撤消前面的操作#

U:撤消光标落在这行后所做的所有操作

. : 重复前面的操作

n. : 重复前面的操作n

r : 重做前面的修改

 

 

插入模式:

Vim使用的步骤:

vim file 回车进入编辑器

进入编辑器后模式的切换,在本文前面已经总结过了^_^

vim 参数:

-b file 二进制打开文件

-m file 只读打开文件

-d file1 file2 比较多个文件

ex filevim -e 直接进入扩展命令模式

vim 退出方式:

在扩展命令模式下输入以下字符:

wq! :强制保存退出

wq :保存退出

q! :强制退出

q :退出不保存

x :保存退出

在命令模式下可以敲以下键:

ZZ :保存退出

ZQ :不保存退出

chmod +x file 给文件赋予执行权限

./file 运行文件

 

下面是演示和解说:

1

vim基本总结

2

vim基本总结

3

vim基本总结

图中的这些信息:

#!/bin/bash是必须指明的,bash代表该脚本使用的是bash脚本

echo “Welcom to linux”表示输出“Welcom to linux”到标准输出上

4

vim基本总结

5

vim基本总结

 

 

 

 

 

 

 

 

 

 


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

(0)
xxcjxxcj
上一篇 2017-08-05 16:43
下一篇 2017-08-05 17:13

相关推荐

  • CentOS7 实现网卡绑定

    Bonding ;理念 将多块网卡绑定同一IP地址对外提供服务,可以实现高可用 或者负载均衡。直接给两块网卡设置同一IP地址是不可以的 。通过bonding,虚拟一块网卡对外提供连接,物理网卡的 被修改为相同的MAC地址 banding工作模式 Mode 0 (balance-rr) 轮转(Round-robin)策略: 从头到尾顺序的在每一个slave 接…

    2017-12-19
  • inotify介绍及rsync + inotify 实时同步备份

    1、前言 rsync (remote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机间文件的同步,还能结合crond任务计划来执行自动备份,又可以结合ssh实现远程数据备份的安全,种种特性使他看起来相当优秀。但如果需备份数据十分庞大时,它的不足之处就显现出来了,比如每次执…

    Linux干货 2016-06-15
  • Linux Kernel

    Linux Kernel 概述:文章将主要介绍Linux 内核的相关信息,包括内核各组成部分的详细介绍,其中有内核信息的获取命令,uname;内核模块管理类命令:lsmod,modinfo,modprobe,insomd,rmmod;ramdisk生成的相关命令,mkinitrd和dracut命令;以及linux中的两个为文件系统 /proc和/sys。最后…

    Linux干货 2016-09-19
  • rsyslog, mysql, loganalyzer联合实现

    一. rsyslog简介 rsyslog是一个自由软件, 是GPL的lincesed增强的syslogd. 它提供了Mysql和完全可配置的输出格式的支持. 1. 日志信息格式:      <优先级>时间戳 主机名 模块名/级别/信息摘要:内容      <priority>…

    Linux干货 2016-10-24
  • redis/twemproxy 客户端连接异常

    对于一个DBA,客户端连接异常问题可以说是家常便饭的事情,处理多了都想吐。 root cause无疑发生在三个地方,先找自身的原因,依次排查下去: 1)服务器端db的负载,如果负载太高,创建socket太慢引起超时。另外服务器端socket的个数太多,也可以导致创建连接需要很长的时间或者创建连接不成功。 2)网络是够有抖动,包括lvs/twemproxy重启…

    Linux干货 2015-04-03