`
Huaijin
  • 浏览: 52573 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

高效率编辑器 VIM-操作篇

阅读更多

高效率移动

在插入模式之外

基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面 VIM 就像一个“哑巴”编辑器一样。很多新手都会一直呆在插入模式里面,因为这样易于使用。但 VIM 的强大之处在于他的命令行模式!你会发现,在你越来越了解 VIM 之后,你就会花越来越少的时间使用插入模式了。

使用 h、j、k、l

使用 VIM 高效率编辑的第一步,就是放弃使用箭头键。使用 VIM,你就不用频繁的在箭头键和字母键之间移来移去了,这会节省你很多时间。当你在命令模式时,你可以用 h、j、k、l 来分别实现左、下、上、右箭头的功能。一开始可能需要适应一下,但一旦习惯这种方式,你就会发现这样操作的高效之处了。

在你编辑你的电子邮件或者其他有段落的文本时,你可能会发现使用方向键和你预期的效果不一样,有时候可能会一次跳过了很多行。这是因为你的段落在 VIM 看来是一个大的长长的行。这时你可以在按 h、j、k 或者 l 之前键入一个 g,这样 VIM 就会按屏幕上面的行如你所愿的移动了。

在当前行里面有效的移动光标

很多编辑器只提供了简单的命令来控制光标的移动(比如左、上、右、下、到行首/尾等)。VIM 则提供了很多强大的命令来满足你控制光标的欲望。当光标从一点移动到另外一点,在这两点之间的文本(包括这两个点)称作被“跨过”,这里的命令也被称作是 motion。(简单说明一下,后面会用到这个重要的概念)

这里是常用到的一些命令(motion):

  • fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。
  • tx:和上面的命令类似,但是是移动到 x 的左边一个位置。(这真的很有用)
  • Fx:和 fx 类似,不过是往回找。
  • w:光标往前移动一个词。
  • b:光标往后移动一个词。
  • 0:移动光标到当前行首。
  • ^:移动光标到当前行的第一个字母位置。
  • $:移动光标到行尾。
  • ):移动光标到下一个句子。
  • ( :移动光标到上一个句子。

 

在整个文件里面有效移动光标

VIM 有很多命令,可以用来到达文件里面你想到达的地方。下面是一些在文件里面移动的命令:

  • <C-F>:向下移动一屏。
  • <C-B>:向上移动一屏。
  • G:到文件尾
  • numG:移动光标到指定的行(num)。(比如 10G 就是到第 10 行)
  • gg:到文件首
  • H:移动光标到屏幕上面
  • M:移动光标到屏幕中间
  • L:移动光标到屏幕下面
  • *:读取光标处的字符串,并且移动光标到它再次出现的地方。
  • #:和上面的类似,但是是往反方向寻找。
  • /text:从当前光标处开始搜索字符串 text,并且到达 text 出现的地方。必须使用回车来开始这个搜索命令。如果想重复上次的搜索的话,按 n。
  • ?text:和上面类似,但是是反方向。
  • ma:在当前光标的位置标记一个书签,名字为 a。书签名只能是小写字母。你看不见书签的存在,但它确实已经在那里了。
  • `a:到书签 a 处。注意这个不是单引号,它一般位于大部分键盘的 1 的左边。
  • `.:到你上次编辑文件的地方。这个命令很有用,而且你不用自己去标记它。

 

高效的输入

使用关键词自动完成

VIM 有一个非常漂亮的关键词自动完成系统。这表示,你可以输入一个长词的一部分,然后按一下某个键,然后 VIM 就替你完成了这个长词的输入了。举个例子:你有一个变量名为 iAmALongAndAwkwardVarName 在你写的代码的某个地方。也许你不想每回都自己一个一个字母的去输入它。

使用关键词自动完成功能,你只需要输入开始几个字母(比如 iAmAL),然后按 <C-N>(按住 Ctrl,再按 N)或者 <C-P>。如果 VIM 没有给出你想要的词,继续按,直到你满意为止,VIM 会一直循环它找到的匹配的字符串。

聪明的进入插入模式

很多新手进入插入模式都只是用 i。这样当然可以进入插入模式,但通常不是那么合适,因为 VIM 提供了很多进入插入模式的命令。下面是最常用的一些:

  • i:在当前字符的左边插入
  • I:在当前行首插入
  • a:在当前字符的右边插入
  • A:在当前行尾插入
  • o:在当前行下面插入一个新行
  • O:在当前行上面插入一个新行
  • c{motion}:删除 motion 命令跨过的字符,并且进入插入模式。比如:c$,这将会删除从光标位置到行尾的字符并且进入插入模式。ct!,这会删除从光标位置到下一个叹号(但不包括),然后进入插入模式。被删除的字符被存在了剪贴板里面,并且可以再粘贴出来。
  • d{motion}:和上面差不多,但是不进入插入模式。

分享到:
评论

相关推荐

    Atom-atom-vim-mode-plus,vim.zip

    总结来说,Atom-atom-vim-mode-plus是Atom文本编辑器的一个插件,它增强了VIM模式的功能,为习惯VIM操作的开发者提供了更好的编辑体验。通过安装和配置这个插件,用户可以在享受Atom现代化特性的同时,充分利用VIM的...

    高效率编辑器VIM

    高效率编辑器VIM

    systemverilog.vim-1.9插件包

    Systemverilog.vim-1.9插件是专为Vim编辑器设计的一款增强工具,旨在提高SystemVerilog语言的开发效率和代码质量。SystemVerilog是一种广泛应用于集成电路(IC)设计领域的硬件描述语言,它提供了丰富的结构和行为...

    vim-7.4.tar.bz2和vimgdb-for-vim7.4-master.zip

    Vim(Vi Improved)是一款强大的文本编辑器,广泛用于Linux、Unix和其他类Unix系统,也支持Windows等平台。Vim 7.4是其在2013年发布的一个重要版本,带来了许多改进和新特性。这个资源包含了两个压缩文件:`vim-7.4....

    编辑器vim7.3

    "编辑器vim7.3"指的是Vim的7.3版本,这是一个在2011年发布的稳定版本,它带来了许多改进和新特性。 1. **Vim的基本操作** - Vim分为命令模式和插入模式。在命令模式下,用户可以进行移动光标、删除文本、复制粘贴...

    vim-plug, 我的vim插件, 基于vim-plug安装.zip

    通过vim-plug,你可以轻松地探索和尝试Vim社区中众多优秀的插件,如NERDTree(文件树视图),Fugitive(Git操作),YouCompleteMe(智能代码补全)等,提升你的编程效率。记得定期更新插件以获取最新的功能和修复。 ...

    vim-plugin插件

    这样用户无需离开编辑器就可以定位问题,提高了开发效率。 `a.vim` 文件可能是某个特定插件的组成部分,但未提供足够的信息来详细描述它的功能。通常,这类插件可能包含了自定义的命令或映射,以简化某些操作。 `...

    Go-vim-go-Vim的Go开发插件

    `vim-go`是Vim编辑器中一个强大的Go语言开发插件,由fatih维护。它为Vim提供了丰富的功能,旨在提升Go程序员的开发效率和代码质量。这个插件包含了调试、语法高亮、自动补全、代码跳转、格式化、重构等多个方面的...

    vim编辑器vim-7.3.tar.bz2

    Vim编辑器以其强大的命令行模式而著名,用户可以通过键盘快捷键执行各种编辑操作,大大提高了编辑效率。尽管对于初学者来说,这种模式可能需要一定的学习曲线,但一旦熟练掌握,它能提供无与伦比的编辑速度和精度。 ...

    vim-config.tar.gz

    Vim(Vi IMproved)是一款强大的文本编辑器,深受程序员和系统管理员的喜爱。它具有高度可配置性,可以通过自定义配置文件实现个性化设置,提高工作效率。`vim-config.tar.gz` 是一个包含Vim配置文件的压缩包,用于...

    Python库 | vim-packadd-0.3.10.tar.gz

    在IT行业中,编辑器是开发者日常工作中不可或缺的工具,而Vim作为一个强大的文本编辑器,因其高度可定制性和高效操作性而备受程序员喜爱。本文将深入探讨与"Python库 | vim-packadd-0.3.10.tar.gz"相关的知识点,...

    vim-l9.zip

    【vim-l9.zip】是一个与Vim编辑器相关的压缩包,它包含了Vim插件的文档、插件脚本和自动加载文件。该压缩包的出现源于一个特定的问题:用户在尝试使用某个插件时遇到了错误提示,提示缺少L9 library库。L9库对于Vim...

    vim-deprecated.zip

    【vim-deprecated.zip】是一个专为Linux环境设计的压缩包,包含了将Vim文本编辑器升级至现代化开发工具的自安装脚本。在Linux发行版如Ubuntu、Linux Mint或CentOS等系统上,用户可以利用这个脚本来快速、便捷地配置...

    Python库 | vim-vint-0.3.7.tar.gz

    在软件开发中,编辑器是程序员的主要工作平台,而像vim-vint这样的工具可以极大地提升开发效率和代码质量。 “linux”标签意味着vim-vint可能特别关注于Linux环境,尽管Vim本身是跨平台的,可以在多种操作系统上...

    vim-autocomplpop.rar

    【vim-autocomplpop.rar】是一个压缩包,包含与Vim编辑器相关的自动补全功能扩展。Vim是一款强大的文本编辑器,深受程序员和系统管理员喜爱。它以其高度可定制性和丰富的插件系统而闻名。在Vim中,`autocomplpop`是...

    vim-ideAutoconfig.tar.gz

    总之,**vim-ideAutoconfig.tar.gz** 提供了一个快速设置Vim作为Linux开发环境的解决方案,让程序员能够专注于编码,而不是配置编辑器。通过自动化这个过程,它可以节省时间,降低学习成本,并提升开发工作的舒适度...

    vim-plugin

    Vim 是一款强大的文本编辑器,它以其高度可配置性和高效的工作流而受到程序员和文本操作爱好者的喜爱。"vim-plugin" 指的是在 Vim 中使用的插件,这些插件能够扩展 Vim 的功能,使其更适合特定的任务或提高工作效率...

    VIM-IDE 脚本自动配置

    VIM-IDE(集成开发环境)是将强大的文本编辑器VIM转变为功能丰富的代码编写工具的一种方式。这个配置主要是为了优化VIM,使其更适合进行软件开发。通过运行一个脚本,用户可以快速、方便地安装并配置好所有必要的...

    PyPI 官网下载 | vim-vint-0.3.10.tar.gz

    在编程世界中,Vim作为一个强大的文本编辑器,深受许多程序员的喜爱。它以其高度可定制性和高效的操作方式赢得了广泛的赞誉。而Python,作为一种简洁易读、广泛应用的编程语言,其在开发环境的搭建上也需考虑到效率...

Global site tag (gtag.js) - Google Analytics