小编Mir*_*lov的帖子

无法向SLIME发送有趣的字符

虽然我在任何地方都设置了UTF-8(在我的lein项目中,slime-lisp组自定义,Emacs缓冲区本身......),我在尝试运行代码时不断收到此错误(def beta "?"):

Coding system iso-latin-1-unix not suitable [...]
Run Code Online (Sandbox Code Playgroud)

例如,仅在Emacs中发生,而不是在lein repl从命令行运行时发生.

可能是什么原因造成的?我正在使用Ubuntu,如果这有任何区别.

unicode emacs clojure slime swank-clojure

7
推荐指数
1
解决办法
279
查看次数

在 Python 中展平复杂的目录结构

我想将文件从复杂的目录结构移动到一个地方。例如,我有这个深层次的层次结构:

foo/
    foo2/
        1.jpg
    2.jpg
    ...
Run Code Online (Sandbox Code Playgroud)

我希望它是:

1.jpg
2.jpg
...
Run Code Online (Sandbox Code Playgroud)

我目前的解决方案:

def move(destination):
    for_removal = os.path.join(destination, '\\')
    is_in_parent = lambda x: x.find(for_removal) > -1
    with directory(destination):
        files_to_move = filter(is_in_parent,
                               glob_recursive(path='.'))
    for file in files_to_move:
        shutil.move(file, destination)
Run Code Online (Sandbox Code Playgroud)

定义:directoryglob_recursive。请注意,我的代码仅将文件移动到它们的公共父目录,而不是任意目标。

如何简洁优雅地将所有文件从复杂的层次结构移动到一个地方?

python directory-structure flatten file-move

7
推荐指数
3
解决办法
8443
查看次数

如何在指定模式下禁用hl-line功能

我使用以下代码在全局范围内启用hl-mode.

(global-hl-line-mode t) 
Run Code Online (Sandbox Code Playgroud)

在指定模式下关闭hl-line功能.我使用以下代码执行此操作.

(add-hook 'org-mode-hook (lambda () (global-hl-line-mode 0)))
Run Code Online (Sandbox Code Playgroud)

但它关闭了全球范围的hl-line功能.

如何在指定模式下禁用hl-line功能?

emacs elisp

6
推荐指数
1
解决办法
1123
查看次数

Emacs如何选择在模式行中列出哪些次要模式?

我计划在不久的将来在Emacs中自定义模式行,我不明白在模式行中列出次模式的算法.

在Emacs手册的"1.3模式线"部分中,它说:«MINOR是一些已启用的"次要模式"列表»

在«23.2次模式»部分中,它说:«大多数缓冲区本地次要模式在启用时在模式行中说明»

但是我列出了ErgoEmacs次要模式,这是全局的.有人可以解释这背后的机制,并最好指出负责这一点的各种elisp来源吗?

emacs elisp modeline

6
推荐指数
2
解决办法
558
查看次数

Org-agenda-files用显式文件名替换目录

我有一个目录tasks/中的org-agenda-files变量.当我org-agenda-files通过C-c [command(org-agenda-file-to-front)向变量添加文件时,目录路径将替换为当前位于该目录中的文件的路径.这很糟糕,因为当我tasks/稍后添加一些文件时,它们不会对我的议程做出贡献.

有没有办法避免这种情况,或者我不得不手动添加文件和目录org-agenda-files

这个问题在组织模式中得到承认- 用纯文本组织你的生活!

Emacs版本:24.0.50.1组织模式版本:7.8.09

emacs elisp org-mode

6
推荐指数
1
解决办法
564
查看次数

删除Emacs中的内置包

是否可以删除内置的Emacs软件包,如"tetris"?从24.1开始,无法将它们标记为在包列表中删除.通过删除部分或全部内置包,最好安装Emacs - 尽管几乎没用.有可能以某种方式做,并且将来会增加这种能力吗?

emacs elpa

6
推荐指数
2
解决办法
2374
查看次数

Emacs迷你缓冲区完成

我有一个异步启动程序的函数:

(defun app (app-name)
  (interactive "sRun application: ")
  (async-shell-command app-name))
Run Code Online (Sandbox Code Playgroud)

我有一个可供选择的所有可执行文件的列表.我希望app函数表现为switch-to-buffer,为用户提供TAB完成.我如何在Emacs中使用迷你缓冲区?

emacs elisp launcher tab-completion minibuffer

6
推荐指数
1
解决办法
812
查看次数

迭代Emacs Lisp哈希表

如何迭代Elisp哈希表中的项(键,值)?

我创建了一个哈希表(地图,字典),(make-hash-table)并使用不同的项目填充它.在Python中,我可以通过以下方式迭代dicts:

for k in d # iterate over keys
for k in d.keys() # same
for k in d.values() # iterate over values
for k in d.items() # iterate over tuples (key, value)
Run Code Online (Sandbox Code Playgroud)

我怎么能以最简洁和优雅的方式做同样的事情,最好没有循环宏?

emacs loops elisp hashtable

6
推荐指数
2
解决办法
2049
查看次数

是否有一个包含在Emacs中的函数来递归遍历目录结构并调用函数?

我想以递归方式从特定点向下遍历目录结构,并在每个级别调用copyright-update-directory.

Emacs 24中是否包含有助于此功能的功能?例如:

(recursive-directory-walk "~/src/foo" '(copyright-update-directory))
Run Code Online (Sandbox Code Playgroud)

如果不存在这样的函数,那么开始实现这个(或一个工作实现)的一些指针会很棒.

emacs elisp

6
推荐指数
1
解决办法
1560
查看次数

为什么DefaultSignatures不允许具体类型?

{-# LANGUAGE DefaultSignatures #-}
class C a where
  f :: [a]
  default f :: (Num a) => [a]
  f = [1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

以上作品,下面没有.似乎DefaultSignatures扩展只允许指定约束,但不能替换具体类型.第默认方法签名中的GHC用户指南没有解释这一点.为什么DefaultSignatures不允许我替换具体类型?理由是什么?在哪里可以阅读有关DefaultSignatures的实现方式和原因的更多信息?

{-# LANGUAGE DefaultSignatures #-}
class C a where
  f :: [a]
  default f :: [Int]
  f = [1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

haskell typeclass

6
推荐指数
1
解决办法
189
查看次数