Giter VIP home page Giter VIP logo

Comments (6)

skywind3000 avatar skywind3000 commented on August 24, 2024 22

@ilovelll 你这说的是第二种情况,就是明知道 ;, 是干什么的,却最终做出了错误的选择。vim 有很多功能,大部分人只熟悉里面的一个子集,你很少用 ;, 不代表别人也很少用,我就经常用,非常有效率,我基本都不用 hl 进行横向移动,就是 w,b,e,W,B,E 然后 f/t/F/T 然后搭配 ;,

有一些功能一开始你可能会觉得很低效,这很正常,就像弹吉他一开始要练习指法一样,标准指法很痛苦,但是到后面会很高效,非标准指法一开始很容易,到后面就很笨拙了。

道理是相通的,;, 也一样,你把它弄成 leader,是从一开始就断绝了你后面可能会逐渐学习,认识,并掌握这两个键的任何可能性,超时?timeout 一般设置成 1-2 秒,为了用逗号等个超时会让你整个工作流中断,1秒钟都能输入 1.5 - 2 个单词了(不是字母),你这基本上是把它的便利性彻底否定掉了,等一秒超时还不如 fx 重新输入一遍,有意义么。

所以,不要轻易覆盖 vim 的日常功能,特别是你自己不会用的,你现在不习惯用,不代表别人不用,不代表将不会帮到你。就像你现在不习惯标准指法,不见得半年后你不能从标准指法获益,就是这个意思。

这个问题我不是随便说说的,我是思考过的,逗号做 leader 就是一种错误的用法,不用摸棱两可,说虽然错了,但是也有一定功效。这样没意义,错了就是错了,人体工学也不能成为用错的接口。

真要讲人体工学?你去看看成熟的配置 emacs 下面的 spacemacs (vim 键位), doom-emacs, parcell 的配置,人家都是把 leader 设置成 <space> 。space才是最符合人体工学的 leader 键,即不覆盖 vim 任何功能,而且左手和右手拇指都能方便的敲,这才是最顺手的 leader,你逗号做 leader 还有一个问题是下一个键如果在右手键盘区,你按完逗号再去按会不够高效,还有一个收指的过程。

而 space 就没这个问题,拇指敲完 space 后不用等收指,其他四个手指就可以马上按其他键,非常流畅。space 还可以左右手的拇指同时敲,就像左右两个 shift 一样,根据击键区域不同,哪边方便按哪边,标准键盘指法,输入左边大写字母是用右手小指按右shift,输入右边大写字母是用左手小指按左边 shift。

什么叫做经过深入思考的键盘设置,左右两个 shift 就是,spacemace / doom-emacs 这些千万人用的配置选择 space 作为 leader 就叫深入思考。

我也不想说这么多,但既然你提出疑问,我就给你解释下。用错了就是用错了,不用找理由,让别人把正确的言论撤回去也掩盖不了用错了的本质。

from vim-init.

skywind3000 avatar skywind3000 commented on August 24, 2024 11

我说实话 同一行内定位,算的平均击键次数的话, easy-motion 并不见得比 w/b/e 或者 fx 加逗号快。

什么叫做 “大部分人都是用右手”,你去看看真的大部分人用的几个 emacs 配置,人家 leader 怎么设置的,国内很多 vim 的坏习惯其实就是从早期几个用法不正确的人写的几篇误导性的文章开始的。

你说你用了十年逗号改不过来了,没问题,你接着用,但是你别拦着新人学习正确的姿势啊,更别甩两句 zz 正确的话就不准人讨论比较逗号和空格做 leader 的利弊。

好一个 ”求同存异“,到底是谁应该 ”求同存异“,我好像并没有跑到你们的 dotfiles 仓库给你们提 issue 吧?没有说你们仓库里的配置有问题吧?也没有强迫你们用 space 吧?你们在知乎或者自己博客上继续教新人用逗号 leader,我也没跑过来踩你们吧?

然而我只是在我自己的仓库里,面向新人的配置发表这个观点,你们就要跑过来不希望我这么讨论,还要让我收回自己说的话,到底是谁才应该 ”求同存异“ ?

但是问题你们除了喊两句 zz 正确的口号外,根本就不愿意真的讨论一下两种选择的利弊。

现代搏击理念每年推成出新,老师傅们不要因为新理念同自己掌握的技能不同就不准人探究,这不符合更快更高更强的体育精神,也不符合 vim 想来要探索 “工作效率“ 的精神。

求同存异没问题,我并没有强迫你改正你的 leader,但是不管新人爱用啥,请报以开放心态, “空格比逗号更适合做 leader” 这个明显的事实,不用害怕和抵触它传播,更不应该阻止它传播。

from vim-init.

LeoJhonSong avatar LeoJhonSong commented on August 24, 2024 3

@skywind3000 感谢你的说明让我知道了自己一直以来用,作为leader不够科学以及easy-motion似乎并不那么easy:joy: 不过我之前使用,作为leader并不是看到了网上的教程, 只是我自己觉得这个键很少用到, 并没想过其实space更科学orz

建议把上面这段解释加进README让新手能明白为什么space更好, 以及建议言辞能和缓一些, 不然即便你说得完全正确中枪的大家心里也没那么舒服嘛:smirk:

from vim-init.

FGG100y avatar FGG100y commented on August 24, 2024

个人认为,对于新手,应该去通读经典入门书籍,如practical vim,在这个基础上,才好去自己配置vimrc。
自我感觉喜欢用vim,就是为hjkl所折服,这是不同的理念。

from vim-init.

wsdjeg avatar wsdjeg commented on August 24, 2024

Vim 是一个非常灵活的工具,好的教程应该是告诉用户,可以怎么做,能够怎么做,不需要说应该怎么做,用户自己会去选择。

from vim-init.

FGG100y avatar FGG100y commented on August 24, 2024

@skywind3000 主要觉得还是不要武断地说绑定某个键是“错的”或者“对的”。
人体工程学什么的我不清楚,但觉得或许可以这样类比:长期以来,大部分人都用右手书写;突然来了个左撇子的老师,然后就一定要规定:用右手书写是“错的”...
关于使用<'f'+‘;’>或<'f'+‘,’>进行快速前后移动,我倒是推荐一下easy-motion这个插件。
同意 @wsdjeg 的观点。
大家也是喜欢用vim才会来讨论。关于vimrc的配置,恐怕’求同存异‘更为妥当。

from vim-init.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.