This topic created in 2305 days ago, the information mentioned may be changed or developed.
惭愧的很,当了几十年的程序员,一直有一个疑问:怎么移动光标呢?
只能用方向键吗?现在很多 IDE 都有自动补全功能,你输入一个左括号,右括号就帮你自动补全了,然后你输入完成之后,还要在右括号后面输入点东西,怎么把光标移动过去呢?
如果用方向键的话,方向键在右下角,这个手移动的范围太大了,严重影响录入速度。
我现在会用指点杆来移动光标,所以对小红点键盘严重依赖。我看大家很多人都说大的触摸板比指点杆好用多了,特别是苹果程序员,应该是从来没有用过指点杆吧,那大家都怎么移动光标?用小拇指去够吗?还是就忍了,每次用触摸板或者方向键,大幅度的移动双手?
Supplement 1 Jan 19, 2020 补充 1:
右括号只是个比喻,确实很多 IDE 会自动处理右括号,但是所有的自动处理,都有例外,当你反复修改字符串,引号,括号的时候,有时候就自动处理不了了,肯定要手动移动光标,总之我说的就是需要手动移动光标时的情况。
补充 2:
目前看来,比较常见的解决方法,就是 VIM 大法好,和使用插件了。
很高兴发现很多人原来也有这样的苦恼,我一点都不羞耻啊~~~~
155 replies 2020-01-21 18:01:43 +08:00  | | 3 optional Jan 19, 2020 5 我写代码的时候往往 90%在思考,10%才用来输入,移动一下手指不耽搁功夫。 |
 | | 5 Xbluer Jan 19, 2020 via iPhone 安装 vim 插件,然后映射 jj 到<Esc>,然后 jjla 即可 |
 | | 6 Juszoe Jan 19, 2020 右手小拇指按一下方向键,也就移动几个键位的事 |
 | | 7 Fx8m Jan 19, 2020 这个问题也困扰了我很久很久。 |
 | | 10 712e1959 Jan 19, 2020 via Android 2 “只能用方向键吗?现在很多 IDE 都有自动补全功能,你输入一个左括号,右括号就帮你自动补全了,然后你输入完成之后,还要在右括号后面输入点东西,怎么把光标移动过去呢?”
其他的不了解,jetbrains 系的可以 tab 出去。 |
 | | 11 chitanda Jan 19, 2020 我同样很困惑。大点的键盘还需要移动整个右手才能触碰到方向键 |
 | | 12 lavvrence Jan 19, 2020 vim 的话不用考虑这些问题。 GUI IDE 配合一下就是 Command + 方向键、ALT + 方向键、Shift + Enter 这些。 |
 | | 13 wtsamuel Jan 19, 2020 万物皆可 vim,ide 可以 vim,chrome 也可以 vim。拒绝使用鼠标 doge |
 | | 15 w292614191 Jan 19, 2020 拒绝鼠标的让我想到了之前说 mac 秒杀鼠标的话题。
哈哈哈哈 |
 | | 16 CoCoMcRee Jan 19, 2020 7 在 mac 上写代码时.
1.移动到一行头尾就 cmd+方向键. 2.移动几个单词,option+方向键. 3.移动几个字母,直接方向键. 4.超出以上范围的就靠触摸板了.... |
 | | 17 BrettD Jan 19, 2020 via iPhone Vimplugin 走天下 |
 | | 20 wadezhao Jan 19, 2020 看来大家也没啥好办法。
其实我想如果 IDE 允许的话,也许把 Ctrl (或 Alt )+J 设成右方向键,Ctrl+F 设成左方向键是比较好的选择。 |
 | | 21 IGJacklove Jan 19, 2020 方向键,打代码基本不用鼠标吧。。我都是双手键盘。迫不得已才用鼠标 |
 | | 22 xfriday Jan 19, 2020 3 再继续按)或]或}就行了,不会重复的 |
 | | 23 NastyAir Jan 19, 2020 把鼠标放在空格键下面,横向使用鼠标。 [keyboard] (mouse) |
 | | 24 DeltaC Jan 19, 2020 尝试一下 Capslock+ , `Cap+ ; `即可 ,不需要手大范围移动. |
 | | 26 CYKun Jan 19, 2020 via Android filco minila 你值得拥有 |
 | | 28 nosay Jan 19, 2020 别问,问就 macOS + hhkb > ctrl + e |
 | | 29 pisc Jan 19, 2020 via Android 最好的方法:该改盘映射,这有很多方案,比如将 capslock 键设为新修饰键,然后将 capslock+hjkl 映射为左下上右。或者用 spaceFn 的方式,把 space+hjkl 映射为方向键,space 单击还是 space |
 | | 30 maokabc Jan 19, 2020 via Android 同时小红点加 vim 模式 |
 | | 31 Kirscheis Jan 19, 2020 via Android 1 大部分编辑器在光标右侧是 ) 的时候按 ) 并不会插入 ),而是向右移动 |
 | | 32 phoulx Jan 19, 2020 via Android 1 emacs: Ctrl+f/b/p/n 分移动前後上下( macOS 原生支持 |
 | | 33 xiaochun41 Jan 19, 2020 终极方案就是 vim 大法,虽然可能需要一些时间适应。 如果 ide 用不了 vim,就装 vim 插件用起来。
基本观点是:能用键盘绝对不用鼠标,让所有的操作都在 10 个手指能触及的范围之内。 |
 | | 34 Orenoid Jan 19, 2020 via Android 60%键盘 |
 | | 35 HolmLoh Jan 19, 2020 挑把键盘吧,我之前就是因为方向键在左下角,每次移动光标总是需要把手移过去,现在已经不用 104 和常规 87 的了 |
 | | 37 wamson Jan 19, 2020 via iPhone 在 ide 里装个 vim 插件就好了。 |
 | | 38 hstdt Jan 19, 2020 via iPhone 一个方案,鼠标纵向滚轮绑定上下,横向滚轮绑定左右。手就能不离开鼠标按方向了。就是 page up/down 没了。或者其他可编程鼠标。
以上建议来自一个日常用触摸板的,如有问题,概不负责 |
 | | 39 xiangyuecn Jan 19, 2020 关闭 IDE、输入法符号的成对补全,就没有这种恼人的问题,括号什么的自己手撸想怎么敲就怎么敲,爽的很,才不管语法 |
 | | 40 hstdt Jan 19, 2020 via iPhone @ hstdt 看了下我的表述有点问题,目的是想把鼠标变成一个快捷光标控制器。 |
 | | 41 Vegetable Jan 19, 2020 为了将方向键控制移动到字母区而放弃小键盘甚至方向键本身是非常蠢的,推荐键盘的可以省省了 |
 | | 42 mangoDB Jan 19, 2020 VIM 键位`h j k l`(←↓↑→) |
 | | 43 auroraccc Jan 19, 2020 1 vscode 有 tabout 的扩展,光标在括号里的时候按 tab 直接到括号后 |
 | | 45 sven5566 Jan 19, 2020 自己写个 Auto Hot key 的脚本,可以映射。 |
 | | 47 dubenshu Jan 19, 2020 via iPhone 在 vscode 里的话,可以直接按右括号。会自动判断的 |
 | | 48 adimn Jan 19, 2020 via Android end 或者 alt b |
 | | 49 xloger Jan 19, 2020 Capslock+ +1 你可以去看看它的介绍,应该通过按着 Capslock,然后按 UHJK 之类的就可以移动了,我以前用过一段时间体感还不错 |
 | | 50 inhzus Jan 19, 2020 via Android jetbrains ide 的话,我的办法是绑定 ctrl+hjkl 移动光标,比方向键舒服一点 |
 | | 51 Tumblr Jan 19, 2020 在 PowerShell Console 里: 1. 按字符移动,直接方向键 2. 按单词移动,CTRL + 方向键 3. 行首尾移动,HOME 和 END
以上是我常用的操作。 |
 | | 52 leaflxh Jan 19, 2020 VS(没有 code) 直接打右括号自动移动光标 其他则 End 键 |
 | | 53 1998qiu Jan 19, 2020 via Android 还是大专学生,什么活动都没参加,不需要用 ide,用(emacs && vim || 鼠标)就可以“移动光标”了 |
 | | 55 blodside Jan 19, 2020 行首 ctrl+a 行尾 ctrl+e 删除一行 ctrl+k 上 /下 /左 /右 ctrl + p/n/b/f |
 | | 56 zivyou Jan 19, 2020 1 ctrl + a/e/b/f/n/p |
 | | 57 guog Jan 19, 2020 via Android vim 一把梭 |
 | | 59 raysmond Jan 19, 2020 楼主当了几十年程序员,这问题应该不成困扰吧? |
 | | 60 haha370104 Jan 19, 2020 Mac 的话 ctrl+a 行首 ctrl+e 行尾 ctrl+f/b 前进 /后退 ctrl+n/p 下一行 /上一行
实在不行你买个可编程键盘 把大写锁定 fn 一换,直接 fn+wasd 上下左右不香吗 |
 | | 62 lululau Jan 19, 2020 via iPhone 1 Emacs Keybinding + ideavim + AceJump |
 | | 65 xiaoxiaoan317 Jan 19, 2020 emm 习惯性的 fn+’ 右移 hhkb 重度使用者飘过,有时候也会 ecs shift+a,vim 写了好多年,hhkb 也挺好 |
 | | 69 sazima Jan 19, 2020 via iPhone esc ctrl+a |
 | | 70 sazima Jan 19, 2020 via iPhone Shift |
 | | 71 ZztGqk Jan 19, 2020 via iPhone 如果后面只要补个分号或是花括号的话在 IDEA 里用 cmd + shift + enter 就行了。 |
 | | 78 TheWalkingDead Jan 19, 2020 1 IDEA + vim 插件
用的最多的:
移动到文件头:gg
移动到文件尾:G
移动到行头:0
移动到行尾:shift + 4
上下左右:kjhl
以单词为粒度的移动:w
快速定位到一行中某个符号 /字母:f + 符号 /字母 ( n 下一个)
反正很有很多,请告诉我,什么是方向键?我从来不知道什么是方向键。 |
 | | 79 fqxufo Jan 19, 2020 via iPhone 原来赵部长真的是程序员大佬啊 |
 | | 80 ClericPy Jan 19, 2020 1 这种问题这网站上每隔一段时间就发一次...
我自己改的快捷键, shift+Enter = End, ctrl+Enter = 换行 括号其实再打一次)就可以了, 不会多一个的
vi 模式除了在命令行编辑器, 很少开 |
 | | 81 itgoyo Jan 19, 2020 别看回答了,直接用 Vim 就对了 |
 | | 84 crclz Jan 19, 2020 visual studio: 直接敲分号,就会自动在行尾补全分号,很符合直觉的。或者 shift+enter |
 | | 85 twelvechen Jan 19, 2020 我用的 ikbc pocker, 设置大写锁定+wasd 为方向键。反正大写锁定键对我来说没什么用。 |
 | | 86 noobalex Jan 19, 2020 IDEA: CTRL + SHIFT + ENTER |
 | | 87 fireSoil Jan 19, 2020 2 种方式 1. 买个带编程的键盘 比如 poker 来改键 2. 使用 Karabiner 软件来改键 我是把 capslock + jkli 改成方向键,取消了 capslock 的大写功能,当然你可以自定义。 |
 | | 88 0qeIrKoJk345hkoo Jan 19, 2020 我是直接把 Capslock 键改成了右方向键,反正一般很少有大篇幅输入大写字母的需求,日常使用没有影响 |
 | | 89 ipwx Jan 19, 2020 其实吧,很多 IDE,即使有了右括号,你再打一遍右括号,它不会多出一个的,会合并。。。 |
 | | 90 irobbin Jan 19, 2020 1 * Ctrl+p shell 中上一个命令,或者 文本中移动到上一行 * Ctrl+n shell 中下一个命令,或者 文本中移动到下一行 * Ctrl+r 往后搜索历史命令 * Ctrl+s 往前搜索历史命令 * Ctrl+f 光标前移 * Ctrl+b 光标后退 * Ctrl+a 到行首 * Ctrl+e 到行尾 * Ctrl+d 删除一个字符,删除一个字符,相当于通常的 Delete 键 * Ctrl+h 退格删除一个字符,相当于通常的 Backspace 键 * Ctrl+u 删除到行首 * Ctrl+k 删除到行尾 * Ctrl+l 类似 clear 命令效果 * Ctrl+y 粘贴 |
 | | 91 anjiannian Jan 19, 2020 不是直接输入右括号,光标自动移到右括号后面嘛??? |
 | | 92 R4mble Jan 19, 2020 学下 emacs 快捷键, 这是我编程生涯最大的提升了~ |
 | | 94 weixiangzhe Jan 19, 2020 1. 用 vim 模式 2. 自定义快捷键 - emacs 类 ctrl+n -> 下 ;ctrl+p -> 上; ctrl+b 左 ;ctrl+f 右 - super space + 自定义键 3. 自定义键可以用 |
 | | 95 weixiangzhe Jan 19, 2020 linux autokey mac Karabiner-Element window autohotkey 4. 支持多层的客制化键盘,如 gh60 _____ PS, 一开始撸码就烦方向键,历程
autohotkey -> gh60 硬件多层 -> [mac] 自带 emacs 键位 /Karabiner-Element --> linux autokey | vim |
 | | 99 xieguanglei Jan 19, 2020 VSCode 设置快捷键,用得比较多是的:
移动到行头,移动到行尾,以单词为单位向左移动,以单词为单位向右移动,向左移动一格,向右移动一格。
本身用的 HHKB,上下左右就是通过 ctrl + 快捷键的方式进行,不存在方向键在键盘右下的困扰。 |
 | | 100 wh0syourda66y Jan 19, 2020 ;; emacs+ spacemacs 基本设置+ 键位部分设置,mac 键盘,我基本不用 2 级的快捷键
;; 这部分设置好,各种窗口、上下文切换非常舒服 (global-set-key (kbd "s-{") 'previous-multiframe-window) (global-set-key (kbd "s-}") 'next-multiframe-window) (global-set-key (kbd "s-[") 'previous-buffer) (global-set-key (kbd "s-]") 'next-buffer) (global-set-key (kbd "s-1") 'winum-select-window-1) (global-set-key (kbd "s-2") 'winum-select-window-2) (global-set-key (kbd "s-3") 'winum-select-window-3) (global-set-key (kbd "s-4") 'winum-select-window-4) (global-set-key (kbd "s-5") 'winum-select-window-5) (global-set-key (kbd "s-6") 'winum-select-window-6) (global-set-key (kbd "s-7") 'winum-select-window-7) (global-set-key (kbd "s-8") 'winum-select-window-8) (global-set-key (kbd "s-9") 'winum-select-window-9) (global-set-key (kbd "s-0") 'delete-window) (global-set-key (kbd "s-w") 'delete-window) ;; 窗口滚动 (global-set-key (kbd "s-p") 'scroll-down-line) (global-set-key (kbd "s-n") 'scroll-up-line)
;; 列式操作 (global-set-key (kbd "s-i") 'string-insert-rectangle)
;; projectile 有各种好的命令,选几个好用的做一级快捷键 (global-set-key (kbd "M-h") 'helm-projectile) (global-set-key (kbd "M-j") 'helm-projectile-grep) (global-set-key (kbd "s-t") 'eshell)
;; 光标移动 (global-set-key (kbd "s-b") 'backward-word) (global-set-key (kbd "s-f") 'forward-word) (global-set-key (kbd "C-o") 'spacemacs/helm-find-files)
;; 跳转行 (global-set-key (kbd "C-x l") 'avy-goto-line)
;; 返回上一个光标位置 (global-set-key (kbd "s-m") 'helm-all-mark-rings) (global-set-key (kbd "s-M") 'helm-global-mark-ring) (global-set-key (kbd "C-c C-g") 'avy-goto-word-1) (global-set-key (kbd "s-o") 'neotree) (global-set-key (kbd "C-t") 'hs-toggle-hiding) |