Python中如何快速移动光标以方便代码编辑?
越想越觉得麻烦。。
-----
主要还是想知道大家怎么解决的
Python中如何快速移动光标以方便代码编辑?
autohotkey
在Python代码编辑里快速移动光标,主要靠IDE/编辑器的快捷键和少量代码技巧。这里分两块说:
一、 编辑器通用快捷键(以VSCode/PyCharm为例) 这是最高效的方式,根本不用写代码。
- 单词间移动:
Ctrl + ←/→(Win/Linux) 或Option + ←/→(Mac) - 行首/行尾:
Home/End - 文件开头/结尾:
Ctrl + Home/Ctrl + End - 匹配括号跳转:
Ctrl + Shift + \(VSCode) 或Ctrl + [ / ](PyCharm) - 转到定义:
F12(VSCode) 或Ctrl + B(PyCharm) – 这能直接跳转到函数或变量定义处。 - 多光标编辑:
Alt + 鼠标点击或Ctrl + Alt + ↑/↓可以创建多个光标,同时改多处。
二、 用Python代码辅助定位(较少用,但特定场景有用)
比如你写了个脚本,想在运行时自动把光标放到控制台某个位置,但这通常不是编辑代码用的。不过,可以用inspect模块获取当前执行位置,辅助调试:
import inspect
def where_am_i():
# 获取当前帧和代码上下文
frame = inspect.currentframe()
print(f"当前文件: {frame.f_code.co_filename}")
print(f"行号: {frame.f_lineno}")
# 这不会真的移动光标,但告诉你位置
return frame.f_lineno
# 示例:在代码中调用
line = where_am_i()
print(f"我在第 {line} 行被调用")
总结:想快速编辑,就去学你用的那个编辑器的快捷键。
Ctrl+方向键
emacs 的部分快捷键➕vim 的模式
合格的程序员思维…/doge
不还是方向键吗还要加 ctrl
MacOS:
互换 Ctrl 和大写键,然后 Ctrl+A/E/F/B…(其实就 emacs 的
你需要 vim
设置快捷键 shift+enter=光标移到最后+换行
关掉自动补全
就是因为这个了解到 vim
idea ctrl+shift+enter 不是可以自动补全缺失的右括号加换行吗?
如果是用的 vim,推荐使用 auto pairs,https://github.com/jiangmiao/auto-pairs
猜测啊, 可能是因为右手按方向移动比较远, 才比较烦躁
可以试一下 minila 键盘, 通过组合键, 让左手 wasd 变成上下左右, 完美契合手摆在键盘上的姿势
VIM 就不说了,说一下 JB 家 IDE 的方案吧。
把设置一下 keymap 把 move caret to line end, 其实就是 End 键功能上加另外一个快捷键组合,比如 ctrl+; 或 ctrl+L 之类都可以,更方便一些可以把 ctrl/alt + HJKL 分别设置成 左下上右 方向键,反正就是手不移开主键区就能盲按的那种组合,这样随时可以不看键盘按方向。
你要是 VIM 用的非常 6 也可以在 JB 里面装 ideaVim 插件,剩下的你懂的。
Power Keys
https://PowerKeys.GitHub.io
按住空格键 0.1 秒后即可用下列键位移动光标、选定文本甚至格式化文本:
vim 党路过并表示给 vim 打电话
hjkl 移动,不用方向键
在 idea 中 , 如果 光标在符号前面, 可以再次输入这个符号将光标移出来
eg. func(|) => 按 shift + 0 => func()|
不知道其他 ide 有没有类似的功能
其他地方可以写个简单的 autohotkey 脚本
Mac 的话,不是有原生指令吗,ctrl + n/p/b/f
😏相同的解决方案
配个 IdeaVimExtension
食用效果更佳
我在 vscode 设置了 alt + hjklfb 快键,小动作方便
vim 解君愁
你需要更强的键盘,普通键盘可以搜索 spaceFN
除了 vim、emacs 风格的绑定键,各大编辑器应该都有自动补全括号的插件吧
以前也想过这个问题,后来发现,与其想着移出来,还不如手动再输入一个右括号或者引号,我觉得大部分编辑器应该会处理好这个手动输入(与自动补充的右括号 /引号去重)。
这样熟练之后,会有一种连续输入不被打断的行云流水般的感觉。
自己在编辑器里面试试 Ctrl+方向键是什么效果。
我个人用 karabiner 添加了组合键,Ctrl + hjkl 变成上下左右,相当方便。
配合 chrome 的 vimium 基本可以做到浏览网页的时候手腕位置不变。
编辑器的 vim 模式无法在系统层面生效,这是让我比较难受的一点。
Vim 就行 别搞有的没的
hhkb,根本就没有方向键
Emacs ctrl 加 npfb
vim hjkl
学到了 ctrl+左右…
从来不用方向键,也不用 hjkl,全都是 f/F 跳转
学习下 vim 就行了
不知道这个软件是否满足你的需要,https://cjkis.me/capslock+/
自从发现这个软件后就再也停不下来了,极大的提高了工作效率;
现在的 jetbrains 系 IDE 都可以直接用 tab 跳出括号了,挺实用。Settings-Editor-Smart Keys-Jump outside closing bracket/quote with Tab
感谢分享!
https://i.loli.net/2019/02/27/5c75eb67ed849.jpg
同一楼的方案, autohotkey, 自定义按键映射
同 36L 推荐,开始有点不习惯,现在真的离不开
不安装其他软件的前提下,就是 Ctrl+方向键了,另外 Home 和 End 有时候也可以帮忙。
mac 下用 option+←→
用 mac 的话可以试着背一下 emacs 的快捷键,用起来很方便。
sublime, vscode 可以配 vim 模式也很方便
触摸屏
哈哈哈 在 pycharm 里设置了一下下
感谢楼上的
一般智能点的 IDE 键入 反括号,或者反引号,就能从括号或引号中出来。

