思考速度多快 写程序速度就多快
Vim 编辑器的内容,多到可以独立的出一本书来说明。
例如我看过的 「Vim 实用技巧」一书,影片内的部分知识就是取自於此。
这次除了 编辑器的好坏处比较以外,後面指令说明的部分,只会就简单的文本编写动作的延伸介绍。
其他的可视模式、命令行模式、剪贴簿、书签、巨集的功能部分
在 Vim 编辑器 入门指南 (下) 会继续说明。
通常想要提升开发速度的开发者,都会熟记 IDE 的快捷键,以减少手部离开键盘操控滑鼠的时间。
不使用「滑鼠」,只使用「键盘」的文字编辑器
键盘上的每一个按键,都代表了一种指令 ; 这些指令,就像是语言一样,有自己的语法与逻辑。
可以让你用最少的动作 完成最多的事情
依据我这些年使用的开发经验,个人认为 Vim 的编辑器有「三点好处」与「三点坏处」
好处一: 速度快
开启档案快
编辑速度也快
也就是开发速度快
如果是一个非常小的修改任务
使用终端机: 找到目标 -> 开启档案 -> 编辑 -> 修改 -> 完成
这一套流程,可能 IDE 才刚跑完 启动的画面
好处二 : 精准
我希望 :
或者
大脑想要的编辑动作 -> 键盘精准达成
(不需要滑鼠手眼协调才能大致定位)
好处三 : 酷
身为专业的开发者,肯定是希望「快捷键」高速连按。如此才能满足想像中「骇客」的模样 :
对着黑屏白字的「终端机」,键盘高速连打。
坏处一 : 中文输入不方便
所有的编辑指令,都必须在英文的输入法下才能作用。
如果编辑的文件中有中文的部分,就必须要常常进行输入法的切换。
造成影响
有时候,
指令如果下得太快,没有切换成功,
就会在中英文的交界处,发生严重堵塞。
(此时你可能就会开始思考人生的意义)
坏处二 : 不适用 Windowns 平台
就使用经验而言 Vim 在 Windows 平台不太好用,除了刚才的输入法问题以外
想要使用 Vim ,虽然有 GVim 图形介面可以安装,但相比於 Mac 与 Linux 终端机的各种操作与指令工具,两者还是有很大的差异。
所以我在 Windowns 的平台,不会硬要用终端机来作业
只会在 IDE 安装相关插件
坏处三: 学习曲线高
Vim 的指令与指令之间,可以互相的组合与搭配
彼此的关系并不是,一对一 或者 一对多,而是 多对多的状态
要了解这些指令执行後 ,会做了些什麽样的动作,然後前方与後方可以再搭配什麽样的指令
方能在编辑时:
选择最佳的组合 -> 精准且快速的完成目标
要使用 Vim 的编辑器,如果是 Mac 或 Linux 系统,开启终端机可能就有。
但如果是 Windows 的系统,个人建议可以使用 ,上一部影片介绍的 IntelliJ 安装 Vim 插件 :
同样可以安装
将 vim 插件的快捷键,设定成: cmd + opt + 1
初期开发时,遇到不熟悉的指令,可以先切回来,用原本的方式完成任务。
指令操作的部分,建议看影片会比较容易了解
vim {档案名称}
ex: vim VimSE.txt
使用 vim 的编辑器开启 VimSE.txt 档案
开启时,会有两种情况 :
vim 指令输入後的画面,是 Vim 的「普通模式」, 也是编辑器的预设模式
方向键上下左右,可以移动光标。
但与多数的编辑器不同输入任一按键并不会出现文字。这个是 Vim 独特的地方,它具有多种模式
各种强大的编辑指令都是藉由此模式(普通模式)的状态,进行指令下达
一般常用的文字编辑状态,在 Vim 中称之为「插入模式」
按键 i 进入该模式,进入後左下角的部分,会出现了 INSERT 的 文字
输入完想要输入的文字以後,按键 ESC 就可以退出这个模式,回到的地方就是预设的普通模式
编辑完成了,输入 冒号 (:) 左下角的部分, 也出现了一个冒号
这个是 Vim 的「命令行模式」, 可以像终端机一样输入指令
:w
w 代表的是 存档(write)
:q
q 代表的是 离开(quit)
:wq
两者可以结合起来,代表存档後离开
到了这一步骤,已经可以安全地从编辑器离开
未来如果在一个不得不使用 vim 的情况下,例如:
连线进 linux 主机 编辑配置档案
你已经掌握最少可以行动的知识
但我想你要的不仅仅是可以动就好。
简单的编辑一个档案,还要经过三个模式,有够麻烦。
接下来就会说明刚才流程中,还可以使用的其他进阶功能。
如果对 vim 的操作没有概念的话,同样建议看影片会比较容易了解
清单列表
清单列表
清单列表
两者皆可
普通模式下使用
光标的移动,除了方向键还可以使用小写 h j k l 移动
方便的记法
j 看起来 像是箭头 下, 所以 j 是 方向键 下, k 则是 方向键 上
可以让你的双手,随时保持在键盘的中央,而不会歪斜在右下角。
当然一切还是以你的习惯为基准,不要为了用而用,
偶而使用方向键,也不是什麽大不了的事。
(书籍 : Vim 实用技巧 建议)
也听说过有人把,方向键改成 wsad 第一人称游戏的移动方式
通常 vim 的指令,前方都可以加上数字来指定执行的次数
hjkl 就是光标移动的指令,所以也可以加上数字来搭配使用
例如
个人是常常使用 11j 22j 33j 或者 11k 22k 33k
重复的两个数字加上方向,用来当作翻页的功能
当然 vim 编辑器,并不是主要以这种方式移动,也有一些指令可以让你一步到位
页面定位
翻页指令
光标定位
跳转行数
为什麽会有两种方式 ?
个人认为
冒号加数字是普通模式下,一般操作比较直觉好用
数字加G则是使用在录制巨集时,为了输入的连贯性避免进入到其他模式,造成操作的混乱情况
查找指令
假设已经找到目标行数了,接下来就是要使用光标的水平移动指令
水平移动指令
字符查找指令
example:
至此光标垂直与水平移动的指令,已经可以绝大多数的取代滑鼠的功能(起码可以比滚轮的作用更加精准)
要像滑鼠点击哪里,就可以从哪里开始编辑一样直觉。
光标移动指令加上插入模式 i 指令,两个以上的组合指令,并不是一个直觉的方法。
除了 i 指令, 可以进入该模式以外,还有以下可以指定进入模式的方法
进入插入模式指令
取代文字 example:
大写的指令
退出插入模式
普通模式要延伸补充的,是尚未归类到上方的分类,但又不得不提非常有用的指令。
数字递增与递减
此篇先只着重在简单的文本编写相关功能的延伸上,後续的可视模式、命令行模式
以及跟寄存器功能相关的剪贴簿、书签、巨集,会在下一篇章中接着介绍。
我觉得光是前面说明的指令部分,应该就需要花一些时间消化吸收。
在更近一步说明之前,关於发挥 Vim 编辑器的威力,
还有一个更重要的前置条件必须要具备 :
那就是「盲打的能力」,也就是打字的时候不用看着键盘
假设输入 Vim 的指令时,视线还要来回於键盘和萤幕之间,即便 指令背的在熟,速度也快不起来。
提供一个, 我刚开始练习时 找到的简单方法 :
打开编辑器,键盘 a 到 z 的顺序,以百次为单位练习,
每天练习 3 ~ 5 次,刚开始速度不用快,
先追求每次的正确性,逐渐熟悉後,速度自然就会起来。
一个礼拜的练习,应该就能很快看到效果。
https://zh.wikipedia.org/wiki/Vim
https://blog.techbridge.cc/2020/04/06/how-to-use-vim-as-an-editor-tutorial/
https://coolshell.cn/articles/5426.html
购买後需详阅公开声明书 会下这标题的原因是,主题真正购买後的安装设定,真的需要参考网路文章才能少走很...
在开发时,总缺少不了 bug 的存在, 那如何 debugger 就是所有开发者都很在意的问题了, ...
先简单回顾一下,今天预计分析的题目:94. Binary Tree Inorder Travers...
承前文,在函式中的结构中,包括变数。使用变数,就须宣告,因此宣告所及的范围(Scope)成为函式、乃...
在第六天开始前,先祝各位朋朋中秋节快乐! 在写程序时,时常必须根据不同的状况做出不同的对应机制,而处...