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

相关推荐

  • OpenSSL

    三个组件: openssl: 多用途的命令行工具; libcrypto: 加密解密库; libssl:ssl协议的实现; PKI:Public Key Infrastructure CA RA CRL 证书存取库  建立私有CA: OpenCA openssl  证书申请及签署步骤: 1、生成申请请求; 2、RA核验; 3、CA签署; 4…

    Linux干货 2015-03-21
  • 系统启动及内核管理

    一、知识整理 1、nohup 命令:不挂断地运行命令,远程连接当断网或断开shell时还可以继续运行。无论是否将nohup命令的输出重定向到终端,输出都将附加到当前目录下的nohup.out文件中,如果当前不可写,则重定向到家目录nohup.out文件,除非定义了输出文件。 nohup COMMAND 输出重定向至文件 nohup COMMAND &…

    Linux干货 2016-09-19
  • mysql主从复制及zabbix监控从服务器

    Mysql备份: 备份系统的构建,要注意的要点: 第一:能容忍最多丢失多少数据; 第二:恢复数据需要在多长时间内完成; 第三:需要恢复哪些数据:备份时要考虑备份完整; (1)必须做还原测试,用于测试备份的可用性; (2)还原演练;不是一个人能够完成的; 备份类型: 完全备份:就是备份整个数据集,是从时间轴上划分的,完整数据集;; 部分备份:只备份数据子集; …

    Linux干货 2016-12-05
  • bash功能特性三 命令的引用、展开和补全

    一、bash的补全功能     1、命令补全     根据内建命令或外部命令的查找方式,查找以用户指定的字符串开头的命令,如果用户指定的开头字符串能惟一标识某命令,则tab键可以补全此命令,否则,则两次tab链可显示所有以指定字符串开头的命令。   &nbsp…

    Linux干货 2015-04-15
  • 源码编译安装Apache

    编译安装Apache 系统环境:centos 7.2 前提: 提供开发工具及开发环境 开发工具:make, gcc等 开发环境:开发库,头文件 glibc:标准库 方式: 通过“包组”提供开发组件 centos 6 [root@centos6 ~]# yum groupinstall "Develo…

    Linux干货 2016-08-24
  • linux 入门基础

    Linux概念部分: 1.CPU是Central Processing Unit的缩写,即中央处理器。由控制器和运算器组成,是计算机系统种最要组成部分。2.内存是介于CPU和外部存储之间,是CPU对外部存储中成粗与数据进行高速运算时存放程序指令、数据和中间结果的临时场所,它飞物理实质就是一组具备数据输入输出和数据存储功能的高速集成电路。3.内存是CPU能直接…

    Linux干货 2017-09-03