导读 如今 Vim 是每个人最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具。大多数人只是熟悉Vim的最最基本的操作,只能在终端使用 Vim 修改文本,但是它并没有任何一个我想象中强大的文本处理功能。同样无法用 Vim 发挥出胜出 Pico 和 Nano 的能力。

我使用了这么多年的 Linux ,我会的也仅仅只是打开一个文件,使用上下左右箭头按键来移动光标,切换到插入模式,更改一些文本,保存,然后退出。但那只是 Vim 的最最基本的操作。

所以到底为什么要学习 Vim?因为我花费了相当多的时间用于编辑文本,而且我知道还有很大的效率提升空间。为什么不选择 Emacs,或者是更为现代化的编辑器例如 Atom?因为 Vim 适合我,至少我有一丁点的使用经验。而且,很重要的一点就是,在我需要处理的系统上很少碰见没有装 Vim 或者它的弱化版(Vi)。如果你有强烈的欲望想学习对你来说更给力的 Emacs,我希望这些对于 Emacs 同类编辑器的建议能对你有所帮助。

花了几周的时间专注提高我的 Vim 使用技巧之后,我想分享的第一个建议就是必须使用它。虽然这看起来就是明知故问的回答,但事实上它比我所预想的计划要困难一些。我的大多数工作是在网页浏览器上进行的,而且每次我需要在浏览器之外打开并编辑一段文本时,就需要避免下意识地打开 Gedit。Gedit 已经放在了我的快速启动栏中,所以第一步就是移除这个快捷方式,然后替换成 Vim 的。

为了更好的学习 Vim,我尝试了很多。如果你也正想学习,以下列举了一些作为推荐。

Vimtutor

通常如何开始学习最好就是使用应用本身。我找到一个小的应用叫 Vimtutor,当你在学习编辑一个文本时它能辅导你一些基础知识,它向我展示了很多我这些年都忽视的基础命令。Vimtutor 一般在有 Vim 的地方都能找到它,如果你的系统上没有 Vimtutor,Vimtutor 可以很容易从你的包管理器上安装。

GVim

我知道并不是每个人都认同这个,但就是它让我从使用终端中的 Vim 转战到使用 GVim 来满足我基本编辑需求。反对者表示 GVim 鼓励使用鼠标,而 Vim 主要是为键盘党设计的。但是我能通过 GVim 的下拉菜单快速找到想找的指令,并且 GVim 可以提醒我正确的指令然后通过敲键盘执行它。努力学习一个新的编辑器然后陷入无法解决的困境,这种感觉并不好受。每隔几分钟读一下 man 出来的文字或者使用搜索引擎来提醒你该用的按键序列也并不是最好的学习新事物的方法。

键盘表

当我转战 GVim,我发现有一个键盘的“速查表”来提醒我最基础的按键很是便利。网上有很多这种可用的表,你可以下载、打印,然后贴在你身边的某一处地方。但是为了我的笔记本键盘,我选择买一沓便签纸。这些便签纸在美国不到 10 美元,当我使用键盘编辑文本,尝试新的命令的时候,可以随时提醒我。

Vimium

上文提到,我工作都在浏览器上进行。其中一条我觉得很有帮助的建议就是,使用Vimium来用增强使用 Vim 的体验。Vimium 是 Chrome 浏览器上的一个开源插件,能用 Vim 的指令快捷操作 Chrome。我发现我只用了几次使用快捷键切换上下文,就好像比之前更熟悉这些快捷键了。同样的扩展 Firefox 上也有,例如 Vimerator。

毫无疑问,最好的学习方法就是求助于在你之前探索过的人,让他给你建议、反馈和解决方法。

如果你住在一个大城市,那么附近可能会有一个 Vim meetup 小组,或者还有 Freenode IRC 上的 #vim 频道。#vim 频道是 Freenode 上最活跃的频道之一,那上面可以针对你个人的问题来提供帮助。听上面的人发发牢骚或者看看别人尝试解决自己没有遇到过的问题,仅仅是这样我都觉得很有趣。

那么,现在怎么样了?到现在为止还不错。为它所花的时间是否值得就在于之后它为你节省了多少时间。但是当我发现一个新的按键序列可以来跳过词,或者一些相似的小技巧,我经常会收获意外的惊喜与快乐。每天我至少可以看见,一点点的回报,正在逐渐配得上当初的付出。

学习 Vim 并不仅仅只有这些建议,还有很多。我很喜欢指引别人去Vim Advantures,它是一种使用 Vim 按键方式进行移动的在线游戏。而在另外一天我在Vimgifts.com 发现了一个非常神奇的虚拟学习工具,那可能就是你真正想要的:用一个小小的 gif 动图来描述 Vim 操作。

你有花时间学习 Vim 吗?或者是任何需要大量键盘操作的程序?那些经过你努力后掌握的工具,你认为这些努力值得吗?效率的提高有没有达到你的预期?

Vim编辑器运用的五个技巧相关推荐

  1. Linux知识之vim编辑器

    文章目录 一.vi与vim文本编辑器 1.什么是文本编辑器 2.vi/vim编辑器简介及区别 2.1 简介 2.2 vi与vim的区别 二.vim编辑器 2.1 vim编辑器使用指南 2.2 进入文件 ...

  2. Linux shell 学习笔记(6)— vim 编辑器使用方法及技巧

    1. 检查 vim 软件包 1.1 CentOS 发行版 $ alias vi alias vi='vim' $ $ which vim /usr/bin/vim $ $ ls -l /usr/bin ...

  3. 【Red Hat 】vim编辑器的常用命令以及使用技巧

    vim编辑器分为三种模式:命令模式.输入模式.末行模式(插入模式) 下面为大家介绍一些常用的vim编辑器的常见的快捷键已经使用技巧 显示行号和翻页 :set nu  显示行号 :set nonu 取消 ...

  4. vim编辑器的常用技巧

    vim编辑器的常用技巧 文章目录 vim编辑器的常用技巧 前言 Vi的使用 vi的三种模式 常用按键说明 Vim额外功能 多文件编辑 多窗口编辑 参考文章 前言 我们在使用 Windows 系统时,如 ...

  5. 第五节 红帽认证培训 重要的环境变量+Vim编辑器与Shell命令脚本(4.1-4.2)

    第五节 红帽认证培训 重要的环境变量+Vim编辑器与Shell命令脚本(4.1-4.2) 文章目录 重要的环境变量 4.1 Vim文本编辑器(Vi加强版:着色) 4.2编写Shell脚本 1.编写简单 ...

  6. vim编辑器下常用搜索技巧

    步骤1:进入vim编辑器 vim /etc/ssh/ssh_config 步骤2:搜索方式 方式一:快速搜索(字符串完全匹配,区分大小写) 格式: /   +  关键词    or     ?+ 关键 ...

  7. kali linux 里vim如何使用_Kali Linux的vi编辑器/vim编辑器使用方法

    转载声明:本文为转载文章 Kali Linux系统的vi编辑器/vim编辑器的使用和CentOS有很多不同.基本使用方法如下 1.vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(comma ...

  8. vim 编辑器命令整理

    文章目录 一.基本使用流程 二.普通命令模式 (一)切换到插入模式(编辑/写入/输入) (二)切换到可视模式(选择文本模式) (三)切换至底行命令模式 (四)替换/修改 1. 切换到替换模式 2. 替 ...

  9. 【Linux系统管理】05 常用命令 06 vim编辑器

    一.命令的基本格式 1.1 命令的提示符 [root@localhost ~]# []:这是提示符的分隔符号,没有特殊含义. root:显示的是当前的登录用户,现在使用的是root用户登录. @:分隔 ...

最新文章

  1. MATLAB中处理边界的函数
  2. SQL 登录注入脚本_常见web安全问题,SQL注入、XSS、CSRF,基本原理以及如何防御...
  3. Winform将FastReport的report与PreviewControl建立绑定关系
  4. schema get_ddl
  5. python STL分解
  6. Hadoop—常见面试题
  7. MVVM Template
  8. vba 不等于_EXCEL中VBA基础语句(1)
  9. 数据结构--二叉树--路径 假设二叉树采用二叉链表方式存储, root指向根结点,node 指向二叉树中的一个结点, 编写函数 path,计算root到 node 之间的路径,(该路径包括root结
  10. 新建第一个windows服务(Windows Service)
  11. Java面试问题汇总(Redis)
  12. ASP.NET Web API 简介
  13. 从零开始学C++之运算符重载(三):完善String类([]、 +、 += 运算符重载)、和运算符重载...
  14. linux dhcp 清除缓存,[dhcpd]清除dhcp缓存
  15. Unity开发(2)建片草地
  16. 成都互联网公司和生活成本
  17. 【黑马程序员pink老师前端】HTML
  18. 项目5-模板类中使用友元函数
  19. [EndNote]EndNote在Word中的工具条消失了怎么办?-知乎转载
  20. matlab拟合斜椭圆,椭圆拟合及拟合度评价

热门文章

  1. Character的static方法
  2. Vmware在ubuntu虚拟机上安装Vmtools
  3. 开课吧Java课堂:什么是主线程?如何去运用?
  4. 迪米特法则(Law Of Demeter)
  5. XSS注入,js脚本注入后台
  6. react key值警告问题
  7. 【DFS】LeetCode 39. Combination Sum
  8. 【To Understand】动态规划:求最长公共子串/最长公共子序列
  9. python中深浅复制的问题
  10. SIAM International Conference on Data Mining, SDM 会议怎么样?