我使用emacs进行开发,并且经常需要移动到行的开头(C-a).但是,如果该行缩进,我想移动到代码开始的位置.
所以在浏览代码时:( ) for x in xy|z:.打字时C-a我们得到这个:|( ) for x in xyz:.但相反,我想这样:( ) |for x in xyz:
这里| 表示cursor和()表示空格或制表符.
我怎样才能做到这一点?
没有长时间使用Emacs(v23,windows)并且刚刚发现M-x ediff.太棒了.虽然我不想热衷于它在一个单独的框架/窗口中打开它的帮助/导航,这意味着如果我失去对该窗口的焦点,单键快捷键不起作用.
例如,当我按下?以展开窗口时,它会移动到当前窗口的顶部,因此我必须拿起鼠标并将其移动到另一个屏幕.然后,如果我将焦点丢失到该窗口并按p/ n/ j或任何其他键来处理diff,它会将其插入到我的文档中.所以我必须撤消,抓住鼠标,聚焦到其他窗口,然后重复.
有没有办法配置这些选项以显示拆分?
输入命令时C-/,Emacs会将最近更改的某些部分撤消到缓冲区.当你C-/再次进入时,它会撤消另一部分工作.
我已经阅读了关于撤销的Emacs手册条目,但它确切地说它是如何工作的模糊不清.手册说"连续字符插入命令通常组合在一起成为一个撤销记录",但它没有解释它如何决定构成一个组的字符插入命令的数量.它放在一个组中的字符数似乎是随机的.
任何人都可以解释Emacs用于将字符分组为撤消记录的算法吗?
我刚刚发现了tabbar,一种在emacs中提供类似Firefox的标签的小模式.
我还将org-mode修改为次要模式,并将其与其他主要模式一起用于代码折叠和组织我的代码,例如:(ahk-org-mode)
你最喜欢的小模式是什么.
您是否已将主要模式转换为次要模式,以便将其与其他主要模式一起使用?
如何在Emacs中重新映射增量搜索(C-s)C-f?
我尝试做(global-set-key (kbd "C-f") 'isearch-forward)但第二次C-f不重复搜索,我需要使用C-s.
然后我尝试了,(global-set-key (kbd "C-f") 'isearch-repeat-forward)但第一次C-f没有开始搜索.
我甚至尝试过(global-set-key (kbd "C-f C-f") 'isearch-repeat-forward),但这会导致错误.
我想C-f用于搜索和搜索重复命令,我该怎么做?
谢谢.
我希望包含对非elisp文件(一个小型Python程序)的引用,并希望能够说"它与当前文件位于同一目录中,但具有不同的文件名".在许多脚本语言中,有些东西__FILE__(例如PHP)用于获取当前文件的绝对路径.
如果要包含的文件在中load-path,那么我可以找到它(locate-library "file.py" t),但如果文件不在加载路径中,我就会陷入困境.
那么有没有办法让Emacs Lisp文件找到自己的绝对路径(加载时,不被访问)?
M-q某种情况有反转unfill-paragraph-function吗?
如果我有撤消数据,那么它当然很容易.我要求的是在我刚从磁盘读取文件后立即将段落中的行合并为单个长行的能力.这样就可以将文本粘贴到一个表单(Web表单等)中,该表单期望每个段落有一个换行符.
在过去,我已经关闭auto-fill,创建了一个宏来删除EOL并移动到下一行,并重复应用它,但这变得很累.
有没有办法来隐藏这种线条
line1
line2
linen
Run Code Online (Sandbox Code Playgroud)
成
1. line1
2. line2
n. linen
Run Code Online (Sandbox Code Playgroud)
使用Emacs 组织模式
以下Emacs Lisp函数获取列表列表并返回一个列表,其中内部列表的项目已连接到一个大列表.这很简单,我确信这样的东西必须已经成为标准函数库的一部分.
(defun flatten (LIST)
(if LIST
(append (car LIST) (flatten (cdr LIST)))
nil))
Run Code Online (Sandbox Code Playgroud)
我正在寻找一个函数,它将单个列表列表作为其参数,然后附加所有内部列表.
(flatten '((a b) (c d)))
Run Code Online (Sandbox Code Playgroud)
会给
(a b c d)
Run Code Online (Sandbox Code Playgroud)
有谁知道这个功能是否已经内置,如果有的话,在哪个名称下?
谢谢!