小编evi*_*oup的帖子

我可以获得 GNU 信息的 vim-stlye (hjkl) 导航吗?

我上网本键盘的布局意味着使用箭头键进行导航有点不舒服。有没有办法让 GNU 信息页面使用 vim 风格的hjkl导航?我知道我可以

info printf | less
Run Code Online (Sandbox Code Playgroud)

...并使用 j 和 k 上下滚动,这已经足够了,因为我使用信息页面进行阅读,因此导航到特定字符并不重要;但如果我能在 内做到这一点info,而不是诉诸管道,那就太好了。

less vim info

19
推荐指数
2
解决办法
2764
查看次数

我可以得到相反的`diff -q` - 匹配相同的文件而不打印它们的内容吗

我在一个目录中有许多文件,我想检查它们是否都是唯一的。为简单起见,假设我有三个文件:foo.txt,bar.txtbaz.txt. 如果我运行这个循环,我会互相检查它们:

$ for f in ./*; do for i in ./*; do diff -q "$f" "$i"; done; done
Files bar.txt and baz.txt differ
Files bar.txt and foo.txt differ
Files baz.txt and bar.txt differ
Files baz.txt and foo.txt differ
Files foo.txt and bar.txt differ
Files foo.txt and baz.txt differ
Run Code Online (Sandbox Code Playgroud)

对于我想要处理的数百个文件,这将变得非常不可读;这将是更好地列出这些文件匹配,然后我可以快速查看列表并确保文件只匹配自己。从联机帮助页中,我会认为该-s选项可以完成此操作:

$ for f in ./*; do for i in ./*; do diff -s "$f" "$i"; done; done
Files bar.txt and …
Run Code Online (Sandbox Code Playgroud)

bash diff

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

将 Markdown 输入作为富文本复制到剪贴板

我即将通过电子邮件与我的一个朋友一起参与一些散文写作。作为一个普通人,他当然会使用 MS Word 文档格式;作为一个大书呆子,我更喜欢在电脑上写作时使用 Markdown。

我需要的是这个关于将从网页复制的富文本转换为 markdown 的问题完全相反。我天真的最坏情况工作流程是:

  1. 用 Markdown 编写文档
  2. pandoc -S file.mkd -o temp.html
  3. temp.html在网络浏览器中打开
  4. 从页面复制并粘贴到 libreoffice 中打开的文档

我确信这可以优化。

(在这种情况下,Google Docs 不是一个选项)。

尽管我已经回答了主要问题,但我仍然觉得这可以进一步优化。如果有任何方法可以连接 .doc 文件(我将接收和 pandoc 可以写入的文件),也许使用 libreoffice 命令行界面,那么我想有可能构建一个过于复杂的单行和完全避免离开航站楼。如果有人找到一种方法来做到这一点,我会很乐意接受我自己的答案。

clipboard html markdown xclip pandoc

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

以与外部键盘保持一致的方式交换 <esc> 和 <caps lock>

我有一个名为 ~/.speedswapp 的文件,其中包含以下内容:

! Swap caps lock and escape
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock
Run Code Online (Sandbox Code Playgroud)

...when I run xmodmap ~/.speedswapper, this switches the esc and Caps Lock keys. I have this line in my ~/.profile, so that whenever I log in these keys are switched.

However, if I plug in an external USB keyboard, this setting doesn't seem to persist. My laptop's keyboard works perfectly well, but I …

linux xorg keyboard udev xmodmap

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

按修改时间排序文件

我在这里看到了很多问题和答案,使用的是

list_dir=`ls -t /path/to/dir/`
for i in $list_dir; do
Run Code Online (Sandbox Code Playgroud)

或者

ls -t | while read i; do
Run Code Online (Sandbox Code Playgroud)

现在,我知道您不应该在脚本中使用 ls,因为它很容易中断;但我找不到更好的方法来操作文件,从最后修改到最近修改(反之亦然)。

我可以使用类似的东西:

find . -type f -printf '%T@ %p\n' | sort -n | cut -d ' ' -f 2- | while read i; do...
Run Code Online (Sandbox Code Playgroud)

...但这仍然会破坏名称中包含换行符的任何文件,并且启动起来要丑得多。有没有更好的办法?

ls find sort wildcards timestamps

8
推荐指数
2
解决办法
1701
查看次数

寻找一个居中的全屏终端

有几种不同的“无干扰编辑器”用于写作:它们提供了一个全屏、最小的环境,目的是迫使自己专注于手头的任务。

我想做类似的事情vim。虽然我可以简单地火起来的一个终端,然后按F11键把它放到全屏,我想限制宽度大约75个字符和中间我使用的区域。

想想文字处理器如何在程序中间提供一个虚拟页面——这就是我想要的。有点。

有没有办法做到这一点,无论是使用特殊的终端程序还是在 vim 中进行一些设置?如果其中一个 GUI vim 程序具有此功能,或者有任何其他我没有想到的方法,那也将是一个有用的答案。

vim terminal fullscreen

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

替换文件中每个奇数或偶数出现的模式

我想替换模式的每个奇数或偶数出现。看下面的例子:

$ echo aaaaa | sed -e 's/a/b/' -e 's/a/c/' -e 's/a/b/' -e 's/a/c/' -e 's/a/b/'
bcbcb
Run Code Online (Sandbox Code Playgroud)

有没有一些命令可以更简洁地做到这一点?我实际上正在做的是将*s转换为 BBCode[i][/i]标签,所以如果那里有降价到 BBCode 的转换器,我也想听听。

sed text-processing markdown

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

我在哪里可以找到有关 bash printf 的一些好的文档?

man printfinfo printf而且printf --help对我来说都没什么用;我想要一个FORMAT选项的解释。例如,我可以使用:

printf '%s\n' foo bar
Run Code Online (Sandbox Code Playgroud)

并获得输出:

foo
bar
Run Code Online (Sandbox Code Playgroud)

从在线的一般阅读中,我推测这%s意味着类似于“分隔符”,因此它会printf打印提供给它的每个参数,并用换行符分隔。

我还在这里和那里看到了一些参考资料%d(我认为这与数字有关?)。有人可以提供这些格式选项的概述吗?

bash documentation utilities printf

4
推荐指数
2
解决办法
2047
查看次数