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

如何高效使用Vim

vim 
阅读更多

用vim 快两年了 看过教程也不少,总的来说还是得自己多练习,当自己觉得有需要的时候,再添加功能。这里分享个看过的最好的教程,出自贴吧的某个朋友,写的很好

学会盲打

配置文件先从最简开始,在 伍级 前别考虑配置插件,千万别硬背命令,千万别直接取用别人的配置文件
基本还是长时间待在 insert mode 下,会觉得 vim 也不过尔尔,也不好用,

这个时候,编辑效率可能比用原来的一般编辑器还低,别人问使用什麼编辑器时,
多半会回答:vim 再配一个 nano, kate, kwrite, gedit, geany 或其他 IDE 之类的

养成习惯待在 normal mode(normal 不是白叫的),只有输入时才进入 insert mode,输入完马上 <ESC>
学习 normal mode 下的移动命令,这个时候输入文字标准流程:

  1. normal mode 移动命令准确定位光标(记住,搜索命令也是移动命令)
  2. 进入 insert mode 编辑(进入 insert mode 别只用 i,要习惯视乎情况,使用 I a A o O s C)
  3. <ESC> 返回 normal mode

这个时候,编辑效应会恢复到和你之前用的普通编辑器一样,甚至有少量提高

学习什麼是 operator(命令 d y c 等),什麼是 motion(所有能移动光标的命令,h j k l w e f t / ? 等等),
学习 operator + motion 的方式,如 ct. (将当前光标到 . (点) 之间的内容删除并进入 insert mode 准备修改)
学习基础的 Ex 命令,:s 什麼的

这个时候,编辑效率开始明显提高,在用其他一般编辑器时,会开始觉得不习惯和低效率

学习 text-objects,知道 operator + text-objects 的方法,可进行手术般精准的定位和修改,
既然你主要用在 c/c++,举一些在这个情况下有用的例子:

ci" (由 change operator 和 text-object i" 组成)

这个命令会找到当前光标所在行的下一个 " 括起来的字符串,清除引号裏面的内容,并进入 insert mode 以方便修改
用起来比解释起来简单,你可用 const char* hello = "Hello world."; 类似这样的代码来测试

yaB (由 yank operator 和 text-object aB 组成)

这个命令会将当前光标所在的代码块({} 括起来的内容,包括花括号本身)复制到默认 register,
方便在其他地方用 p 贴出来(当然,写代码不鼓励 copy and paste),你可用用任何一个 {} 来测试,然后找另外一个地方 p

gUiw (由 make uppercase operator 和 text-object iw 组成)

这个命令会将当前光标所在的 word 全部变成大写
如将 max_size 变成 MAX_SIZE

这个时候,开始知道为什麼 vim 精确高效,而且并不是因为全键盘无需鼠标

习惯 operator + motion 后,发现 . 命令很好用,多注意使用可重复的命令组合
练习使用书签定位,q 记录宏,使用多个 register,使用 args,使用 buffer
使用其他的 Ex 命令

这个时候,想不起没用 vim 之前的日子是怎麼过来的

开始 map 经常反覆使用的命令,开始写 vimscript,开始知道自己需要什麼样的插件
试推荐几个:
pathogen 或 vundle,tagbar, CtrlP, Gundo, UltiSnips,surround,Syntastic,Conque,ack.vim,vim-commentary,fugitive(如果是 git 用户)
还有不少,但多对 c/c++ 没直接帮助,就不提了

这个时候,对其他编辑器提不起兴趣,或许 emacs 除外

拥有完全个人化的 vimrc,基本进入化境,成为江湖上的传说
常有旁人观察你编辑后,激起雄心壮志想要学 vim,尝试几个小时候因为觉得热键太不"人性化”而放弃,
但偶尔会向人提起他见过江湖上有你这麼一号人物

分享到:
评论

相关推荐

    vim使用进阶 使用vim提高你的文本编辑效率

     本系列文章介绍我自己使用vim的一些经验,主要包括vim使用技巧、vim配置、vim命令、vim 插件等内容。本篇是序言,务虚为主。  在使用vim进行软件开发之前,我使用的工具是Source Insight,相信大家并不陌 生。...

    高效的VIM.pdf

    高效的VIM.pdf 高效的VIM.pdf

    如何高效使用VIM

    Vim 是一款文本编辑器,被称为编辑器之神,非常适合在shell 中编辑代码,熟练的使用Vim,可以让你高效的编写代码。 Vim 是Vi 的增强版,所有的类Unix 系统,都自带这两个工具,这两个工具中使用较多的也是Vim。 Vim ...

    Python-使用更高效的Vim进行开发

    使用更高效的 Vim 进行开发

    Vim实战:使用Vim实现图像分类任务

    Vim作为一种高效的视觉模型,具有计算和内存效率高、处理高分辨率图像能力强等优点。这使得Vim成为下一代视觉基础模型的理想选择。 本文使用Vim模型实现图像分类任务,模型选择最小的vim_tiny_patch16_224_...

    Vim实用技巧

    本书包含了Vim实用技巧和使用指南。全书概括了121个技巧,通过丰富的示例、清晰的体例和详细的讲解,展示了高效使用Vim的崭新方法。

    简明Vim练级攻略.pdf

    系统学习使用高效的Vim编辑器。 vim的学习曲线相当的大(参看各种文本编辑器的学习曲线 (https://coolshell.cn/articles/3125.html)),所以,如 果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去...

    VIM中文手册(学习VIM的帮助)

    使用Vim教程 讲述Vim的基本命令 高效编辑

    vim命令教程——教你高效快捷地运用Vim

    深入浅出地教你使用Vim来做编辑,让你能很快高效快捷地运用Vim。

    vim键盘图囊括了vi/vim绝大部分常用的高效按键技巧

    囊括了vi/vim绝大部分常用的高效按键技巧

    vim键位图打印版整理

    分享自己学习vi/vim使用键位图打印版资料。 本人一开始也是vim菜鸟一个,接触过linux/unix的朋友或者程序猿,都非常希望能用上逼格顶上天的vim,但是因为vim各种模式,各种高级快捷操作,入门很难。我自己也是过来人...

    shell和Vim最经典全面的教程

    里面讲述了我们平常能够使用到的基本shell命令,特别是对命令选项进行了整理,便于新手记忆,同时也介绍了怎么高效的使用vim编辑我们的代码,多种快捷键的使用,使编程和查看代码不在是那么迟钝.

    vim user manual ---vim用户手册

    j01.3j 使用Vim教程 j01.4j 版权 jusr 02.txtj Vim第一步 j02.1j 首次运行Vim j02.2j 插入文本 9 10 第00章目录 j02.3j 移动光标 j02.4j 删除字符 j02.5j 撤消与重做 j02.6j 其它编辑命令 j02.7j 退出 j02.8j 求助 ...

    Vim 从入门到精通

    全面高效的 Vim 从入门到精通VIM配置指南 是有兴趣学习者的强大工具

    vim图解,vim cheat sheet

    vim全功能图谱解说,高清彩色图,可以自定义打印,支持编辑,方便高效查阅,对于初学者有较大的帮助。把vim常用的功能及快捷键以功能分区,使用不同颜色区分开来,直观学习。

    vim命令详解

    本文档详细介绍了VIM下的各种命令,如何高效的使用vim,是读者对vim有一个大致的了解和基本的掌握。

    Ubuntu下高效Vim的搭建(插件已打包解压即用).zip

    在Ubuntu下开发C++,将Vim打造成弱化版的IDE。各种插件已打包,可实现离线安装,解压即用,具体看csdn内文章的使用说明。代码跳转功能需配合ctags工具,Ubuntu默认自带包,可直接通过apt安装。

    Learning the vi and Vim Editors

    你将学到以下内容:, · 高效使用vi, · 深入讲解vi的知识,例如使用缓存, · 使用vi的全局搜索替换功能, · 定制vi以及运行Unix命令.., · 使用Vim的扩展文本对象和强大正则表达式, · 使用多窗口编辑并且编写Vim...

    vim 8.0.rar

    vim是Linux常用的编辑器, vim是vi增强版,其升级的主要特点是添加了颜色的支持,对编程语言的关键字可以高亮显示,其命令使用基本相同,vim可以让你摆脱编辑文档时对鼠标的依赖,达到更高效的编辑。

Global site tag (gtag.js) - Google Analytics