一 Vim 简单介绍

曾经一直用vi,近期開始使用 vim,以下将两者做一下比較。

vi和vim都是word=%E5%A4%9A%E6%A8%A1&fr=qb_search_exp&ie=utf8" rel="nofollow" shape="rect" style="margin:0px; padding:0px; border:0px; line-height:1.428571em; word-break:break-all; color:rgb(4,122,198)">多模word=%E7%BC%96%E8%BE%91%E5%99%A8&fr=qb_search_exp&ie=utf8" rel="nofollow" shape="rect" style="margin:0px; padding:0px; border:0px; line-height:1.428571em; word-break:break-all; color:rgb(4,122,198)">编辑器,不同的是vim 是vi的升级版本号,它不仅兼容vi的全部指令,并且另一些新的特性在里面。

vim的这些优势主要体如今下面几个方面:
1、多级撤消
在vi里,按 u仅仅能撤消上次命令,而在vim里能够无限制的撤消。
2、易用性
vi仅仅能执行于unix中,而vim不仅能够执行于unix,windows ,mac等多操作平台。
3、语法加亮
vim能够用不同的颜色来加亮你的代码。
4、word=%E5%8F%AF%E8%A7%86%E5%8C%96&fr=qb_search_exp&ie=utf8" rel="nofollow" shape="rect" style="margin:0px; padding:0px; border:0px; line-height:1.428571em; word-break:break-all; color:rgb(4,122,198)">可视化操作
就是说vim不仅能够在终端执行。也能够执行于x window、 mac os、 windows。 5、对vi的全然兼容
某些情况下,你能够把vim当成vi来使用。

二 安装

使用一下命令  #sudo apt-get install vim

三 配置

vim默认的配置使用起来还不能让人惬意,还须要自己配置

默认配置文件是:/etc/vim/vimrc

我们能够在家文件夹下建立自己的配置文件

切换到家文件夹 

#cd ~

#vi .vimrc

输入下面配置:

set nocompatible         #不使用vi默认键盘布局   

set number               #显示行号

set autoindent           #自己主动对齐

set smartindent          #智能对齐

set showmatch            #括号匹配模式

set ruler                #显示状态行

set incsearch            #查询时很方便。如要查找book单词,当输入到/b时。会自己主动找到   第一个b开头的单词,当输入到/bo时。会自己主动找到第一个bo开头的单词,依次类推,进行查找时。使用此设置会高速找到答案。当你找要匹配的单词时,别忘记回车.

set tabstop=4            #tab键为4个空格

set shiftwidth=4        #换行时行间交错使用4个空格

set softtabstop=4       #设置(软)制表符宽度为4

set cindent              #C语言格式对齐

set nobackup             #不要备份文件

set clipboard+=unnamed   #与windows共享剪贴板

四 经常使用命令

1.移动光标

1、左移h、右移l、下移j、上移k

2、向下翻页ctrl + f,向上翻页ctrl + b

3、向下翻半页ctrl + d。向上翻半页ctrl + u

4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^

5、移动光标到下一个句子 )。移动光标到上一个句子(

6、移动到段首{,移动到段尾}

7、移动到下一个词w,移动到上一个词b

8、移动到文档開始gg,移动到文档结束G

9、移动到匹配的{}.().[]处%

10、跳到第n行 ngg 或 nG 或 :n

11、移动光标到屏幕顶端H。移动到屏幕中间M,移动究竟部L

12、读取当前字符,并移动到本屏幕内下一次出现的地方 *

13、读取当前字符,并移动到本屏幕内上一次出现的地方 #

2.
查找替换

1、光标向后查找keyword #或者g#

2、光标向前查找keyword *或者g*

3、当前行查找字符 fx, Fx, tx, Tx

4、基本替换 :s/s1/s2 (将下一个s1替换为s2)

5、所有替换 :%s/s1/s2

6、仅仅替换当前行 :s/s1/s2/g

7、替换某些行 :n1,n2 s/s1/s2/g

8、搜索模式为 /string,搜索下一处为n,搜索上一处为N

9、制定书签 mx, 可是看不到书签标记。并且仅仅能用小写字母

10、移动到某标签处 `x,1旁边的键

11、移动到上次编辑文件的位置 `.

PS:.代表一个随意字符 *代表一个或多个字符的反复

正則表達式的内容将会在兴许文章中整理

3.编辑操作

1、光标后插入a, 行尾插入A

2、后插一行插入o,前插一行插入O

3、删除字符插入s。 删除正行插入S

4、光标前插入i。行首插入I

5、删除一行dd,删除后进入插入模式cc或者S

6、删除一个单词dw。删除一个单词进入插入模式cw

7、删除一个字符x或者dl,删除一个字符进入插入模式s或者cl

8、粘贴p,交换两个字符xp。交换两行ddp

9、复制y,复制一行yy

10、撤销u,重做ctrl + r,反复.

11、智能提示 ctrl + n 或者 ctrl + p

12、删除motion跨过的字符,删除并进入插入模式 c{motion}

13、删除到下一个字符跨过的字符。删除并进入插入模式,不包含x字符 ctx

14、删除当前字符到下一个字符处的全部字符,并进入插入模式。包含x字符,cfx

15、删除motion跨过的字符,删除但不进入插入模式 d{motion}

16、删除motion跨过的字符,删除但不进入插入模式,不包含x字符 dtx

17、删除当前字符到下一个字符处的全部字符。包含x字符 dfx

18、假设仅仅是复制的情况时。将12-17条中的c或d改为y

19、删除到行尾能够使用D或C

20、拷贝当前行 yy或者Y

21、删除当前字符 x

22、粘贴 p

23、能够使用多重剪切板。查看状态使用:reg。使用剪切板使用”。比如拷贝到w寄存器,”wyy,或者使用可视模式v”wy

24、反复运行上一个作用使用.

25、使用数字能够跨过n个区域,如y3x,会拷贝光标到第三个x之间的区域,3j向下移动3行

26、在编写代码的时候能够使用]p粘贴,这样能够自己主动进行代码缩进

27、 >> 缩进全部选择的代码

28、 << 反缩进全部选择的代码

29、gd 移动到光标所处的函数或变量的定义处

30、K 在man里搜索光标所在的词

31、合并两行 J

32、若不想保存文件,而又一次打开 :e!

33、若想打开新文件 :e filename。然后使用ctrl + ^进行文件切换


4.
窗体操作

1、分隔一个窗体:split或者:vsplit

2、创建一个窗体:new或者:vnew

3、在新窗体打开文件:sf {filename}

4、关闭当前窗体:close

5、仅保留当前窗体:only

6、到左边窗体 ctrl + w, h

7、到右边窗体 ctrl + w, l

8、到上边窗体 ctrl + w, k

9、到下边窗体 ctrl + w, j

10、到顶部窗体 ctrl + w, t

11、究竟部窗体 ctrl + w, b

5.
宏操作

1、開始记录宏操作q[a-z],按q结束,保存操作到寄存器[a-z]中

2、@[a-z]运行寄存器[a-z]中的操作

3、@@运行近期一次记录的宏操作

6.
可视操作

1、进入块可视模式 ctrl + v

2、进入字符可视模式 v

3、进入行可视模式 V

4、删除选定的块 d

5、删除选定的块然后进入插入模式 c

6、在选中的块同是插入同样的字符 I<String>ESC

7.
跳到声明

1、[[ 向前跳到顶格第一个{

2、[] 向前跳到顶格第一个}

3、]] 向后跳到顶格的第一个{

4、]] 向后跳到顶格的第一个}

5、[{ 跳到本代码块的开头

6、]} 跳到本代码块的结尾

8.
挂起操作

1、挂起Vim ctrl + z 或者 :suspend

2、查看任务 在shell中输入 jobs

3、恢复任务 fg [job number](将后台程序放到前台)或者 bg [job number](将前台程序放到后台)

4、运行shell命令 :!command

5、开启shell命令 :shell。退出该shell exit

6、保存vim状态 :mksession name.vim

7、恢复vim状态 :source name.vim

8、启动vim时恢复状态 vim -S name.vim

使用思维导图进行展示:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhbmd6aGVianV0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


Linux - vim安装 配置与使用的更多相关文章

  1. linux 下安装配置jboss as7以及部署应用

    linux 下安装配置jboss as7以及部署应用 1.测试平台及软件 centos 5.4 jdk-7u5-linux-i586.rpm jboss-as-7.1.1.Final.zip jbos ...

  2. Linux下安装配置Jmeter5.1,并执行jmx文件

    Windows下的jmeter是GUI模式,可查看操作,但是GUI对性能的干扰比较大,所有一般压测会在Linux上运行. 下面是Linux下安装配置Jmeter5.1,并执行jmx文件的步骤, 一.安 ...

  3. 详解在Linux中安装配置MongoDB

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MongoDB 说实话为什么会装MongoDB呢,因为之前因为公司 ...

  4. 详解在Linux中安装配置MySQL

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在Linux中安装配置MySQL 安装环境 CentOS7 + MySQL5.7 下载安 ...

  5. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  6. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

  7. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  8. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  9. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

随机推荐

  1. [Math Review] Statistics Basics: Main Concepts in Hypothesis Testing

    Case Study The case study Physicians' Reactions sought to determine whether physicians spend less ti ...

  2. luogu P1417 烹调方案

    题目背景 由于你的帮助,火星只遭受了最小的损失.但gw懒得重建家园了,就造了一艘飞船飞向遥远的earth星.不过飞船飞到一半,gw发现了一个很严重的问题:肚子饿了~ gw还是会做饭的,于是拿出了储藏的 ...

  3. LA 3026 Period

    这只是蓝书上的一道KMP水题...然后对于最长前缀的循环证明我就不说了... #include<iostream> #include<cstring> #include< ...

  4. C语言基础之while的使用

    一. 格式: 1: while (条件) 2:   3: { 4:   5: 循环体 6:   7: } 8:   二.运行原理 1.如果一开始条件就不成立,永远不会执行循环体 2.如果条件成立,就会 ...

  5. VMware给虚拟机绑定物理网卡

    前言: 桥接模式:就是使用真实的IP地址 NAT模式:使用以VMnet 8所指定的子网中分配的IP地址,在外网信息交互中不存在这样的IP. 仅主机模式:仅用于虚拟机与真机之间的信息交互. 操作步骤: ...

  6. 从let和const谈起

    注册博客园账号也有好些年了,有事没事经常来逛逛,感觉博客园的同学们一直都很活跃,相比国内其他社区来讲,这里的技术氛围很浓,非常适合学习和交流,所以博主我也决定在这里驻扎了,在这里,博主希望能坚持写一些 ...

  7. JQuery插件开发格式

    原地址 一.jQuery扩展 1.$.extend(object) 类似于.Net的扩展方法,用于扩展jQuery.然后就可以用$.的方式调用. $(function(){ $.extend({ fu ...

  8. 走进C++程序世界-----operator new delete 重载

     在C++ 的世界里,new 和delete 是keyword.而在C的世界里相相应的malloc和free是函数,关键C++的new和delete分析,详见前面的章节.这里就不在过多的介绍了.链接. ...

  9. Laravel之目录结构

    一.根目录 新安装的 Laravel 应用包含许多文件夹:• app 目录包含了应用的核心代码:• bootstrap 目录包含了少许文件用于框架的启动和自动载入配置,还有一个cache 文件夹用于包 ...

  10. Excel如何取消显示分页虚线

    点击普通模式,保存文件,关闭文件再打开就好了. 文章来源:刘俊涛的博客 地址:http://www.cnblogs.com/lovebing 欢迎关注,有问题一起学习欢迎留言.评论.