Python中如何快速移动光标以方便代码编辑?

越想越觉得麻烦。。

-----
主要还是想知道大家怎么解决的
Python中如何快速移动光标以方便代码编辑?

47 回复

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 键入 反括号,或者反引号,就能从括号或引号中出来。

回到顶部