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
下一篇 2017-08-05

相关推荐

  • sed文本处理工具

    Sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转…

    Linux干货 2017-12-02
  • http和apache服务器

    超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。 http/1.1 :1997年1月 引入了持久连接(persistent connection) , tcp连接默认不关闭,可以被多个请…

    2017-12-05
  • git

    1.1 Git的安装 1.1.1 版本 # cat /etc/redhat-release CentOS release 6.8 (Final) # uname -r 2.6.32-642.4.2.el6.x86_64 # uname -m x86_64 1.1.2 安装 可以直接通过源码安装。先从Git官网下载源码,然后解压,…

    Linux干货 2016-10-31
  • 8月3日课堂笔记

    课堂笔记 linux用户和组管理(非常非常重要)    用户管理和组管理各种相关的应用程序    简单的管理命令 安全上下文:   每次对主机操作都是以发起一个进程来完成的,进程代表着人来执行操作,进程以其发起者的身份来运行;所以开机时有很多守护类的进程,我们应该以普通身份来运行,普通用户通常都是系统用户;从来不用登陆系统的;进程对文件的访问权限,取决于发起…

    Linux干货 2016-08-04
  • 设计模式(二)单件模式Singleton(创建型)

      几乎所有面向对象的程序中,总有一些类的对象需要是唯一的,例如,通过数据库句柄到数据库的连接是独占的。您希望在应用程序中共享数据库句柄,因为在保持连接打开或关闭时,它是一种开销。再如大家最经常用的IM,如QQ,在同一台电脑,一个帐号只能有唯一的登录。 1. 问题 怎样确保一个特殊类的实例是独一无二的(它是这个类的唯一实例),并且这个实例…

    Linux干货 2015-06-24
  • Linux grep与正则表达式浅析

    #Linux grep与正则表达式浅析 ##grep   grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 ###grep语法    &n…

    Linux干货 2017-04-06