小编jca*_*dam的帖子

通过Emacs,如何将两条线连接成一条线?

我是Emacs的新手.我用谷歌搜索了这个但没有好的答案.其中一个是Ctrl-n Ctrl-a Backspace这有效,但很愚蠢.是否有一种快速简单的方法将一行线加入一行?

实际上,我现在可以使用Esc-q自动填充段落,但是如果没有UNDO,我怎么能让它恢复呢?

emacs editor

46
推荐指数
7
解决办法
2万
查看次数

如何在linux下使用realpath()以编程方式获取文件的绝对路径?

我知道可以使用realpath()函数获取文件的绝对路径.但是,根据BUGS部分的手册页,其实现存在一些问题.详情如下:


BUGS

避免使用此功能.它被设计破坏了(因为除非使用非标准的resolved_pa​​th == NULL特性),否则无法确定输出缓冲区resolve_path的合适大小.根据POSIX,大小为PATH_MAX的缓冲区就足够了,但PATH_MAX不必是定义的常量,可能必须使用pathconf(3)获得.并且询问pathconf(3)并没有真正帮助,因为一方面POSIX警告pathconf(3)的结果可能很大并且不适合用于mallocing内存.另一方面,pathconf(3)可能返回-1表示PATH_MAX没有限制.

libc4和libc5实现包含缓冲区溢出(在libc-5.4.13中修复).因此,像mount(8)这样的set-user-ID程序需要私有版本.


那么,问题是获取文件的绝对路径的最佳实践是什么?

c linux

5
推荐指数
2
解决办法
4654
查看次数

使用Emacs,我如何缩进/格式化TXT文件中的代码段?

我正在用Emacs写一篇文档.如您所知,我正在使用的文本文件中有一些代码段.通常,当我打开此文件时,emacs将自动进入文本模式.编辑普通段落对我来说很好.但对于那些代码段,我怎样才能将它们缩进gnu或linux样式,就像我在c-mode中所做的那样(通过c-set-style &&在某些区域中执行Ctrl-Alt- \)?

顺便说一下,实际上,我可以通过调用Mx c-mode来将缓冲区转换为c模式,但是,我认为在文本模式下应该有很多优雅的方法.

emacs editor

4
推荐指数
1
解决办法
510
查看次数

如何将 request.GET 中的值作为 django-crispy-forms 中的隐藏输入

举个例子,让我们看看 django.contrib.auth 中的“next”参数

如果客户端尝试访问某些仅对经过身份验证的用户可用的资源,则登录 url 将被修改并附加额外的参数 as ?next=the_next_url。然后,LoginForm可以将此参数设置为context_data并生成一个带有隐藏输入的表单,其中包含其值,如

{% if redirect_field_value %}
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}" />
{% endif %}
Run Code Online (Sandbox Code Playgroud)

但是,如果我完全使用 django-crispy-form 生成表单,我该怎么做?在这种情况下,模板文件只包含

{% crispy_tag form %}
Run Code Online (Sandbox Code Playgroud)

form 将被设置为上下文数据,这意味着我必须将 request.GET 表单中的参数作为隐藏的输入小部件推送。

我怎么能这样做?

python forms django

3
推荐指数
1
解决办法
2763
查看次数

如果在emacs中文件名中包含匹配关键字的条件,该怎么办?

如何检测当前缓冲区或打开文件的文件名是否包含关键字?或者在emacs中匹配正则表达式?

我想根据文件名设置不同c源的样式,例如

if <pathname contains "linux">
   c-set-style "linux"
else if <pathname contains "kernel">
   c-set-style "linux"
else
   c-set-style "free-group-style"
Run Code Online (Sandbox Code Playgroud)

emacs elisp

2
推荐指数
1
解决办法
151
查看次数

如何设置本地目录以镜像远程git存储库?

情况就是这样.我在服务器A上有一个远程git存储库.另外,我必须在这个存储库中使用相同的源代码处理桌面B. 由于访问服务器A的带宽有限,我想在桌面B上为存储库设置本地镜像.

现在,我已经设置了镜像存储库

git clone --mirror https://repository-on-server-a /local/repo/path.git
Run Code Online (Sandbox Code Playgroud)

我已经测试了本地存储库

git clone file://localhost/local/repo/path.git
Run Code Online (Sandbox Code Playgroud)

然后我修改了crontab来做

cd /local/repo/path git fetch -q
Run Code Online (Sandbox Code Playgroud)

每5分钟同步一次.它运作良好.

一开始,我正在考虑使用

git config --global url.file://localhost/local/repo/path.git.insteadOf https://repository-on-server-a
Run Code Online (Sandbox Code Playgroud)

让git从本地目录而不是远程仓库获取所有对象.但是,它不起作用.

我的问题是

  1. 是否有一种简单的方法为远程git repo设置这样的本地镜像?
  2. 如何处理'git push'?由于insteadOf将每次推送到本地目录,我怎么能将我的所有更改推回到服务器A?

本地目录用于测试,但不是最终解决方案.我将有另一个桌面C以便稍后从桌面B获取源代码.另一位同事也会加入我的行列.这意味着我们希望将桌面B中的所有更改都为我们提供一些"中心"解决方案.

git mirror acceleration

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

标签 统计

emacs ×3

editor ×2

acceleration ×1

c ×1

django ×1

elisp ×1

forms ×1

git ×1

linux ×1

mirror ×1

python ×1