Vim 采用模式编辑的理念,即它提供了多种模式,按键在不同的模式下作用不同。你可以在 普通模式 下浏览文件,在 插入模式 下插入文本,在 可视模式 下选择行,在 命令模式 下执行命令等等。起初这听起来可能很复杂,但是这有一个很大的优点:不需要通过同时按住多个键来完成操作,大多数时候你只需要依次按下这些按键即可。越常用的操作,所需要的按键数量越少。

和模式编辑紧密相连的概念是“操作符”和“动作”。操作符 开始一些行为,例如:修改,删除,或者选择文本。之后你要用一个 动作 来指定需要操作的文本区域。比如,要改变括号内的文本,需要执行 ci( (读做 change inner parentheses);删除整个段落的内容,需要执行 dap (读做:delete

around paragraph)。

如果你能看见 Vim 老司机操作,你会发现他们使用 Vim 脚本语言就如同钢琴师弹钢琴一样。复杂的操作只需要几个按键就能完成。他们甚至不用刻意去想,因为这已经成为肌肉记忆了。这减少认识负荷并帮助人们专注于实际任务。

Vim 自带一个交互式的教程,内含你需要了解的最基础的信息,你可以通过终端运行以下命令打开教程:

$ vimtutor

不要因为这个看上去很无聊而跳过,按照此教程多练习。你以前用的 IDE 或者其他编辑器很少是有“模式”概念的,因此一开始你会很难适应模式切换。但是你 Vim 使用的越多,肌肉记忆 将越容易形成。

Vim 基于一个 vi 克隆,叫做 Stevie,支持两种运行模式:"compatible" 和 "nocompatible"。在兼容模式下运行 Vim 意味着使用 vi 的默认设置,而不是 Vim 的默认设置。除非你新建一个用户的 vimrc 或者使用 vim -N 命令启动 Vim,否则就是在兼容模式下运行 Vim!请大家不要在兼容模式下运行 Vim。

用户的 vimrc 配置文件可以放在 ~/.vimrc,或者为了更好的分离放在 ~/.vim/vimrc,后者更便于通过版本控制软件备份和同步整个配置,比方说 Github。

你可以在网上找到许多精简的 vimrc 配置文件,我的版本可能并不是最简单的版本,但是我的版本提供了一套我认为良好的,非常适合入门的设置。

最终你需要阅读完那些设置,然后自行决定需要使用哪些。:-)

建议:大多数插件作者都维护不止一个插件并且将他们的 vimrc 放在 Github 上展示(通常放在叫做 "vim-config" 或者 "dotfiles" 的仓库中),所以当你发现你喜欢的插件时,去插件维护者的 Github 主页看看有没有这样的仓库。

我正在使用什么样的 Vim

使用 :version 命令将向你展示当前正在运行的 Vim 的所有相关信息,包括它是如何编译的。

第一行告诉你这个二进制文件的编译时间和版本号,比如:7.4。接下来的一行呈现 Included patches: 1-1051,这是补丁版本包。因此你 Vim 确切的版本号是 7.4.1051。

另一行显示着一些像 Tiny version without GUI 或者 Huge version with GUI 的信息。很显然这些信息告诉你当前的 Vim 是否支持 GUI,例如:从终端中运行 gvim 或者从终端模拟器中的 Vim 内运行 :gui 命令。另一个重要的信息是 Tiny 和 Huge。Vim 的特性集区分被叫做 tiny,small,normal,big and huge,所有的都实现不同的功能子集。

:version 主要的输出内容是特性列表。+clipboard 意味这剪贴板功能被编译支持了,-clipboard 意味着剪贴板特性没有被编译支持。

一些功能特性需要编译支持才能正常工作。例如:为了让 :prof 工作,你需要使用 huge 模式编译的 Vim,因为那种模式启用了 +profile 特性。

如果你的输出情况并不是那样,并且你是从包管理器安装 Vim 的,确保你安装了 vim-x,vim-x11,vim-gtk,vim-gnome 这些包或者相似的,因为这些包通常都是 huge 模式编译的。

你也可以运行下面这段代码来测试 Vim 版本以及功能支持:

" Do something if running at least Vim 7.4.42 with +profile enabled.

if (v:version > 704 || v:version == 704 && has('patch42')) && has('profile')

" do stuff

endif

相关帮助:

:h :version

:h feature-list

:h +feature-list

:h has-patch

完整PDF文档可以到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

具体下载目录在 /2018年资料/1月/20日/Vim 从入门到精通/

------------------------------------------分割线------------------------------------------

linux语言vim的下载,Vim 从入门到精通 PDF相关推荐

  1. python从入门到精通pdf百度云下载-Python从入门到精通PDF高清完整版免费下载|百度云盘...

    提取码:xahb 内容简介 <Python从入门到精通>从初学者角度出发,通过通俗易懂的语言.丰富多彩的实例,详细介绍了使用Python进行程序开发应该掌握的各方面技术.全书共分22章,包 ...

  2. 一文搞定vim,从安装到入门到精通,助你成功入门vim

    一文搞定vim,从安装到入门到精通 NO.1 闲聊 NO.2 安装(不是重点!觉得这部分讲的不清楚可以去找一篇win下安装vim的文章来看,然后跳去NO.3接着看) NO3. 文章核心重点-vim使用 ...

  3. python语言入门电子版-python从入门到精通pdf

    pythonpdf是一款专注于python的电子图书,python一种面向对象的解释型计算机程序设计语言,而这款电子书就详细讲解了python相关知识,由浅入深,对初学者来说非常的实用.感兴趣的朋友欢 ...

  4. 从入门到精通 pdf_【推荐】铅笔素描从入门到精通pdf|素描基础教程电子书下载!...

    铅笔素描从入门到精通pdf|素描基础教程电子书下载!铅笔素描从入门到精通pdf|素描基础教程电子书下载!铅笔素描从入门到精通pdf|素描基础教程电子书下载! 如果你的基础太薄弱,不建议自己瞎摸索,你可 ...

  5. python web 开发从入门到精通 pdf,Python编程从入门到精通 PDF包下载

    Python开发学习合集 用Python做科学计算pdf 像计算机科学家一样思考python.pdf 利用python进行数据分析.pdf Python科学计算-张若愚.pdf Python标准库Do ...

  6. python入门经典电子书-python从入门到精通pdf

    pythonpdf是一款专注于python的电子图书,python一种面向对象的解释型计算机程序设计语言,而这款电子书就详细讲解了python相关知识,由浅入深,对初学者来说非常的实用.感兴趣的朋友欢 ...

  7. android从入门到精通pdf 明日科技

    android从入门到精通pdf 明日科技 链接: https://pan.baidu.com/s/1dGSkbCl 密码: wpaa (失效) 链接:https://pan.baidu.com/s/ ...

  8. c语言编程从入门到精通+pdf下载,编程大讲坛 C语言核心开发技术从入门到精通 陈强 pdf扫描版...

    编程大讲坛 C语言核心开发技术从入门到精通由浅入深地讲解了c语言开发技术,以遵循科学合理的学习计划为主线,通过典型实例来讲解其具体使用.全书内容分为20课,其中第1-8课依次讲解了c语言概述.c语言算 ...

  9. 零基础python从入门到精通 pdf-PYTHON从入门到精通 PDF 下载

    相关截图: 资料简介: <Python从入门到精通>从初学者角度出发,通过通俗易懂的语言.丰富多彩的实例,详细介绍了使用Python进行程序开发应该掌握的各方面技术.全书共分22章,包括初 ...

  10. python从入门到精通pdf百度云下载-跟老齐学Python从入门到精通 电子版(pdf格式)...

    跟老齐学python从入门到精通是一款由老齐写作的Python电子书籍.书籍讲述了零基础读者的Python入门教程,内容涵盖了Python的基础知识和初步应用,需要的赶紧在巴士下载站下载吧! 目录: ...

最新文章

  1. plsql导入到mysql数据库乱码问题_PLSQL打开sql文件中文乱码解决方案
  2. spring + redis 实现数据的缓存
  3. R语言:时间序列常用函数
  4. 量子计算入门-第二部分
  5. 伦茨8400变频器面板按键说明_变频器调试笔记
  6. html试题及答案,HTML试题及答案
  7. Java Formatter out()方法与示例
  8. python读取图像矩阵文件并转换为向量
  9. Oracle中start with xx connect by prior 语句解析
  10. Windows环境下手动更新boot2docker.iso
  11. mac 更换brew镜像源
  12. android 球形进度,android仿360手机卫士的自定义波浪球形进度View 滚动痕迹
  13. IE下,拖动grid的分隔栏,报getBoundingClientRect错误解决办法
  14. 过滤代码中的html标签
  15. 【优化求解】基于matlab遗传算法求解道路流量优化问题【含Matlab源码 1480期】
  16. 【2022】APP-IOS客户端Android客户端安全性测试-常见问题
  17. Python基于OpenCV的人脸集合相似度检测系统(源码&UI&教程)
  18. 计算机学硕考试时间,考研全年时间表!重要的23个时间点,都帮你整理好了
  19. Linux 中 17 个 tar 命令实用示例
  20. 农夫山泉做起“烧水工,熟水市场的魅力究竟有多大?

热门文章

  1. 全国计算机二级vb试题库,全国计算机等级考试题库之二级VB试题
  2. dll中封装MFC(VC2012)资源--自定义一个复用的登录界面
  3. 多个条码标签如何在一张纸上打印
  4. 软件测试用例.范文,软件测试用例模板范文.doc
  5. i.mx6ull uboot移植
  6. 前端工程师如何快速的Mac装机?学会这些技巧让你的装机速度提升至少1倍!!!
  7. 拼音模糊查询+java,Java将中文转换成拼音,用于字母的模糊查询
  8. js复制 兼容浏览器
  9. 吉吉影音播放器v2.7.2.4官方版
  10. 安装FeHelper插件