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. Linux 常用命令一 ls

    一.ls命令 用于查看目录下的文件信息. ls 当前目录下都有哪些文件: wang@wang:~$ ls examples.desktop workpalce 模板 图片 下载 桌面 tools 公共 ...

  2. html语义化与前端页面排版规则

    1.使用div进行布局,不要用div进行无意义的包裹  span行内常见元素 2.可以使用div和p的情况下,尽量用p.p有默认上下间隔字体加粗等,可以对终端有适配 3.需要强调的文本,可以包含在st ...

  3. lua使用lfs.dll库进行文件操作

    在项目开发中,为了提高开发效率往往需要开发一些辅助工具.最近在公司用lua帮拓展了一个资源扫描的工具,这个工具的功能就是从原始demo下指定目标资源文件,对该文件进行读取并筛选过滤一遍然后拷贝到最终d ...

  4. 重构30-Return ASAP(尽快返回)

    该话题实际上是诞生于移除箭头反模式重构之中.在移除箭头时,它被认为是重构产生的副作用.为了消除箭头,你需要尽快地return. ) { orderTotal = sum(products)) { or ...

  5. qt5.8 链接mysql错误:driver not load

    转载请注明出处:http://www.cnblogs.com/dachen408/p/7155858.html 问题:qt5.8 链接mysql错误:driver not load. 解决方案:1.安 ...

  6. 关于mapState和mapMutations和mapGetters 和mapActions辅助函数的用法及作用(二)-----mapMutations

    在组件中提交Mutations: import { mapState, mapMutations } from 'vuex' export default { data() { return { ms ...

  7. Android(java)学习笔记196:ContentProvider使用之内容观察者01

    1. 内容观察者 不属于四大组件,只是内容提供者ContentProvider对应的小功能. 如果发现数据库内容变化了,就会立刻观察到. 下面是逻辑图:       当A应用中银行内部的数据发生变化的 ...

  8. Java Web数据库篇之MySQL特性

    MySQL ExplainEXPLAIN 命令的输出内容大致如下: mysql> explain select * from user_info where id = 2\G********** ...

  9. CAD绘制二维码(网页版)

    js中实现代码说明: //新建一个COM组件对象 参数为COM组件类名 var getPt = mxOcx.NewComObject("IMxDrawUiPrPoint"); ge ...

  10. 如何修改MFC的图标

    原文:如何修改MFC的图标 修改左上角的图标和任务栏里图标 在对话框构造函数中 CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/) : CDialog(CTestD ...