1.1在正常模式下,使用h,j,k,l实现左,下,上,右移动。

(如果不再正常模式下,使用Esc键进入正常模式)

1.2退出vim,先进入到正常模式,输入:q!退出,但不保存任何修改。

1.3在正常模式下,使用x键删除光标所在的字符。

1.4在正常模式下,按i键进入插入文本状态(到当前光标所在字符的前一位置插入文本),并使用Esc回到正常模式下。

1.5在正常模式下,按A在该行尾进行插入文本。

1.6如果要保存修改,则在正常模式下,输入:wq。

2.1在正常模式下,删除一个单词,先将光标移到单词的首字母处,输入dw。(d:delete w:word)

2.2在正常模式下,删除当前行光标后的所有字符(包括光标所处字符),输入d$。($:end of line)

2.3 (d motion)d表示要进行删除操作,后可接w,e,$,e表示删除当前光标之后的一个单词(包括光标所处字符)。与dw的不同的是,dw删除一个单词之后,光标会移至新单词的首字母处,de则不然,仅将光标移至删除单词之后。

2.4不使用d,在motion前加上数字,表示重复这个操作的次数,2w表示将当前光标移至到当前光标起后两个单词的首字母处,2e将表示移至两个单词的末尾处。0表示移至到当前行开始处。

2.5在motion前可以使用数字并配合d使用,表示重复这个操作的次数,例如,在正常模式下,输入d2w表示删除两个单词。d0表示删除当前行光标前的所有字符,不包括光标所处字符。d3e表示将光标移至从当前光标起三个单词的末尾处,并删除这3个单词。

2.6在正常模式下,删除正行使用dd,在dd前加数字表示删除多少行,2dd表示删除两行。

2.7在正常模式下,使用u进行上一步撤销,U表示对整行的操作进行撤销,恢复到最初状态。

3.1在输入模式下,输入p表示将之前删除的文本放到光标后面处。

3.2 rx表示对当前光标所处字符进行替换用x这个字符。(r:replace)

3.3 ce表示删除光标所处单词从光标所处字符开始删除,并进入insert模式。

3.4 (c [number] motion)用法与(d [number] motion)类似,c$表示清除光标所处字符的所有字符,只限当前行,并进入到insert模式。

4.1 正常模式下,Ctrl+G查看文件所在位置以及状态,。G跳到文件尾,gg跳到文件开头。行数+G表示跳到所在行处。

4.2正常模式下,输入/键进行查找,/键后接要查找的字符,n表示往下继续查找,N表示相反方向查找,如果按?键查找表示和/相反。

4.3输入%对(,[,{进行匹配),],},匹配之前先将光标移至要匹配的字符处。

4.4单词替换s/old/new/g(s:substitute,g:globally),s/old/new只将光标所在行第一个匹配的进行替换,s/old/new/g表示将光标所在行匹配的全部替换。:#,#s/old/new/g,#表示从哪行到哪行进行替换。:%s/old/new/g整个文件匹配的全部替换。:%s/old/new/gc,将匹配的一个一个进行询问选择是否替换。

5.1在正常模式下,输入:!后接shell命令,表示执行这条命令。

5.2对当前修改进行备份,输入:w filename,:w后接要保存到的文件的名字,如果要删除文件的话输入:!del filename或者:!rm filename

5.3保存部分文本,在正常模式下,输入v,则可对要保存的文本进行选择,再输入:,就可见:'<,'>在屏幕底端,在输入w filename即可。也可对选择的文本进行删除,按d键。

5.4将某个文件的内容插入到当前文本中,输入:r filename(r:read),同样也可以将外部命令的结果读进来,例如,输入:r !ls。

6.1正常模式下,按o表示在光标下方新增一行,按O表示在光标上方新增一行,并都进入insert模式。

6.2输入a表示在光标之后追加文字。(按e表示跳到单词尾)

6.3输入R,在输入字符,表示对当前光标的字符一一进行替换。例如,有xxx文本,光标至于第一个x处,输入R,再输入aaa,表示对xxx进行替换。

6.4在visual mode下(输入v进入),选择文本,再键入y(y: yank表示复制),y后面也可接参数,如yw表示粘贴一个字符。

6.5搜索时忽略大小写,比如搜索/ignore,设置时输入:set ic(ic:Ignore case)。

将搜索的全部高亮显示,输入:set hls is (hls:hlsearch ,hl:hinglighting, is:incsearch),区分大小写则输入,

:set noic。

7.1输入:help查看帮助,后可接参数。

Ctrl + w Ctrl + w 切换窗口,:q退出帮助窗口。

vim使用学习的更多相关文章

  1. [20150513]Linux远程登陆管理以及Vim的学习

    Linux远程登陆管理以及Vim的学习 实现Linux远程管理 所需工具Xshell,Xshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件.它使得用户 ...

  2. 20155208徐子涵Vim编辑器学习经验

    20155208徐子涵 2016-2017-2 Vim编辑器学习经验 当我们运用虚拟机进行书写代码时,我们就会用到Vim编辑器,用Vim编辑器进行编辑特别方便,而Vim编辑器中也有一些操作需要去学习. ...

  3. 开发者和系统管理者最喜爱的开源工具Vim 起步学习的五个技巧

    多年来,我一直想学 Vim.如今 Vim 是我最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具.我说的学习,指的是真正意义上的学习.想要精通确实很难,所以我只想要达到熟练的水平 ...

  4. linux vi/vim 编辑器学习总结

    linux vi/vim 编辑器学习总结 很多时候我们开发人员不可避免的会涉及到项目部署,这个时候使用的就不是我们所熟知的 Windows 和 Mac OS 操作系统了,而是类 Unix 系统.项目部 ...

  5. Vim入门学习之Vim解析

    Vim解析... ----------------------- 首先你要会从官网上下载你想要的Vim版本:   官网: http://www.vim.org/==================== ...

  6. 系统自带vim命令学习教程

    [环境] [干货分享] vim或者vi命令在很多linux环境中自带一款学习教程,其教程说明语言还是随系统变化. 输入vimtutor这个命令会打开一款学习神器. 打开之后显示如下,vimtutor一 ...

  7. vim编辑器学习记录

    i:在光标所在字符前开始插入 a:在光标所在字符后开始插入 o:在光标所在行的下面另起一新行插入 s:删除光标所在的字符并开始插入 I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入 A: ...

  8. vim 命令学习(基础篇)

    [1]三种模式 vi的三种模式:命令模式.末行模式.编辑模式. 三种模式相互切换逻辑与命令图: 1.命令模式是vi的默认模式(即每打开一个文件时的初始模式). 2.命令模式切换至末行模式,末行模式切换 ...

  9. 第三周vim入门学习2

    一.vim重复命令 1.重复执行上次命令 在普通模式下.(小数点)表示重复上一次的命令操作 拷贝测试文件到本地目录 $ cp /etc/protocols . 打开文件进行编辑 $ vim proto ...

  10. 第三周vim入门学习1

    一.vim模式介绍 1.概念:以下介绍内容来自维基百科Vim 从vi演生出来的Vim具有多种模式,这种独特的设计容易使初学者产生混淆.几乎所有的编辑器都会有插入和执行命令两种模式,并且大多数的编辑器使 ...

随机推荐

  1. hdu 1071 The area【定积分】

    用顶点式\( a(x-h)^2+k=y \)解方程,转化为\(ax^2+bx+c=y \)的形式,然后对二次函数求定积分\( \frac{ax^3}{3}+\frac{bx^2}{2}+cx+C \) ...

  2. CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths(dsu on tree)

    一棵根为1 的树,每条边上有一个字符(a-v共22种). 一条简单路径被称为Dokhtar-kosh当且仅当路径上的字符经过重新排序后可以变成一个回文串. 求每个子树中最长的Dokhtar-kosh路 ...

  3. 【爬坑系列】之解读kubernetes的认证原理&实践

    对于访问kube-apiserver模块的请求来说,如果是使用http协议,则会顺利进入模块内部得到自己想要的:但是如果是用的是https,则能否进入模块内部获得想要的资源,他会首先要进行https自 ...

  4. Springboot整合elasticsearch以及接口开发

    Springboot整合elasticsearch以及接口开发 搭建elasticsearch集群 搭建过程略(我这里用的是elasticsearch5.5.2版本) 写入测试数据 新建索引book( ...

  5. 【数据结构(C语言版)系列二】 栈

    栈和队列是两种重要的线性结构.从数据结构角度看,栈和队列也是线性表,但它们是操作受限的线性表,因此,可称为限定性的数据结构.但从数据类型角度看,它们是和线性表大不相同的两类重要的抽象数据类型. 栈的定 ...

  6. 《白书》上线段树RMQ的实现

    白书上的线段树RMQ实现,自己重写了一遍: #include <bits/stdc++.h> using namespace std; const int MAXN=1<<17 ...

  7. Stamus Networks的产品SELKS(Suricata IDPS、Elasticsearch 、Logstash 、Kibana 和 Scirius )的下载和安装(带桌面版和不带桌面版)(图文详解)

    不多说,直接上干货!  SELKS是什么? SELKS 是Stamus Networks的产品,它是基于Debian的自启动运行发行,面向网络安全管理.它基于自己的图形规则管理器提供一套完整的.易于使 ...

  8. JDK常用类解读--StringBuffer、StringBuilder

    上一篇博客讲到String对象一旦被创建该内容就不能被修改了如: String s = "hello world"; s.substring(6); s.replace(" ...

  9. Boost库编译安装

    一.Boost库介绍         Boost库是一个经过千锤百炼.可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一.Boost库由C++标准委员会库工作组成员发起,其 ...

  10. VS2010 好用的javascript扩展工具

    工具1) JScript Editor Extensions 折叠代码 下载地址: JScript Editor Extensions 工具2) Javascript parser 以树形方式查的代码 ...