我正在试验ediff-directories,但我不确定我是否正确使用它。
我在文档中读到,一旦我向 提供了两个目录ediff-directories,如果我按下==Emacs 就会递归地比较它们。
但是,如果我按,==我只会=在我运行命令的级别上得到带有符号的文件夹(意味着这两个文件夹具有相同的内容)。如果我想查看文件=夹层次结构中哪些文件夹在更深层次上有标志,我需要==在每个级别重新运行命令。
我如何告诉 emacs 一直递归到叶子,以便我可以看到directory difference buffer(可通过键盘命令访问D)中的所有差异?
如果有人知道有关如何使用的教程ediff-directories(官方文档除外),我会非常感兴趣。
此外,如果我想退出会话组(在一个级别上比较文件夹),但我为更深层次打开了会话,如果我按下q(退出此会话组),Emacs 会抱怨以下消息:
此会话组有活动会话---无法退出
如何退出会话组而不一一退出子会话?
我运行的是最新版本的TMUX的(从git仓库)和XCLIP(0.12),并且我希望能够使用类Emacs键盘绑定在文本内到处移动copy-mode,复制(M-w)选择到剪贴板,将 ( C-y) 从/到复制缓冲区粘贴到剪贴板。
到目前为止,我已经能够粘贴文本C-y,并copy-mode使用类似 Emacs 的键盘绑定移动,但我仍然无法从 tmux 缓冲区复制文本(例如在copy-mode)
我发现这个线程用于将整个缓冲区复制到剪贴板(反之亦然),但它似乎对我不起作用。
此外,在tmux-users邮件列表中,我被告知最近版本的 tmux(仅在 git 存储库中)提供了一个名为copy-pipe. 手册页说明了有关此命令的以下内容:
一个命令接受一个参数,copy-pipe,它复制选择并将其通过管道传递给命令。例如,以下将绑定 'C-q' 以将选择复制到 /tmp 以及粘贴缓冲区:
Run Code Online (Sandbox Code Playgroud)bind-key -temacs-copy C-q copy-pipe "cat >/tmp/out"
看起来copy-pipe部分地用于将选择通过管道传递给另一个命令。此描述和命令中似乎也有一些拼写错误(什么是temacs-copy?)
无论哪种方式,我想做的是:
C-f,C-b、M-f、M-b、C-a、C-e等以移动光标)。这些都没有前缀。M-w(无前缀要么)C-y …我希望能够使用 Emacs 默认使用的相同键盘绑定(即使用C-spacefor set-mark、M-w复制文本、C-y、M-y粘贴它等)在 Bash 的命令行中复制和粘贴文本。
在GNU Bash的文件说,猛砸附带了一些默认设置了这些键绑定。
例如,yanking ( C-y) 默认在我的终端上工作。但是,我无法使set-mark和copy命令起作用,并且默认情况下它们似乎没有绑定到任何键。
通常,用户定义自己的键绑定的方式是将它们添加到.inputrc. 所以我在文档中查看并发现了以下 bash 函数,我认为这些函数可以帮助我定义我想要的类似 Emacs 的行为(即set-markwithC-space和copywith M-w)。
copy-region-as-kill ()
Run Code Online (Sandbox Code Playgroud)
将区域中的文本复制到终止缓冲区,以便立即将其拉出。默认情况下,此命令是未绑定的。
和
set-mark (C-@)
Run Code Online (Sandbox Code Playgroud)
将标记设置为点。如果提供了数字参数,则标记设置为该位置。
如果我理解正确的话,上面的意思copy-region-as-kill是默认情况下不绑定到任何键盘序列,而默认情况下set-mark绑定到C-@。
我C-@在我的终端上试过,但我认为它没有运行,set-mark因为当我移动光标时我没有看到任何突出显示的文本。无论如何,我尝试将键盘绑定(M-w和C-)添加到my 中的函数 copy-region-as-kill及set-mark以上.inputrc,然后使用 重新加载它C-x C-r,但这不起作用。我知道我的其他条目正在.inputrc工作,因为我在其中定义了其他用户定义的键绑定。 …
假设我在 shell 脚本中有几个变量(例如在 zsh 中):
FOLDER_1, FOLDER_2, etc.
Run Code Online (Sandbox Code Playgroud)
这些变量指的是从/. 例如,如果我有一条路径/home/me/stuff/items
变量将是:
FOLDER_1='home'
FOLDER_2='me'
FOLDER_3='stuff'
Run Code Online (Sandbox Code Playgroud)
现在,假设我想通过连接变量来重建相应的路径。一种可能的方法是按如下方式构建路径:
PATH=$FOLDER_1/$FOLDER_2/$FOLDER_3/
Run Code Online (Sandbox Code Playgroud)
但是,假设某些变量FOLDER_i带有尾随正斜杠,而其他变量则没有(我们不知道是哪个),例如
FOLDER_1='home'
FOLDER_2='stuff/'
FOLDER_3='items'
Run Code Online (Sandbox Code Playgroud)
我的问题是:我如何才能稳健地构建路径?(例如避免双斜线,并在需要的地方添加它们)。
我认为一种方法是/在变量对之间添加always ,然后使用 删除任何重复项sed,但我无法使其工作(我不确定我/是否在 中正确处理sed)。
另外,我是在重新发明轮子吗?(即是否有任何内置功能已经做到了这一点?)。
最后,如果变量在一个数组中,例如FOLDERS,是否可以在不循环的情况下做到这一点?(或者,通过循环但不知道FOLDERS数组中有多少)。
说我有这样的行:
*[234]*
*[23]*
*[1453]*
Run Code Online (Sandbox Code Playgroud)
where*代表任何字符串(除了形式为 的字符串[number])。如何使用命令行实用程序解析这些行并提取括号之间的数字?
更一般地,它的这些工具cut,sed,grep或awk将适合这样的任务?
我有以下设置:
|-----------------| |---------------|
| Windows | LAN (or VPN) | Linux box |
| (local machine) | <--------------------> | |
|-----------------| |---------------|
Run Code Online (Sandbox Code Playgroud)
我想从我的 Windows 机器上以最小的延迟访问 Linux 机器上的 Emacs 和 Eclipse 窗口。
我的选择似乎是:
ssh -X从它到 Linux 机器(这是一个讨论快速 ssh X 隧道配置的线程)ssh -X远程框。目前我使用 RealVNC,但我注意到一些显着的延迟。在做了一些研究之后,我在维基百科上阅读了以下内容:
VNC 协议是基于像素的。尽管这带来了极大的灵活性(即可以显示任何类型的桌面),但它通常不如对底层图形布局有更好理解的解决方案(如 X11 或 Windows 远程桌面协议)效率低下
这让我想知道, 要从本地 Windows 机器以最快的速度访问 …
据我了解,向PATH环境变量添加路径的常用方法是连接由:字符分隔的路径。
例如,如果我想向它添加三个路径/my/path/1,/my/path/2并且/my/path/3,我必须按如下方式进行:
PATH=$PATH:/my/path/1:/my/path/2:/my/path/3
Run Code Online (Sandbox Code Playgroud)
这不容易阅读。
有没有办法使用多行语法定义或添加PATH变量的路径?也许使用数组?我正在寻找这样的东西:
PATH =
$PATH
/my/path/1
/my/path/2
/my/path/3
Run Code Online (Sandbox Code Playgroud)
如果有特定于 shell 的有趣解决方案,我正在 zsh 中寻找解决方案。
有没有办法使用标准 Linux 命令从目录中列出一组 30 个随机文件?(在zsh)
此处描述的最佳答案对我sort不起作用(无法识别该选项-R)
Tmux 允许使用Ctrl-b+在窗格中移动(?, ?, ?, ?)。
我想将其重新映射到:
Ctrl-b+ Ctrl-(l, j, i, k)。
作为参考,按键的布局l,j,i,k与方向键的布局类似,但在不移动手的情况下更容易打字。
我一直在编辑一些东西.tmux.conf,但我找不到有关如何重新绑定上述命令的信息。
这个问题的变体肯定在不同的地方被问过几次,但我试图M从文件中删除最后一行而没有运气。
在第二个最投票的答案在这个问题建议做以下摆脱在文件的最后一行:
head -n -1 foo.txt > temp.txt
Run Code Online (Sandbox Code Playgroud)
但是,当我在 OSX & Zsh 中尝试时,我得到:
head: illegal line count -- -1
Run Code Online (Sandbox Code Playgroud)
这是为什么?我如何删除M 最后一个行和在第一个 N给定文件的行?