vim的使用

本文主要讲述vim的使用

一.vim是什么?

vim是一个十分著名也十分强大的编辑器,是vi的增强版,是一个模式化的编辑器,英文名称为 Visual Interface iMprove,在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器的美称。

二.vim的工作模式

 (1)编辑模式:也叫命令模式,通过编辑命令实现对文件的编辑

 (2)输入模式:在文件中输入文件内容

 (3)末行模式:vim的内置命令行接口,执行vim的内置命令

三.vim的使用

1.打开文件

 (1)打开文件:

 vim  [option]  [file]

(2)打开文件后直接定位在指定行

 vim +line_number file 

(3)打开文件后直接定位在某个模式匹配到的行

vim +/pattern file

2.模式转换

打开文件默认是编辑模式,通过一下方式进行模式转换:

(1)ESC键:输入模式转换为编辑模式

(2)先按ESC,然后数如":" : 输入模式转换为命令模式

(3)输入“:” : 编辑模式转换为末行模式

(4)ESC:末行模式转换为编辑模式

(5)从编辑模式转换为输入模式的方法

i:在光标多在的前方转换为输入模式
a:在光标所在的后方转换为输人模式
o:在光标所在行的下方新建一个空白行
O:在光标所在行的上方新建一个空白行
I:在光标所在行的行首转换为输入模式
A:在光标多在行的行尾转换为输入模式

3.完成文件的编辑,退出文件

要想退出文件,必须转换到末行模式,在窗口的左下方显示冒号,输入相应的命令

q:退出但是不保存对文件的编辑
q!:强制退出,并且不保存对文件的编辑
wq:退出保存对文件的编辑
x:保存对文件的修改并退出
wq!:强制保存并退出
w /path/to/file 保存到指定文件中

也可以在编辑模式中通过快捷键ZZ保存退出。

4.光标移动

这里所说的光标移动是指在编辑模式之下:

(1)字符间跳转

h:向左移动一个字符
l:向右移动一个字符
j:向下移动一个字符
k:向上移动一个字符

注意:

跳转还支持多个字符之间跳转,可以使用:数字+对应命令来跳转指定的字符个数,例如:

4h:表示向左移动4个字符,同理,对于其他命令也适用。


(2)单词间跳转,同样支持数字加命令的多单词间跳转的使用方式

w:移动到下一个单词的词首,注意,这里说的单词是以空格为分隔标准,word123也是一个单词
e:跳到当前单词的词尾或下一个单词的词尾
b:当前单词的词首或下一个单词的词首


(3)行内移动

^:跳到本行行首的第一个非空字符
0:跳到本行的绝对行首行首,即使行首有空格,也会跳到本行的最左侧
$:跳到本行的行尾

(4)行间移动

#G:跳转到第#号行
gg或1G:跳转至行首
GG:跳转至行尾

5.编辑命令

(1)删除操作:注意是指在编辑模式下的操作

x:删除光标所在之处的字符
#x:删除光标开始之后的#个字符
d:删除光当前标所在行
#dd:删除光标开始的连续#行

(2)复制命令

y:复制命令
Y或yy:复制行
#y:复制当前行至之后的多少行

(3)粘贴命令

p:缓冲区如果存在整行,则粘贴至光标所在的下方
P:缓冲区如果存在整行,则粘贴至缓冲区所在的上方

(4)修改命令

修改的意思就是:先删除,在转换为输入模式

C或cc:删除光标所在行,然后转换为输入模式

#cc:删除光标所在行开始之后的连续的#行

注意:以上四种命令均可组合位置锚定字符进行使用,完成对指定范围内的内容进行相应的操作,位置锚定包括:

w:光标所在之后的一个单词
e:光标所在之前的一个单词
b:光标所在的上一行
$:锚定光标所在的行尾
^:锚定光标所在的行首
0:锚定光标所在的绝对行首

6.vim的可视化模式

v:选中光标所经过的字符
V:选中光标所经过的行

注意:当选中后,可以通过编辑命令进行操作:d(删除),y(复制),c(修改)

7.撤销操作

u:撤销最近以一次的操作
#u:撤销最近的#次操作
ctrl+r:撤销此前的撤销操作

8.翻屏操作

ctrl+d:向文件的尾部翻半屏
ctrl+u:向文件的首部翻半屏
ctrl+f:先文件的尾部翻一整屏
ctrl+b:向文件的首部翻一整屏

9.vim的末行模式

(1)内容定界

必须先进入末行模式,基本方式:start,end,其他的方式有:

#:锚定第#行
#1,#2:锚定从第#1行到#2行
#1,+#2:锚定#行到之后的#2行
.:锚定当前行
$:锚定组后一行
%:全文
#,$-1:#行到倒数第二行
/p1/,/p2/:从第一次被模式p1匹配到的行到第一次被模式p2匹配到的行
#,/p1/:从第#行到第一次被模式p1匹配到的行
/p1/,$:第一次被模式匹配到的行到最后一行

(2)查找

/pattern:从当前光标往后查找
?pattern:从当前光标往前查找,查找时可以使用n查看后一个,N查看前一个

(3)查找并替换

s/所要替换的内容/要替换成的内容/修饰符
所要替换的内容:通过正则表达式来指定
要替换成的内容:不能通过模式来指定,要指定具体要替换的内容
修饰符:i:忽略大小写;g:进行全局替换

10.多窗口模式

(1)多窗口打开文件

vim -o file1 file2 :水平分割显示
vim -O file1 file2:垂直分割显示

(2)窗口间进行切换

按下ctrl之后连敲两下w
命令模式下:next
命令模式下:previous
命令模式下:last
命令模式下:first
wqall:退出并保存所有的修改
qall:退出不保存修改

11.vim的属性设置

对于vim的属性设置,可以在命令模式下设置,不过仅对当前vim进程有效,要向永久有效,则应该将其配置信息写入其配置文件中,全局的配置文件为/etc/vimrc,对所有用户都生效,用户个人的配置为~/.vimrc,仅对当前用户有效。

常用配置为:

set ai:开启自动缩进功能
set noai:关闭自动缩进功能
set nu:显示行号
set nonu:关闭显示行号
set ic:忽略字母大小写
set noic:不忽略字母大小写
syntax on:开启语法高亮显示功能
syntax off:关闭语法高亮显示功能
set hlsearch:开启搜索匹配时高亮显示
set nohlsearch:关闭搜索匹配时高亮显示功能

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

(0)
zhangbaozhangbao
上一篇 2016-10-29 12:27
下一篇 2016-10-29 14:00

相关推荐

  • mongodb的复制集实现

    简介:  mongodb有两种类型的复制,第一种是同于MySQL的主从复制模式,第二种是复制集,提供了自动故障转移的主从复制集群。其中复制集没有固定的主节点,当一个主机的故障后从节点会重新“选举”出一个新的主节点,从而提高的系统的可用性 一、实验环境: (1)各节点信息: node1: 172.16.2.12 node2: 172.16.2.13 …

    Linux干货 2015-09-05
  • Linux下常用压缩工具总结

    gzip: 1)只能针对普通文件进行压缩,对文件夹、符号链接无效。 2)如果想对多个文件一起压缩并打包,gzip是无法办到的,需要结合tar进行 [root@mysql-master databackup]# ll 总用量 32 drwx—— 2 root root 4096&nb…

    Linux干货 2016-12-05
  • mysql进阶至mysql备份基础及备份工具

    一、mysql备份、恢复基础 备份:存储的数据副本 还原:把副本应用到线上系统,仅能恢复至备份操作时刻的数据状态。 硬件上的冗余并不能有效恢复逻辑操作上的错误。 备份:数据备份、服务配置文件备份、系统环境备份。程序的运行依赖于一定的系统环境,仅提供数据本身并不能确保恢复数据之后系统可用,数据备份的目的在于确保系统出现不可预料的灾难事故之后能够快速恢复运行,降…

    2016-11-18
  • N28 第三周【2】:用户和组管理

    用户和组管理 前言 Linux用户管理非常关键且重要,Linux的所有进程都是以不同的身份拥有不同的权限来运行和调度资源的。但是我们不用费劲心思去管理,因为系统将用户划分成为了两部分:无所不能的root用户和普通用户。同时呢,又将普通用户分为系统用户和登录用户。对于Linux,他会用UID去快速识别用户身份,对于我们,可以用用户名去识别。 接下来介绍一下用户…

    Linux干货 2017-12-19
  • ansible进阶(roles应用)

    ansible 进阶 一、roles简介 一个项目从开始到结束,不是简单几十个playbook就可以完事了,当文件数很多,有上百个的话,仅通过简单的includes不停的引用,那最终的结果错综复杂。这个时候ansible roles就可以很好的发挥它的作用了。 roles,字面意思是角色的含义,可以理解为有相互关联功能的集合。我们把安装ntp、mem、ngi…

    2017-01-05
  • VimTutor(上)

    柚子翻译,如有理解错误或翻译错误,请指正! VimTutor Vim是一款强大的文本编辑器,拥有多命令的特性,tutor解释了其中大多数命令。 tutor是为了描述足够多的Vim命令帮助你轻松使用Vim而被制作的,使Vim能成为一个可完成你所有工作意图的编辑器。 完成tutor的内容大概需要25-30分钟,所完成时间取决于你通过时间积累的经验。 注意: 1.…

    Linux干货 2015-10-18

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-01 22:49

    博客写得非常的好,32个赞,vim的总结非常详细,加油!