vim用法小结

vim使用:

使用vivim的三种主要模式 : 命令模式,插入模式,扩展模式 

 

扩展模式:

w:写入磁盘文件

wq:写入并退出

x:写入并退出

q:退出

q!不存盘退出,即使更改都将丢失

r filename:读文件内容到当前文件中

w filenane: 将当前文件内容写入到另一个文件中

!command:在当前界面执行命令

r!command:读取命令执行结果到文件中来。

 

移动光标,进入插入模式 v 

i:当前位置插入

I:当前光标所在行行首输入

a:在当前光标所在处后面输入

A:在当前光标所在行的行尾输入

o:当前光标所在行的下方打开一个新的行

O:当前光标所在行的上方打开一个新的行

光标在单词间跳转:

w:跳转到下一个单词的词首

e:跳转到当前单词的词尾或下一个单词的词尾

b:跳转到当前单词的词首或前一个单词的词首

 

当前页面跳转:

H:页首的行首

M:页面中间行首

L:页面尾部行首

 

当前行跳转

0:跳转至当前行的行首

^:跳转至当前行的非空字符行首

$:跳转至行尾

 

行间移动:

数字+G:跳转至数字指定行

G:跳转至最后一行的行首

1G或者gg:跳转至第一行行首

 

句间移动:

):下一句

(:上一句

 

段落间移动:

}:下一段

{:上一段

 

翻屏:

ctrl f:向前翻一屏

ctrl+b:向之前翻一屏

crtl+d:向下翻半屏

ctrl+u:向上翻半屏

 

关闭文件:

ZZ:命令模式下下保存退出

ZQ:不保存退出

 

命令模式下的字符编辑:

x:删除字符

#x:删除光标所在处的#个字符,包括他本身

xp:交换光标所在处的字符及其后面字符的位置

~:在当前光标所在处转换大小写

 

替换字符:

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

-R:进入替换模式,一个个的替换

 

删除操作:

d:删除命令,结合光标跳转字符实现范围删除

d$:删除至行尾(不包括光标所在处的字母)

d^:删除至非空行首(不包括光标所在处的字母)

d0:删除至行首(不包括光标所在处的字母)

dw:删除至下一个单词的词首(都包括光标所在位置的字母)

de:删除至下一个单词的词尾

db:删除至前一个单词的词首或者当前单词的词首

dd删除光标所在行

D:从当前光标删除至行尾。(不包括光标所在处的字母)

wq:保存退出

不保存退出

x:保存退出

 

复制文本 

y:复制,与命令d类似(都包括复制光标所在位置的字母)

y0:复制到行首(不包括光标所在处)

y^:复制到非空行首(不包括光标所在处的字母)

y$:复制到行尾(不包括光标所在处的行尾)

yy:复制当前行

yw:复制当前位置到下一个单词词首(复制包括光标当前所在处的字母)

ye:复制当前位置到下一个单词词尾 (复制包括光标当前所在处的字母)

yb:复制当前位置到当前单词词首或上一个单词的词首(复制包括光标当前所在处的字母)

 

粘贴:

p:缓冲区存的如果为整行,则粘贴当前光标所在行的下方,否则粘贴至当前光标所在处的前面。

P:缓冲区存的如果为整行,则粘贴当前光标所在行的上方,否则粘贴至当前光标所在处的前面。

 

cd的区别在于c可以删除后立刻进入插入模式。

 

 

地址定界 :用于确定搜索范围或者替换范围

start_pos,end_pos #: 具体第#行,例如2表示第2行; 

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

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

2,+3  表示25行 

.: 当前行 

$: 最后一行 

.,$-1 当前行到倒数第二行 

%:全文相当于1,$

 

/pat1/,/pat2/ 从第一次被pat1模式匹配到的行开始,一直到第一次被 pat2匹配到的行结束 #,/pat/ /pat/,$ v 使用方式:后跟一个编辑命令

删除

复制

w  file: 将范围内的行另存至指定文件中 

r  file:在指定位置插入指定文件中的所有内容

例如:1,/^U/dv

 

撤销改变 v

vu撤销最近的更改 v

#u撤销之前多次更改 v

撤消光标落在这行后所有此行的更改 v

 按Ctrl – r重做最后的“撤消”更改 v

重复前一个操作 v

n.重复前一个操作n次 

 

搜索文档 

查找 /PATTERN:从当前光标所在处向文件尾部查找 

?PATTERN:从当前光标所在处向文件首部查找 

n:与命令同方向 

N:与命令反方向v

 

替换:

s: 在扩展模式下完成查找替换操作 

格式:

s/要查找的内容/替换为的内容/修饰符 要查找的内容:可使用模式 替换为的内容:不能使用模式,但可以使用\1, \2, … 等后向引用符号;还可以使用“&”引用前面查找时查找到的整个内容 

修饰符:

i: 忽略大小写 

g: 全局替换;默认情况下,每一行只替换第一次出现 

gc:全局替换,每次替换前询问 v 

查找替换中的分隔符/可替换为其它字符,例如 

%s@/etc@/var@g

%s#/boot#/#i 

第一步:定边界

第二步:s功能替换

第三步:查找的内容用正则匹配,分隔符为@#

第四步:替换的内容可以引用,不能用正则

第五步:参数,g或者ic询问是否覆盖

 

 

vim寄存器 

     有26个命名寄存器和1个无命名寄存器,常存放不同的 剪贴版内容,可以不同会话间共享。 v 

     用ab,,z表示,用“寄存器表示,放在数字和命令之间 

如:

3"tyy 表示复制3行到t寄存器中

 "tp  表示将t寄存器内容粘贴 v 

未指定,将使用无命名寄存器 v 

10个数字寄存器,用01,…,9表示,0存放最近复 制内容,1存放最近删除内容。当新的文本变更和删除 时,1转存到22转存到3,以此类推。数字寄存器不能 在不同会话间共享。 v 

 

可视化和多窗口 v

允许选择的文本块 

面向字符 

面向行 ctrl-v 面向块 v 

可视化键可用于与移动键结合使用: 

w, ) , ,箭头等 v 

突出显示的文字可以被删除,复制,变更,过滤,搜索/替换等。这就是可视化存在的最大意义。

 

vim FILE1 FILE2 FILE3 … 

:next 下一个 

:prev 前一个 

:first 第一个 

:last 最后一个 

:wall 保存所有 

:qall 退出所有 

:wqall

 

定制vim的工作特性:

 配置文件:永久有效 

全局:/etc/vimrc 

个人:~/.vimrc 

扩展模式:当前vim进程有效 v

(1) 行号 显示:set number, 简写为set nu 取消显示:set nonumber, 简写为set nonu v

(2) 括号成对匹配 匹配:set showmatch, 简写为set sm 取消:set nosm

(3) 自动缩进 启用:set ai 禁用:set noai v

(4) 高亮搜索 启用:set hlsearch 禁用:set nohlsearch v

(5) 语法高亮 启用:syntax on 禁用:syntax off v

(6) 忽略字符的大小写 启用:set ic 不忽略:set noic

(7) 文件格式 启用:fileformat=unix 不忽略: fileformat=dos v

(8) 设置文本宽度 :set textwidth=65 (vim only) :set wrapmargin=15 

 

 20160808作业:

4、如何设置tab缩进为4个字符?

在家目录下创建~/vimrc文件,添加参数tabstop=4.

5、复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log;

cp -a /etc/rc.d/init.d/functions /tmp

vim /tmp/functions

%s@/etc/sysconfig@/var/log@g

6、删除/tmp/functions文件中所有以#开头,且#后面至少有一个空白字符的行的行首的#号;

vim /tmp/functions

:%s@^#\([[:space:]]\+\)@\1@


 

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

(0)
liuzhuoliuzhuo
上一篇 2016-08-12
下一篇 2016-08-12

相关推荐

  • 高级文件系统管理之磁盘配额及RAID的运用

    本章内容 设定文件系统配额 设定和管理软RAID设备 一,概述 配置配额系统: 综述 在内核中执行 以文件系统为单位启用 磁盘配额最小单位是以文件系统为单位启用,就是一个挂载点,而不能以目录为单位 对不同组或者用户的策略不同 根据块或者节点进行限制 执行软限制(soft limit) 硬限制(hard limit) 初始化 分区挂载选项:usrquota、g…

    Linux干货 2016-09-07
  • 基于haproxy实现wordpress动静分离

    环境:centos 6.8 注:此处省略对于各服务器的IP配置。 一:图示讲解      用户访问vip,通过haproxy代理得到服务器的资源。此架构下基于keepalived对haproxy做负载均衡(此种两种软件装在同一台服务器),基于haproxy对Nginx和apache做负载均衡,Nginx和Apache使用共享存储…

    2017-05-18
  • 用户、组、权限 等相关命令

    用户、组、文件权限属性 1、用户和组的配置文件 在Linux中用户和组的配置文件主要为: /etc/passwd :存放用户及其属性的信息(名称、GID、UID) /etc/group :存放组及其属性信息 /etc/shadow :存放用户密码及其相关属性 /etc/gshadow :存放组密码及其相关属性 (1)、/etc/passwd的格式 root:…

    Linux干货 2017-07-29
  • 第一周作业

    1. 描述计算机组成及其功能 说到计算机组成,就必须提及计算机之父冯洛伊曼先生。是他早年最先提出了计算机体系结构的设想,并沿用至今。 计算机由五大基本组件组成: 运算器 进行算术运算和逻辑运算的主要部件; 控制器 控制器从存储器中逐条取出指令、分析指令,然后根据指令要求产生一系列命令,控制计算机各部件; 存储器 分为内存和外存,…

    Linux干货 2016-12-02
  • LINUX命令历史

    LINUX命令历史 LINUX的命令历史是什么? linux的命令历史的作用是,记录执行过的命令。如果你经常使用 Linux 命令行,那么使用 命令历史可以有效地提升你的效率。history(管理历史命令)语法:[root@localhost]#history(选项)(参数)选项:n:n为数字,要列出最近的 n 笔命令列表-c(清空所有历史命令)-d (删除…

    2017-09-14
  • 20161014作业

    2016/10/14作业: ##操作类: 1. 设置自己的终端提示符,要求字符终端登录时: a> 需要带颜色 b> 需要显示当前执行到了第几条命令 c> 显示当前登录终端,主机名和当前时间 2、使用shutdown命令于5分钟后重启自己的PC机 3. 学习man,学会使用a> ls递归列出/usr目录下所有文件, b> 列出目录…

    Linux干货 2016-10-20