1. 三种模式

(1)命令模式:
刚启动vim便进入命令模式,此时敲击键盘会被当做命令来处理

以下是常用的几个命令:

i 切换到插入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。

(2)输入模式
在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
ESC,退出输入模式,切换到命令模式

(3)底线模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。

2. 基本操作

编辑模式下
shift+insert:粘贴

命令模式下
dd 删除一行
数字+箭头,向箭头方向移动数字列或者行
全选复制:ggyG
格式化代码:gg=G

复制剪切
方法1:(强烈推荐)
:9,15 copy 16 或 :9,15 co 16
由此可有:
:9,15 move 16 或 :9,15 m 16 将第9行到第15行的文本内容到第16行的后面

方法二:
正常模式 v, 编辑模式ctrl+v ,选择行d剪切 y复制 p粘贴

yy命令复制当前整行的内容到vi缓冲区
yw复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词
y$复制光标所在位置到行尾内容到缓存区
y^复制光标所在位置到行首内容到缓存区
#yy例如:5yy就是复制5行
#yw例如:2yw就是复制两个单词
dd剪切当前行

批量注释:
Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的I进入行首插入模式输入注释符号如 // 或 #,输入完毕之后,Vim会自动将你选中的所有行首都加上注释
取消注释:
Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意// 要选中两个,选好之后按d即可删除注释

批量注释:
使用下面命令在指定的行首添加注释:
:起始行号,结束行号s/^/注释符/g
取消注释:
:起始行号,结束行号s/^注释符//g
例子:
在10 - 20行添加 // 注释
:10,50s#^#//#g
在10 - 20行删除 // 注释
:10,20s#^//##g

3.插件操作

MiniBufExplorer-的常用几个命令

  • :e <filename> 打开文件
  • :ls    当前打开的buf
  • :bn    下一个buf
  • :bp    前一个buf
  • :b<n>    n是数字,第n个buf
  • :b<tab>    自动补齐
  • :bd    删除buf

【Vim】Vim学习的更多相关文章

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

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

  2. Vim入门学习之Vim解析

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

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

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

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

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

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

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

  6. VIM学习一: VIM命令学习及插件介绍

    一.光标移动及编辑命令(含查找替换) [打开关闭窗口] :e file或:open file       打开新文档 :q或者ctrl+w+q         关闭当前视图的窗口 :tab split ...

  7. vim命令学习

    文本编辑器vim vim常用操作 vim是一个强大的全屏幕文本编辑器,是Linux上最常用的文本编辑器,它的作用是建立,编辑,显示文本文件. vim没有菜单,只有命令. 输入a或i或o进入编辑命令,下 ...

  8. VIM | vim操作大全

    1. 关于Vim vim是Linux下第二强大的编辑器. 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效. 如果是初学vi,运行一下vimtutor是个聪明的决定. ...

  9. 【转载】跟我一起学习VIM - vim插件

    目录 写在前面:Life Changing Editor 什么是VIM 为什么选VIM 为什么选其它 为什么犹豫选择它们 VIM >= SUM(现代编辑器) 如何学习VIM 一秒钟变记事本 VI ...

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

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

随机推荐

  1. CodeForces - 589D —(思维题)

    Welcoming autumn evening is the best for walking along the boulevard and npeople decided to do so. T ...

  2. 作业 c++编写

    1.第一版本程序Prog1:+ 给定一个数组,实现数组元素求和:,具体要求:实现对一维数组(a[100])的所有元素相加运算.+ 数据准备:a)数组长度:100:b)数组数据来源:实验数据A列:1~1 ...

  3. linux系统上查看硬件信息

    一:查看CPU more /proc/cpuinfo | grep "model name" grep "model name" /proc/cpuinfo 如 ...

  4. Java定时任务的实现

    本例依据Java自身提供的接口实现,通过监听器(Listener)和定时器(Timer)定时执行某个任务(Task).专业的开源工具可参考Quartz:http://www.opensymphony. ...

  5. Postgresql 9.6 搭建 异步流复制 和 同步流复制 详细教程

    Basic Replication If you’re feeling overwhelmed, try setting up a slave to see how easy it is! We’ll ...

  6. Visual Studio 2017(VS2017) 企业版 Enterprise 注册码

    Visual Studio 2017(VS2017) 企业版 Enterprise 注册码:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF 终于等到你,最强 IDE Visual Stud ...

  7. 在Windows Server 2008上部署免费的https证书

    背景 后web时代,https加密的重要性不言而喻.主流浏览器均对http站点标记不安全,敦促web服务提供商尽快升级至https. 原先的https证书多由各大域名服务商提供,动辄成千上万的部署证书 ...

  8. C++(指针和高级指针)-上篇

    [在指针中存储地址] int *pAge=nullptr; //将PAge声明为int指针,即用于存储int变量的地址 如果将指针初始化为0或者NUll,以后必须将变量的地址赋给它,如下例代码: ; ...

  9. Windows7 64位中出现的KERNELBASE.dll错误的解决方法

    最近在服程序时遇到个问题,电脑是win764位,编译完的exe测试,偶尔总报错,报错是偶尔的,有时候报错很频繁,但是有一次测试,测试了半天都没有报错,我以为好,发布输出没一会儿又报错了,真是崩溃了,所 ...

  10. 利用backgroundwork----递归读取网页源代码,并下载href链接中的文件

    今天闲着没事,研究了一下在线更新程序版本的问题.也是工作中的需要,开始不知道如何下手,各种百度也没有找到自己想要的,因为我的需求比较简单,所以就自己琢磨了一下.讲讲我的需求吧.自己在IIs上发布了一个 ...