小键盘(60%)真的有点不太适合 Vim 选手 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Immortal
V2EX    机械键盘

小键盘(60%)真的有点不太适合 Vim 选手

  •  
  •   Immortal 2020-04-27 10:17:31 +08:00 8075 次点击
    这是一个创建于 1997 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前预定的 keychron K6 前天到货了,很欣喜的用了两天,发现真的不习惯:

    • 没有 F 区。
    • ~和 ESC 同键。

    手感来说中规中矩吧,可能按惯茶 FILCO 后还没习惯这个红轴,虽然轻,是有点“硬”。 虽然影响不算特别大,感觉自己用还是得 87 起步。
    然后发现 keychron 开始预告 K8 了,人给整傻了。

    第 1 条附言    2020-04-27 12:41:40 +08:00
    我用的不是纯的 Vim
    是 Idea+ideavim 插件的
    所以经常会用到 idea 的快捷方式(就是 F 区相关,例如批量修改变量名等)
    关于 ESC 和~重合,主要是 Vim 的大小写修改和“回到最后一次编辑位置”常用,这样就比较碍手
    第 2 条附言    2020-04-27 19:25:08 +08:00

    好像都不爱看评论,解释下:

    • F区是因为我用的是idea+vim,不是纯的Vim,所以有些快捷键需要用到F区
    • Vim的按键映射可以绑定Idea的Action这个我也知道,这也是我推荐用Idea+Vim的原因,比装一堆插件的Vim我觉得更好一些,更智能更少折腾,如果想入坑Vim的我建议用这个搭配方案。
    • 主要这个键盘我吐槽的是ESC和~是整合到了一个键,区别在于在用大小写切换(Vim里是<C-~>)和“最后一次编辑的地方“(` ,),所以让我不太习惯。
    • 我知道可以自定义map,但是有长年的使用习惯,因为Macos的Command存在,所以和Linux下又略有差别,习惯基本都养成,不太想改。如果换键盘和重新习惯一套映射,我宁可换一块键盘。
    第 3 条附言    2020-04-27 20:58:59 +08:00
    好像有不少 vim 选手和对 vim 有兴趣的朋友,再推荐一手 Chrome 的类 Vim 插件 -- Surfingkeys
    现在主要用了 Mac,工作需要(我知道 Mac 下也有窗口平铺管理系统)
    如果有玩 Linux 平铺的窗口的
    再安利一个系统组合 Arch+bspwm 套餐 走向纯键盘流
    70 条回复    2021-08-21 00:31:58 +08:00
    Immortal
        1
    Immortal  
    OP
       2020-04-27 11:14:10 +08:00
    顺带问下 vim-surround 里的 ysS 一类的命令,S 不是模式删除么,这个怎么用的
    mbtfdwlx
        2
    mbtfdwlx  
       2020-04-27 11:17:06 +08:00
    建议咸鱼或者留着送妹子...
    MaxTan
        3
    MaxTan  
       2020-04-27 11:18:30 +08:00
    esc 绑 caps lock 上
    Vimiumist
        4
    Vimiumist  
       2020-04-27 12:37:51 +08:00
    CTRL+C 甚至 CTRL+[都比 ESC 香
    Immortal
        5
    Immortal  
    OP
       2020-04-27 12:39:33 +08:00
    @Vimiumist #4
    如果命令敲错了 想重制按哪个
    Immortal
        6
    Immortal  
    OP
       2020-04-27 12:39:48 +08:00
    @Immortal #5 重制->重置
    loading
        7
    loading  
       2020-04-27 12:44:40 +08:00 via Android   2
    keychron 有啥好看的。
    DiamondbacK
        8
    DiamondbacK  
       2020-04-27 13:03:56 +08:00
    标题误导差评。
    只谈真 Vim,不谈模拟:没有特制键盘的自制魔法的就 :inorempa jk <Esc> 啊,这比什么组合键都强。
    40% 键盘 + Vim 用户。
    DiamondbacK
        9
    DiamondbacK  
       2020-04-27 13:05:10 +08:00
    更正:
    :s/innorempa/inoremap/
    DiamondbacK
        10
    DiamondbacK  
       2020-04-27 13:05:48 +08:00
    更正左边也更错了,但右边没错……
    dog82
        11
    dog82  
       2020-04-27 13:31:33 +08:00
    爱用 vim 的都是老程序员了吧,新生代没人玩这个
    不过 vim 跟 f 区关系不大
    Immortal
        12
    Immortal  
    OP
       2020-04-27 13:50:14 +08:00
    @dog82 #11
    主要还用到了 idea 编辑器的自带快捷键
    Immortal
        13
    Immortal  
    OP
       2020-04-27 13:50:54 +08:00
    @DiamondbacK #8
    主要平时命令会输错 想重新输入 jk 也可以么
    Immortal
        14
    Immortal  
    OP
       2020-04-27 13:51:20 +08:00
    @loading #7
    冲着“最适合 mac 的键盘”这个噱头买的
    loading
        15
    loading  
       2020-04-27 13:53:16 +08:00 via Android   1
    @Immortal 多了解下 tmk/qmk 吧。
    yxcxx
        16
    yxcxx  
       2020-04-27 14:13:12 +08:00
    esc 用 ctrl [, 用起来没任何问题,如果是 ideavim 的话,可以编辑一下 ideavimrc, 把常用的 action 设置成 vim 的快捷键,再不济双击 shift 也好.
    STRRL
        17
    STRRL  
       2020-04-27 14:14:37 +08:00
    我现在用的是 magic keyboard 可以了解下,除了剪刀键盘手感一般般,其余都比较舒服。
    Immortal
        18
    Immortal  
    OP
       2020-04-27 14:15:26 +08:00
    @yxcxx
    对于模式切换我也的确用的 ctrl+[居多
    主要还是前面说的 Esc 重置输入命令 不过不是 Esc 的问题这个键盘
    反而是~和 ESC 整合了,要输入~我要按三个键
    Immortal
        19
    Immortal  
    OP
       2020-04-27 14:16:11 +08:00
    @STRRL #17
    我有一块用了 4 年的全键盘 Filco 茶 还是不错的
    主要当初想过下无线的瘾 桌面想整洁点
    stimw
        20
    stimw  
       2020-04-27 14:18:43 +08:00 via Android
    @dog82 我刚学...觉得挺有趣的
    stimw
        21
    stimw  
       2020-04-27 14:20:17 +08:00 via Android
    @Immortal 我用的 60%是 anne pro2,有 taps 功能,干啥自定义都很方便。你这键盘没法自定义?
    Immortal
        22
    Immortal  
    OP
       2020-04-27 14:23:17 +08:00
    @stimw #21
    vim 可以自定义键位映射 得改下平时习惯
    单纯得键盘自定义=组合键 按键还是没少
    STRRL
        23
    STRRL  
       2020-04-27 14:24:07 +08:00
    @Immortal 好吧 我其实买 magic kbd 只是为了键位和笔记本键盘一样。。 因为在家木有外设键盘= =

    懒于适应两套布局

    而且 magic kbd 可以买 skinAT 家的贴纸 (可定制 好看
    stimw
        24
    stimw  
       2020-04-27 14:24:32 +08:00 via Android
    我倒觉得 fn+F 区和单按 F 区在麻烦程度上没什么区别...
    esc 建议使用 ctrl+[代替。。
    stimw
        25
    stimw  
       2020-04-27 14:26:35 +08:00 via Android
    @Immortal 呃,taps 可以把 capslock 单击改成 esc,但是组合的时候可以变成 ctrl 。
    Immortal
        26
    Immortal  
    OP
       2020-04-27 14:29:18 +08:00
    @stimw #24
    主要是 idea 的 3 个操作常用
    1 、批量改变量名
    2 、打开终端
    3 、查看类内所有方法
    这几个都涉及到 F 区

    我常用的就是 ctrl+[
    前面的问题说了,不是因为 ESC,而是这个键盘 ESC 和~是一个键
    stimw
        27
    stimw  
       2020-04-27 14:32:46 +08:00 via Android
    @Immortal 那就把 esc 改回~啊...F 区我觉得按一下 fn 问题不大
    Immortal
        28
    Immortal  
    OP
       2020-04-27 14:37:12 +08:00
    @stimw
    默认是 ESC 不是我改的
    yxcxx
        29
    yxcxx  
       2020-04-27 14:39:54 +08:00
    @Immortal #18 我用 filco 的 minila,把 capslock 映射成 esc,1 左边的~和 esc 复用键保留~,ctrl 用手掌按,用起来很舒服。唯一缺的就是用有时候 Mac 自带键盘的时候 ctrl 没办法用手掌按会不习惯。
    stimw
        30
    stimw  
       2020-04-27 14:42:07 +08:00 via Android
    @Immortal emmm 我是说你可以改直接成~啊...
    luckyrayyy
        31
    luckyrayyy  
       2020-04-27 14:44:59 +08:00
    我觉得 k2 84 键布局可能好些.....很多快捷键还是依赖 f 区
    Immortal
        32
    Immortal  
    OP
       2020-04-27 14:47:25 +08:00
    @luckyrayyy
    即将新出的 k8 我觉得也可以
    Immortal
        33
    Immortal  
    OP
       2020-04-27 14:48:14 +08:00
    @stimw
    esc 也得改成大小写或者其他键才行了
    20015jjw
        34
    20015jjw  
       2020-04-27 15:24:23 +08:00 via Android
    我也是 vim+android studio
    .ideavim 文件了解一下?
    我反正 hh$kb layout 还多俩键
    clrss
        35
    clrss  
       2020-04-27 15:38:30 +08:00
    你要 F 区肯定不能选 60%啊.
    关于 ESC, 我觉得 ESC 还是得在~上面, 哪怕 ESC 右边 F 区空着啥都没有(放电池电路板? 省几个轴&键帽?)
    Immortal
        36
    Immortal  
    OP
       2020-04-27 15:49:20 +08:00
    @20015jjw #34
    这块都配置过了的
    Immortal
        37
    Immortal  
    OP
       2020-04-27 15:49:48 +08:00
    @clrss #35
    所以有点蛋疼
    就当玩一下了
    用段时间换回 108 键的
    gaohongyuan
        38
    gaohongyuan  
       2020-04-27 15:59:05 +08:00 via Android
    用 hhkb 那样的 1.5u 退格布局,既把 esc 和~分开了,又拉近了退格和小拇指的距离
    focux
        39
    focux  
       2020-04-27 16:08:37 +08:00
    hhkb 用 vim 溜得飞起啊
    20015jjw
        40
    20015jjw  
       2020-04-27 16:20:28 +08:00 via Android
    @Immortal
    那就是你没配置好呗
    而且 spacefn 了解一下?
    Immortal
        41
    Immortal  
    OP
       2020-04-27 16:37:24 +08:00
    @20015jjw #40
    配置应该没问题 虽然时间不久 也用了 4-5 年的 vim 了
    spacefn 我看下 很早以前听过 之前一直都没打算用
    谢谢
    Immortal
        42
    Immortal  
    OP
       2020-04-27 16:37:45 +08:00
    @gaohongyuan #38
    @focux #39
    家境贫寒 hhkb 还是有点小贵
    20015jjw
        43
    20015jjw  
       2020-04-27 17:01:50 +08:00 via Android
    @Immortal
    你的键盘大概只能 karabiner 弄个假的 spacefn
    然后 4-5 年的 vim 用户 ideavim 配置对 fn 是可以完全不用的
    你是不是不知道 ideavim 李可以绑 intellij 里的 actions
    20015jjw
        44
    20015jjw  
       2020-04-27 17:03:18 +08:00 via Android
    顺便我看你 esc 还在左上角? dual role key 了解一下? caplock 按一下 esc 按住 ctrl 左上角 gravy 很容易的..
    20015jjw
        45
    20015jjw  
       2020-04-27 17:03:46 +08:00 via Android
    顺便红轴打字真的累
    leonme
        46
    leonme  
       2020-04-27 17:05:46 +08:00
    @dog82 #11 你在搞笑吗?服务端不用 vim 用什么?
    tremblingblue
        47
    tremblingblue  
       2020-04-27 17:10:31 +08:00
    @Immortal 有客制化 hhkb 布局的键盘的
    LancerEvo
        48
    LancerEvo  
       2020-04-27 17:21:25 +08:00
    vim 用什么 f 区?我都不知道 vim 支持 f 键

    推荐 filco 87 不解释
    tiiime
        49
    tiiime  
       2020-04-27 17:32:52 +08:00   1
    分享下自己的配置,在 idea 里输入 :actionlist 可以看所有支持的 action
    SelectInProjectView 这个 action 可以搞定在 ProjectView 定位文件位置,不用鼠标点那个了

    # ~/.ideavimrc
    set multiple-cursors
    set vim-easymotion
    set vim-surround
    set vim-textobj-entire

    # set relativenumber
    set clipboard+=unnamed

    # nnoremap <UP> kzz
    # nnoremap <DOWN> jzz


    noremap <Space>rel :action Refactorings.QuickListPopupAction<CR>
    noremap <Space>ren :action RenameElement<CR>
    noremap <Space>res :action ChangeSignature<CR>

    # noremap <Space><Space> :action GotoDeclaration<CR>
    noremap <Space>p :action SelectInProjectView<CR>

    noremap <Space>tig :action Vcs.Show.Log<CR>
    noremap <Space>gh :action Vcs.ShowTabbedFileHistory<CR>
    noremap <Space>gl :action Vcs.Show.Local.Changes<CR>

    noremap <Space>r<Space> :action Run<CR>
    noremap <Space>c<Space> :action CleanGradleProject<CR>
    noremap <Space>s<Space> :action Android.SyncProject<CR>
    noremap <Space>f<Space> :action FindInPath<CR>
    noremap <Space>l<Space> :action ShowReformatFileDialog<CR>

    noremap <Space><Space> :action RecentFiles<CR>

    noremap <Space>fu :action FindUsages<CR>
    stimw
        50
    stimw  
       2020-04-27 17:39:11 +08:00
    @leonme 虽然我也用 vim...但是很多编辑器 ide 都有 remote 模式了吧...
    leonme
        51
    leonme  
       2020-04-27 17:50:49 +08:00
    @stimw #50 跳板机决定了这个在大厂没法用
    Immortal
        52
    Immortal  
    OP
       2020-04-27 19:20:41 +08:00
    @20015jjw #43
    你说的都知道的。。不然我就去用纯 vim 了
    ooops
        53
    ooops  
       2020-04-27 19:21:47 +08:00 via iPhone
    f 区自己映射啊,组合键不移动手指和单个键移动一段距离我选择前者。我 40%用的很舒服。capslock 位置按住 control,点击是 ESC,你可以试试这个方案。Capslock 没什么用可以抛弃掉。
    Immortal
        54
    Immortal  
    OP
       2020-04-27 19:26:10 +08:00
    @ooops #53
    主要是中 /英文切换用。。
    Immortal
        55
    Immortal  
    OP
       2020-04-27 19:28:25 +08:00
    @tiiime #49
    看到你用的那两个插件 我有两个疑问没找到解决方案 正好咨询下你 我是 Mac 里用:
    1 、surround 里 如果组合 S (大写)是怎么解决的,默认 S 不是“删除当前字符并改为插入模式”么,不知道是不是 Mac 下的问题。
    2 、multiple-cursors 我这边完全没法用,是需要什么特殊姿势?查了下还是 Mac 的原因
    ooops
        56
    ooops  
       2020-04-27 19:35:19 +08:00
    @Immortal #54 可以换成左 shift 切英文,右 command 切中文。然后配合我那个方案会比较爽。默认也是可以用 control+space 切换输入法。
    Goooogle
        57
    Goooogle  
       2020-04-27 20:16:08 +08:00
    所以我选择带功能区的 75 键盘
    lfcyme
        58
    lfcyme  
       2020-04-27 20:27:18 +08:00 via Android
    我用国产经典容 niz 68 也是没 f 区 但是没什么异常啊 建议走向纯 vim 的道路
    Immortal
        59
    Immortal  
    OP
       2020-04-27 20:56:38 +08:00
    @lfcyme
    不过我反而想建议你试试 idea 的 vim,真滴香
    summerain4ever
        60
    summerain4ever  
       2020-04-27 23:52:15 +08:00
    大佬用不惯,挂闲鱼出么?我也想试试
    guog
        61
    guog  
       2020-04-27 23:53:58 +08:00 via Android
    50 包邮回血
    Maximumh
        62
    Maximumh  
       2020-04-28 00:56:11 +08:00 via iPad
    买过这个牌子键盘,keychron k3 然后退了,几个大键的手感太肉了,特别是空格键这种一直按的手感不一致就难受
    eric6356
        63
    eric6356  
       2020-04-28 01:13:21 +08:00
    完全同意,最近几年一直用 87 键的。
    看到楼上也有提到,我也买过 75% 的键盘,记得是 KBT 的 Race 。用了几天因为 ~ 和 Esc 贴着,不像标准键盘那样有间距导致我经常误触,最终没法习惯而退掉了。
    wd
        64
    wd  
       2020-04-28 06:33:50 +08:00 via iPhone
    把右 shift 改成 esc 我一直这么用。还有一个就是 capslock 可以利用起来
    gaohongyuan
        65
    gaohongyuan  
       2020-04-28 07:30:34 +08:00 via Android
    @Immortal 只要类似的布局就可以,最便宜的方案应该是 gh60 自己组装一把?
    hhyvs111
        66
    hhyvs111  
       2020-04-28 08:51:05 +08:00
    建议换一个 hhkb 吧,这才真的 vim 60%键盘
    DiamondbacK
        67
    DiamondbacK  
       2020-04-28 09:17:35 +08:00
    就算是 F 区和两键、三键、四键甚至五键的组合键,也是 40% 键盘按起来更舒服,想不到吧?这要看你肯不肯用点心去设计键位。完全可以做到按这些键的时候连手腕都不离开原来的支撑点。
    Immortal
        68
    Immortal  
    OP
       2020-04-28 09:37:47 +08:00 via Android
    @DiamondbacK 别 老哥 四五个键一起按 我还是愿意移动下手腕的
    undeflife
        69
    undeflife  
       2020-04-28 09:38:33 +08:00
    键盘如果是红轴 我收
    MarkLeeyun
        70
    MarkLeeyun  
       2021-08-21 00:31:58 +08:00
    68 键的有点无聊。还是 61 的舒服。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3070 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 00:31 PVG 08:31 LAX 17:31 JFK 20:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86