vim文本编辑器初步

一、跟vi编辑器的关系

可以说vim编辑器是vi编辑器的升级版,它保留了vi编辑器的所有东西,而且加入了自己的新的特性。

比如说:支持跨平台,支持语法高亮,支持多级撤销等。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

二、vim编辑器的操作模式

vim编辑器有三种操作模式:

(1)命令模式

(2)输入模式

(3)底行模式(尾行,末行)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

三、一些操作

vim  文件名

含义:如果该文件存在,则会打开它,否则则会创建它。

为了便于说明,假设我们有一个文件,名为“abc”,

vim   +   abc

含义:迅速将光标定位到文件abc的最后一行

vim  +5  abc

含义:迅速将光标定位到文件abc的第5行。注意,如果我们定位的行号超过了abc的总行数,则会定位到

最后一行。

vim  /hello   abc

含义:在文件abc中搜索包含“hello”的行,并将光标定位到包含hello的第一行。

vim  aa  bb   cc

含义:同时创建(或者打开)三个文件,分别名为“aa”,”bb“,”cc“

承接命令vim  aa  bb   cc,我们打开了这三个文件,那么怎么在这三个文件中切换呢?使用底行模式即可,如下命令:

:n     切换到下一个文件

:N     切换到上一个文件

:prev   也是切换到上一个文件的意思

:ls      列出目前打开的所有文件

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

四、继续介绍一些命令

在底行模式和命令模式中,可用的指令是在是太多了。在这里再列举出一些常用的。

底行模式常用指令:

:w      也就是保存修改的命令,注意没有退出

:q      退出当前vim编辑器打开的文件

:!       强制执行

:ls      列出当前vim编辑器中打开的所有文件

:n      切换到后一个文件

:N      切换到上一个文件

:prev    切换到上一个文件

:15      把光标定位到第15行

/xxx     从光标位置向后搜索xxx,并把光标定位到第一次找到它的位置

?xxx     从光标位置向前搜索xxx,并把光标定位在第一找到它的位置

命令模式下的常用指令

h       光标左移

j        光标下移

k        光标上移

l        光标右移

ctrl+f    向下翻页

ctrl+b    向上翻页

ctr+d    向下翻半页

ctrl+u    向上翻半页

dd      删除光标所在行

o       在光标所在行的下方插入一行并切换到输入模式

yy           复制光标所在行

p(小写)      在光标所在行的下方粘贴

P(大写)      在光标所在行的上方粘贴

指令实在太多太多了,下面是一张键盘上的vim指令图,可以参看学习:

最新文章

  1. *HDU1846HDU2188 巴什博奕
  2. Slave作为其它Slave的Master时使用
  3. HoloLens开发手记 - Unity之Locatable camera 使用相机
  4. 【阅读】提问的智慧+有效的报告BUG
  5. Android用户界面 UI组件--TextView及其子类(四) Chronometer计时器
  6. JavaScript 判断一个字符串是否在另一个字符串中
  7. Xcode8出现AQDefaultDevice (173): skipping input stream 0 0 0x0
  8. Storm源码分析--Nimbus-data
  9. java-9 异常处理
  10. mysql实现full join
  11. ROS机器人程序设计(原书第2版)补充资料 (贰) 第二章 ROS系统架构及概念
  12. 使用JQuery实现图片轮播效果
  13. HBase实践案例:知乎 AI 用户模型服务性能优化实践
  14. sublime Text 常用插件
  15. C#的ArrayList与JS的push,转字符串逗号分隔
  16. pythonのSocket
  17. Day 13 可迭代对象,迭代器对象,for循环迭代,生成器对象,枚举对象
  18. 164. Maximum Gap (Array; sort)
  19. css文字和背景色渐变色
  20. nfs服务器与客户端配置

热门文章

  1. XmlDocument.LoadXml和Load的区别
  2. [编程] C语言结构体指针作为函数参数
  3. BZOJ2568 [国家集训队2012]比特集合
  4. Windows安装ActiveMQ记录
  5. 理解webpack4.splitChunks之cacheGroups
  6. 搞懂WebSocket原理
  7. 从接口取到的JSON数据如何导入进本地SQL数据库
  8. OpenStack 学习笔记 (一)
  9. Android实时获得经纬度,发送给c++服务端
  10. 毕向东_Java基础视频教程第20天_IO流(11~14)