我个人是 page up,page down,上下左右方向键直接上的,这个也是 SlayerS BoxeR 当年打星际的手法(暴露年龄)
想问问有多少人是 Esc 切换到 Normal Mode 下,然后 hjkl 一顿操作的?
也看见有人改了配置按住 Ctrl 配合 hjkl 来操作,这样感觉不通用。
或者还有其他方法?
1 billlee 2019-06-23 23:15:20 +08:00 我是不用方向键的,手要离开主键盘区,效率太低了。 |
![]() | 2 shijingshijing OP @billlee 是用 Esc 在两种模式之间切来切去么? |
3 starrycat 2019-06-23 23:18:23 +08:00 via Android ![]() m-hjkl,不过很少用到 |
![]() | 4 PTLin 2019-06-23 23:25:32 +08:00 有时候需要移动一下光标的我一般用 C-o 加 hjkl 什么的,同时设置了个快捷键用来跳转到行尾,还设置了 m-hjkl 但也是很少用。 |
5 vyronlee 2019-06-23 23:29:40 +08:00 via iPhone 我所有移动操作都是在 Normal 模式下 |
![]() | 6 KasuganoSoras 2019-06-23 23:31:03 +08:00 按下 Esc,然后输入 :set mouse=a 开始体验鼠标点击移动光标的快乐 √ |
![]() | 7 KasuganoSoras 2019-06-23 23:33:35 +08:00 ![]() 当你想要切换回普通编辑模式的时候,只需要 :set mouse=c 就行了 |
8 KannaMakino 2019-06-23 23:37:17 +08:00 via iPhone hjkl ↑↓←→ |
9 billlee 2019-06-23 23:43:28 +08:00 @shijingshijing #2 是啊,写代码的时候也很少会需要翻页移动的啊,一般就是附近几个词、几行之间移动。大范围的移动我一般直接用搜索或 tag 跳转。 |
10 newtype0092 2019-06-23 23:47:04 +08:00 正常不都是 Esc 出来么?左手点下 Esc 右手 hjkl 衔接很流畅,习惯了后点 Esc 完全不经过大脑,好像系统自动帮你按的一样。 |
![]() | 11 weixiangzhe 2019-06-23 23:49:08 +08:00 via iPhone w b f 行内移动 行首^ 行尾$ c u 或 c d 翻页之类的 insert 模式绑定为 emac 的 c npbf 也有 ... vim 里移动可以学几天吧 还有用 easy motion 之类的,vim 移动是主要功能 |
12 deyilee 2019-06-23 23:49:16 +08:00 设置了按键绑定 之前在用 gvim 时,双击,,(英文逗号)是光标右移动 现在用 vscode,就用 alt+hjkl 来控制 insert 模式下的光标上下左右 |
13 deyilee 2019-06-23 23:49:44 +08:00 按 esc 毕竟要切换模式,不是太流畅 |
![]() | 14 jdhao 2019-06-23 23:52:23 +08:00 via Android 不退出插入模式,大范围移动,不如使用 vscode |
![]() | 15 weixiangzhe 2019-06-23 23:57:17 +08:00 via iPhone esc 主要问题是太远,绑为 ctrl 加 esc 是最合理的 寄出老键盘图 https://i.bmp.ovh/imgs/2019/06/c65299aaa4766e35.jpeg 或者直接按 ctrl [ 和绑定位 jk 也是不错的 |
![]() | 16 weixiangzhe 2019-06-23 23:58:04 +08:00 via iPhone |
![]() | 17 pkookp8 2019-06-24 00:16:03 +08:00 via Android 这时候我就放弃 hjkl 用方向键了 |
![]() | 18 20015jjw 2019-06-24 00:42:27 +08:00 via Android 当然按 esc 啊.. vim 就是这么用的.. esc/ctrl dual role caplocks 学习一下? |
![]() | 19 scriptB0y 2019-06-24 01:27:59 +08:00 Emacs Mode,Ctrl-a Ctrl-e Ctrl-b Ctrl-f 之类的。 |
![]() | 20 scriptB0y 2019-06-24 01:28:48 +08:00 |
![]() | 21 congeec 2019-06-24 01:51:44 +08:00 via iPhone 单行编辑,emacs 更高效。所以我在 vim 里加了 emacs 绑定 |
22 StarryFK 2019-06-24 01:56:00 +08:00 via Android 用熟了其实也感觉 hjkl 作为方向键很顺手的,甚至有些游戏也是采用 hjkl 作为方向键的 |
![]() | 23 SingeeKing PRO 难道不是 WE |
24 silencefly 2019-06-24 02:38:22 +08:00 via iPhone 把 esc 映射到 kj 手不用离开键盘 |
![]() | 25 szzhiyang 2019-06-24 02:45:30 +08:00 |
![]() | 26 szzhiyang 2019-06-24 02:47:52 +08:00 等 Power Keys 的空格编辑功能流行起来后,Vim 和 Emacs 就再也不会有新用户了。 |
27 shihira 2019-06-24 03:41:11 +08:00 via Android 我会比较 prefer 把上下左右 map 到 alt+kjhl,系统全局 |
![]() | 28 wweir 2019-06-24 07:49:55 +08:00 via Android 同全局 alt+hjkl。而且,自己写配置统一三大桌面下 Vim vscode zsh 的快捷键 |
29 mengzhuo 2019-06-24 08:17:34 +08:00 via iPhone 买一块可编程键盘,把 CapsLock + AWSD 换成光标 |
30 darknoll 2019-06-24 08:40:40 +08:00 用箭头的就别用 vim 了吧 |
31 nicevar 2019-06-24 08:47:09 +08:00 数字直接接 hjkl 不是更快 |
32 TrembleBeforeMe 2019-06-24 08:57:44 +08:00 学习 emacs 设置一个修饰键 |
![]() | 33 HannibaI 2019-06-24 09:17:03 +08:00 ![]() vim 按 ctrl + [ 也可以退出编辑模式,再把 caps lock 映射到 ctrl,就可以按 caps lock+[ 退出编辑模式,手基本不需要离开键盘。 |
![]() | 34 catinsides 2019-06-24 09:23:27 +08:00 按行 C-E C-Y 按 1/2 C-U C-D 按页 C-F C-B 当前行居中 zz 非要用 hjkl 的话,我一般是 5j5j... |
35 xiaocaibaozi 2019-06-24 09:28:51 +08:00 via Android 我把<Leader>设置成;,把 esc 映射成<Leader><Leader>和;;,然后不管中英文,按两下小指就行了再用 hjkl 移动。 |
![]() | 36 loading 2019-06-24 09:32:17 +08:00 via Android 我选择了用鼠标滚轮和方向键 |
![]() | 37 ahonn 2019-06-24 09:43:08 +08:00 什么,模式难道不是编辑器自己切的么? |
![]() | 38 codelegant 2019-06-24 09:55:51 +08:00 我的习惯,将 双击 j 绑定为 ESC,然后 w e b ^ $ 这五个键定位列。行间移动,较大距离就行号 + G,小范转就 j,k。 |
![]() | 39 poisedflw 2019-06-24 09:57:36 +08:00 难道不是 Ctrl+C,然后各种移动? |
![]() | 40 ech0x 2019-06-24 10:43:02 +08:00 via iPhone 你不习惯切回 normal 模式为什么要用 vim 呢? |
![]() | 42 ynyounuo 2019-06-24 10:48:06 +08:00 via iPhone 真的所谓 vim 「高手」都是摒弃 hljk 的,参考 vimgolf 的大部分高级不作弊的解法。当然实际上并不需要这么苛刻,我装了 hard mode 没两天卸载了。 |
43 cstj0505 2019-06-24 10:54:26 +08:00 真羡慕你们写代码快的 除了写文档,写代码时候光逻辑我都得考虑半天,代码之间的移动在整个过程中占比非常非常小 |
45 hellodudu86 2019-06-24 11:07:39 +08:00 ctrl+[ hjkl+web+easy motion |
46 MaxTan 2019-06-24 11:15:06 +08:00 平时多是 normal 模式状态,Casps Lock 绑定 esc 习惯性有事没事都按下,只有编辑的时候按 o、i、a、O、I、A 切插入模式 光标只用在 normal 模式下移动,小范围内移动 h、j、k、l、e、r、^、$,大范围 ctrl+f、ctrl+b、gg、G、行号 gg 使用方向键移动光标右手会离开主键盘区的,这样就一点也不 vim 了 ![]() |
47 Rorshach 2019-06-24 11:17:36 +08:00 我用 vim,而且是鼠标大师 |
48 lzhCoooder 2019-06-24 11:21:13 +08:00 Esc 返回 normal 然后 hjkl 的举手 |
49 jon 2019-06-24 14:01:50 +08:00 浏览器我都用 vim 模式操作 |
![]() | 50 shawndev 2019-06-24 14:19:49 +08:00 上下可以通过行号跳转,左右暂时无解。其实我觉得 vscode 都已经支持远程编辑了,干嘛还要和自己过不去呢,难道你们都不需要列编辑,不需要格式化的吗。 |
![]() | 51 70k 2019-06-24 14:35:58 +08:00 小范围肯定 hjkl 稍大范围 ctrl+u ctrl+d 最佳的操作方式是 有自己的命名规范 搜索关键字然后用 n 跳转到相应位置 恨不得把全部代码写到一个文件里面 当然还有 buffer 可以用 : ) |
52 neoblackcap 2019-06-24 15:36:19 +08:00 我一般都是按 Esc,用 vim 就是不想用那么多组合键。 |
53 MrCard 2019-06-24 15:39:49 +08:00 可以将 esc 改成~键,不然实在太远了 |
![]() | 54 Akiyu 2019-06-24 15:46:43 +08:00 小范围: 还是方向键好使 大范围: C-u C-d 知道准确的范围; n + hjkl (其中 n 是行数) 邪门歪道 ( ![]() 设置鼠标支持, 具体 google |
![]() | 55 Sparetire 2019-06-24 15:53:48 +08:00 via Android esc 映射 jk |
![]() | 56 lancelock 2019-06-24 16:32:29 +08:00 60 键盘没有方向键 pageUP pagedown, 用着用着你就习惯模式切换了 |
57 andy2415 2019-06-24 17:13:11 +08:00 空格 + hjkl |
![]() | 58 hoyixi 2019-06-24 17:17:42 +08:00 除了光标移动快捷键 还有跳到下个词、下个句子、下个标点、下个括号、下个匹配、下个....等等的快捷键, 把“下”换成“上”同理 这里提到的只是一小部分,想知道更多建议自己去学 |
![]() | 59 lenvens 2019-06-24 17:30:07 +08:00 hjkl esc 挺顺手的 |
60 james122333 2019-06-24 17:51:54 +08:00 基本的就很好用了 善用跳字 不满意还有 |
![]() | 61 tiedan 2019-06-24 17:53:45 +08:00 别用 ESC 太远了不好按,可以用 ctrl + [ |
62 james122333 2019-06-24 17:54:51 +08:00 https://vim.fandom.com/wiki/Using_marks https://github.com/easymotion/vim-easymotion 都可以参考 vim 操作模式是重点 但 vim 简单扩充性也是重点 不满意自己写 自己掌控编辑器 而不是被编辑器掌控... 除非你就是想拿现成的... |
63 james122333 2019-06-24 18:01:04 +08:00 vim 就算你只会 shell 也可以扩充 |
![]() | 64 leky 2019-06-24 18:09:35 +08:00 inoremap <C-b> <C-o>h inoremap <C-f> <C-o>l inoremap <M-b> <C-o>b inoremap <M-f> <C-o>e inoremap <C-a> <C-o>^ inoremap <C-e> <C-o>$ inoremap <C-w> <C-g>u<C-w> inoremap <C-u> <C-g>u<C-u> |
![]() | 65 Sainnhepark 2019-06-24 18:16:19 +08:00 via Android shift+上下 一次移动五行 shift+左右 移动到行首行尾 再来两个插件: vim-matchup sneak |
![]() | 66 darkbill 2019-06-24 22:52:54 +08:00 同 24 楼的 @silencefly +1 把 esc 映射到 jk 手不用离开键盘 |
67 SmallZheng 2019-06-25 09:42:13 +08:00 fd 映射 esc,手都不用移动。 |
![]() | 68 Samuelcc 2019-06-25 12:31:20 +08:00 via Android 不退出插入模式移动不是 vim 的用法吧。。 vim 的 pattern 就是应该完成一个操作就 esc 的 这样你撤销 /恢复也是比较符合逻辑的 |
69 lampxiongdi 2019-07-01 16:28:36 +08:00 inoremap jj <ESC> |
70 diverless 2019-11-21 00:54:10 +08:00 @xiaocaibaozi 我把<Leader>设置成;,把 esc 映射成<Leader><Leader>和;;,然后不管中英文,按两下小指就行了再用 hjkl 移动。 --- 我按你的提示设置了,确实很好用: ------------- let maplead = ";" inoremap <leader><leader> <ESC> inoremap ;; <ESC> ------------ 但有一个问题:在中文状态的 insert 模式下,你确实可以切换回 normal 模式。但是,你的中文输入法没办法同时切换回英文呀,所以你这时候是无法使用 hjkl 的,对不? 除非你已经设置了 smartim 这类在退出 insert 模式同时自动切换回英文的扫插件。 |
71 xiaocaibaozi 2019-11-21 12:59:47 +08:00 via Android @diverless 是我没说清楚。其他平台我没试过,windows 下的话 win7 我是在切到了 normal 模式的时候按一下 shift 把输入法切成英文再 hjkl 一通操作,或者只是单方向移动的话按了数字再按好 hjkl 之一,按好 a 或者 i 再回车。本来想整个插件自动切换中英文输入法,但那时候换用 win10 了,不知道为啥 win10 里 gvim 切成 normal 模式的时候就微软输入法自己就切成英文模式,也就没折腾了。如果没有微软输入法的这个自动切英文功能,确实需要插件帮助。 |