小编Mar*_*ert的帖子

如何定义具有可变数量参数的shell脚本?

我想gs通过shell脚本定义一个简单的(ghostscript)调用缩写.第一个参数给出了应该合并的所有文件,最后一个给出了输出文件的名称.显然,以下内容不起作用(仅用于显示目标):

#!/bin/sh
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOUTPUTFILE=$last $1 $2 ...
Run Code Online (Sandbox Code Playgroud)

如何才能做到这一点?

通常会通过myscript infile1.pdf infile2.pdf ... outfile.pdf或调用此脚本myscript *.pdf outfile.pdf.

bash shell

29
推荐指数
3
解决办法
4万
查看次数

Emacs + Synctex + Skim:如何正确设置同步?[现有方法都没有正常工作]

我在Mac OS X 10.7.2上使用GNU Emacs 23.3(9.0).我想使用synctex在.tex和.pdf文件之间跳转.虽然网络上有许多不同的方法,但没有一种方法正常工作(我尝试了8种不同的方法......).我终于得到了这里描述的相当简单的方法:http://sourceforge.net/apps/mediawiki/skim-app/index.php?title = TeX_and_PDF_Synchronization

所以我的.emacs包含:

'(LaTeX-command "latex -synctex=1")
(require 'tex-site)
(add-hook 'TeX-mode-hook
    (lambda ()
        (add-to-list 'TeX-output-view-style
            '("^pdf$" "."
              "/Applications/Skim.app/Contents/SharedSupport/displayline -b %n %o %b")))
)
(server-start)
Run Code Online (Sandbox Code Playgroud)

当然,我还设置了Skim(首选项 - >同步 - >选中"检查文件更改"并选择Preset:Emacs with command emacsclient and arguments --no-wait +%line"%file")

如您所见,我包含了-bdisplayline 的选项.我可以从终端调用displayline并打开.pdf并显示带黄色/高亮条的相应行.如果我使用latexmk -pvc -pdfEmacs.app中的shell 编译文档,当前行上仍然没有显示任何内容.

问题1:如何使其工作/如何显示当前行?

问题2:是否可以通过单击.tex并跳转到.pdf文档中的相应行来进行"正确"的前向搜索?如何在emacs中"点击"?标准CMD + shift + click在emacs中不起作用.

我也试过用...

(setq TeX-source-correlate-method 'synctex)
(add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)
Run Code Online (Sandbox Code Playgroud)

......但没有任何改变.

我可以在.pdf中进行CMD + shift +点击并跳转到.tex,这样就行了.

我没有考虑过的唯一方向是:

  1. 这是一个latexmk问题吗?很可能不是,因为latexmk明确显示,pdflatex -interaction=nonstopmode -synctex=1所以识别synctex

  2. 这是一个错误的脱脂偏好设置吗?也许我必须调整emacsclient的参数(?)

确实,latexmk就是问题所在.我终于找到了以下设置: …

emacs latex

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

如何使用sprintf打印带有前导0的十六进制数字以使宽度为2?

我尝试将0到255之间的数字转换为十六进制格式.如果我使用sprintf("%X", 1)我得到1,但我需要输出总是宽度为2(前导0)而不是1.如何才能做到这一点?

printf r

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

Emacs + C/C++ + Doxygen:doxymacs的替代品?有yasnippet?

我想使用doxygen在Emacs中生成代码文档(函数).c.cc文件.我发现doxymacs,但似乎不再维护(最新版本2007),如果我更改函数的一个参数的名称,我也没有找到更新函数文档的方法("不幸的是",我已经习惯了极大Roxygen.R脚本,它可以做所有的好东西,一个函数之前的权利,即使插入文档时的点在什么地方功能).

我发现了这个,但似乎不是很有用.然而,有一个例子在这里如何使用yasnippets.有人写过doxygen标题的yasnippet吗?但是,如果函数名称更改,它将不会更新参数.在Emacs中使用doxygen有什么"更好"的方法吗?我认为有很多C/C++程序员可以使用Emacs,我猜想应该有一个很好的代码文档工具/方法.

更新

我也找到了这个.它完全基于yasnippet(尽管还没有尝试过).

c c++ emacs doxygen

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

如何避免在Emacs中弹出*Async Sh​​ell Command*缓冲区?

~/.emacs包含以下设置,用于打开某些应用程序的某些文件(Ubuntu 12.10; Emacs 24):

(setq dired-guess-shell-alist-user
      '(("\\.pdf\\'" "okular ? &")
    ("\\.djvu\\'" "okular ? &")
        ("\\.mp3\\'" "vlc ? &")
    ("\\.mp4\\'" "vlc ? &")
    ))
Run Code Online (Sandbox Code Playgroud)

当我导航到.pdf dired-mode并点击时!,它会在Okular中打开.pdf,但是dired-buffer被分成两部分,第二部分现在是一个无用的*Async Shell Command*缓冲区,包含像

okular(25393)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(25393)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(25393)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
okular(25393)/kdecore (KConfigSkeleton) KCoreConfigSkeleton::writeConfig:
Run Code Online (Sandbox Code Playgroud)

如何防止打开此缓冲区?(除非,如果有错误,此信息有用).

我在这里这里找到了相关的问题,但它们似乎处理异步执行的特定命令,而不是*Async Shell Command*一般的(如果可能的话,我想改变异步进程的一般行为,不仅仅是针对某些文件类型)

emacs asynchronous dired

15
推荐指数
4
解决办法
2827
查看次数

EMMS:错误:"不知道如何播放曲目"

我在Mac OS X 10.7.3上使用Emacs 24.0.92(9.0).我下载并安装了EMMS git clone git://git.sv.gnu.org/emms.git,我的〜/ .emacs包含...

(add-to-list 'load-path "~/.emacs.d/emms/lisp")
(require 'emms-setup)
(emms-standard)
(emms-default-players)
Run Code Online (Sandbox Code Playgroud)

......如http://www.gnu.org/software/emms/quickstart.html所示

如果我使用M-x emms-play-directory并选择包含.mp3文件的目录,我会获得:

Don't know how to play track: (*track* (type . file) (name
. "/path/to/music/first song in this directory.mp3") (info-mtime 19612 57269)
(metadata))
Run Code Online (Sandbox Code Playgroud)

我没有安装mplayer,但安装了VLC并且工作得很好.我需要哪些其他设置才能使其正常工作?

请注意,播放器列表包含VLC(和其他 - 只是默认值).我也把它设置为只有 VLC,但这也给出了同样的错误.

另请注意,我在https://superuser.com/questions/179186/emms-emacs-multimedia-system-error-in-emacs-dont-know-how-to-play-track上发现了类似的错误, 但是"解决方案" "没有真正解释问题是什么.

emacs

14
推荐指数
2
解决办法
3601
查看次数

emacs错误:密钥序列Mx g以非前缀密钥Mx开头

我有以下代码.emacs:(global-set-key (kbd "M-x g") 'gnus)用键绑定启动Gnus M-x g.我获得:error: Key sequence M-x g starts with non-prefix key M-x.如何定义以#开头的键绑定M-x?这是一件坏事,应该避免吗?我觉得它更直观,因为"长版"是M-x gnus.C-c g例如定义它是没有问题的,但是然后你用C-c g和开始Gnus ,例如,R通过M-x R它不是非常直观(与通过两者开始相反)M-x + 1 letter

emacs

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

如何在不杀死shell的情况下杀死远程进程(Cc Cc也会杀死shell ...)

假设您从本地emacs shell(以...开头M-x shell)处理远程服务器.如果执行一个花费太长时间的进程(例如,ls在一个包含大量文件的目录中),您希望停止该进程(在终端中将使用control-c).我尝试C-c C-c但是杀了整个shell ...我怎么才能杀死远程服务器上的运行进程而不是整个shell?

更新

一步步:

1) M-x shell (execute on local machine)
2) ssh mylogin@myremotemachine.foo.bar (execute on local machine)
3) sleep 60 (execute on remote machine)
4) C-c C-c (execute in the current shell)
Run Code Online (Sandbox Code Playgroud)

=>而不是仍然在远程主机上,只是睡眠命令被杀死,整个远程连接关闭,你再次在本地机器上.

emacs

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

ggplot2:如何在箱线图中调整填充颜色(并更改图例文本)?

我怎么能够:

  1. 在下面的箱子图中设置填充颜色?我尝试了"颜色"这个论点,但那次失败了.
  2. 将图例文本从"0","1"更改为其他内容?

    require(ggplot2)
    ggplot(mtcars, aes(factor(cyl), mpg)) +
        geom_boxplot(aes(fill=factor(vs), colour=c("grey50", "white")))
    
    Run Code Online (Sandbox Code Playgroud)

r ggplot2

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

Unix查找:如何匹配文件*.R和*Rd?

我想找到与结尾的所有文件.c,.R.Rd.我试过了

find . -iname "*.[cR]" -print
Run Code Online (Sandbox Code Playgroud)

它给出所有以.c或结尾的文件.R.我怎么能另外获取.Rd文件?我知道[]只匹配一个字符,但我无法调整它以提供.Rd文件(尝试使用|或选项-regex等)

regex find

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

标签 统计

emacs ×6

r ×2

asynchronous ×1

bash ×1

c ×1

c++ ×1

dired ×1

doxygen ×1

find ×1

ggplot2 ×1

latex ×1

printf ×1

regex ×1

shell ×1