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. bzoj 2194: 快速傅立叶之二【NTT】

    看别的blog好像我用了比较麻烦的方法-- (以下的n都--过 \[ c[i]=\sum_{j=i}^{n}a[i]*b[j-i] \] 设j=i+j \[ c[i]=\sum_{j=0}^{n-i} ...

  2. Spark SQL概念学习系列之Spark SQL入门

    前言 第1章   为什么Spark SQL? 第2章  Spark SQL运行架构 第3章 Spark SQL组件之解析 第4章 深入了解Spark SQL运行计划 第5章  测试环境之搭建 第6章 ...

  3. 转 SQL - 字符串中的转义字符

    一位同事在使用SQL处理一串字符时,出现一个意料之外的问题:这个字符串中包括字符‘&’.我们先看一下现象:     SQL> select * from v$version;     B ...

  4. 表达式语言EL简单学习

    Jsp2.0最重要的特性就是表达式语言EL.jsp用户可以用它来访问应用程序数据. EL表达式以${开头并以}结束. ${expresion}     ${x+y} 它也常用来连接两个表达式,取值将从 ...

  5. 有关LD_LIBRARY_PATH与ld.so.conf

    我之前写过一篇关于LD_LIBRARY_PATH与gcc/g++ -L的关系的文章,于是我自己用CPACK制作了一个Debian安装包,然后我在/home/.bashrc里添加了export LD_L ...

  6. 11.2Java-多态

    一.父类 public class Fu { public void show(){ System.out.println("父类"); } } 二.子类 public class ...

  7. 移动设备访问使用百度js跳转

    以下为代码,可放置在网站foot底部文件,或者haead顶部文件,建议将代码放在网站顶部,这样可以实现手机访问立即跳转! <script src="http://siteapp.bai ...

  8. 简说JAVA8引入函数式的问题

    JAVA8中加入lambda演算是一个令人兴奋的新特性——虽然这个新特性来得太迟了,目前的主流开发语言中,JAVA似乎是最后一个支持函数式思维的语言. 虽然晚了点,但总比没有好——况且我认为它的实现还 ...

  9. iOS---数据离线缓存

    离线缓存 为了用户的体验,不需要每次打开App都加载新数据,或者重新请求数据,因此需要把每次浏览的数据保存起来,当下次打开软件时,首先从沙盒中加载数据:或者当软件未联网时,也只能从沙盒中加载旧数据. ...

  10. node.js入门之二

    NPM 1.NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM ...