小编use*_*001的帖子

在“gnome-terminal”环境中的“vim”中禁用鼠标支持

编辑:启用鼠标的问题vim似乎特定于gnome-terminal(版本 3.4.1.1-1;我使用的是 gnome 3 后备模式)。如果我运行xtermvim默认情况下禁用鼠标支持,我可以选择启用它(:set mouse=a,我从不这样做)和禁用它(:set mouse=)。相比之下,当我运行vimin 时gnome-terminal,默认情况下启用鼠标支持并且无法禁用它(:set mouse=无效)。有没有更换终端模拟器的解决方案?


我想在vim. 我正在运行vim版本 2:7.3.547-3 到gnome-terminal版本 3.4.1.1-1。以下命令,无论是直接在vim中执行还是添加到我的.vimrc文件中,都无法禁用鼠标支持:

set mouse =
set mouse =""
Run Code Online (Sandbox Code Playgroud)

基于阅读 vim 手册和在线帖子,这些命令中的一个或两个应该可以工作。特别是,vim 手册说明了以下内容

'mouse'                 string  (default "", "a" for GUI, MS-DOS and Win32)
    The mouse can be enabled for different modes:
            n       Normal mode
            v       Visual mode
            i       Insert mode
            c       Command-line mode …
Run Code Online (Sandbox Code Playgroud)

vim gnome mouse gnome-terminal

55
推荐指数
4
解决办法
7万
查看次数

同意有方向性的惩罚

我使用tre-agrep (手册页),的实施方案agrep (手册页),来执行近似模式匹配。此实用程序根据Levenshtein distance搜索匹配项,用户可以配置应用于替换、插入或删除编辑的惩罚。

但是,我想在查询的长度上应用不同的权重,即查询开头(左端)的删除权重比右侧的要低。man此实用程序的页面并未表明这种控制级别是可能的。

是否有其他命令行工具可以实现近似匹配并更好地控制不匹配惩罚?

grep agrep

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

GNOME 3 Ctrl+Alt+D(显示桌面)

我最近将我的系统升级到 GNOME 3。在以前版本的 GNOME 中,组合键Ctrl+ Alt+D会隐藏所有打开的窗口并显示桌面。此快捷方式与桌面的概念一起从 GNOME 3 中删除。然而,桌面隐喻确实存在于 GNOME 3“后备模式”(我正在使用)中。

我想恢复Ctrl+ Alt+D键盘快捷键。我知道至少有两种在 GNOME 中创建组合键的方法。一种是通过系统设置 > 键盘 > 快捷方式,另一种是通过gconf-editor> 应用程序 > metacity。从任一这些环境的,我可以配对的命令使用组合键Ctrl+ Alt+ D。问题是我不知道什么命令会触发“显示桌面”事件。有人可以启发我吗?

desktop gnome keyboard-shortcuts gnome3

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

mutt:在寻呼机视图中删除或保存消息后返回索引

在 MUA mutt 的寻呼机视图中删除或保存一条消息后,程序将保持在寻呼机视图中并跳转到当前文件夹中的下一条消息。是否可以更改此默认行为,以便在删除或归档电子邮件后退出寻呼机模式并显示文件夹索引?

mutt

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

支持使用 lpr 进行 utf-8 编码

在尝试通过lprfrom将文本文件发送到打印机时xterm,内容已损坏无法识别,其原因最终被追溯到文件的编码。如果我改为使用iconv(eg, iconv -f utf-8 -t ascii//TRANSLIT)处理文本,则文件将正常打印。我遇到的另一个建议是设置文档格式(例如,lpr -o document-format=text/utf8),但这会返回错误lpr: Unsupported document-format "text/utf8"。我总是可以将lpr命令别名为包含处理iconv,但是CUPS/lpr系统中是否有更通用的本地 utf-8 支持方法?

编辑:我的操作系统是 Debian 8,我的窗口管理器是openbox(没有桌面环境)。我可以在 MacOS X 和 Debian7/Gnome3 系统中毫无问题地打印此文件。

从我当前的系统来看,我应该指出,即使在将字符编码从 UTF-8 更改为 ASCII 之后,换行符也不受lpr. 在iconvMacOS X 上重新编码和音译后,打印仍然正常工作(因此换行问题也是我当前系统特有的)。

character-encoding cups unicode lpr

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

在复合命令中设置 bash 选项

我发现extglob在复合化合物中设置shell 选项会导致随后的 anti-globs 失败。是否需要在复合命令之外设置 shell 选项?我在 bash 手册页中没有看到此类要求的指示。

例如,以下脚本工作正常(打印a.0 a.1):

#!/bin/bash
touch a.0   a.1 \
      a.b.0 a.b.1
shopt -s extglob
ls "a."!(b*)
Run Code Online (Sandbox Code Playgroud)

但是,如果最后两行作为复合命令执行,脚本将失败并显示以下错误:

syntax error near unexpected token `('
`    ls "a."!(b*)'
Run Code Online (Sandbox Code Playgroud)

这是使用从 4.2 到 4.4 的 bash 版本和各种复合命令进行的测试

(1) 有条件的—— if

#!/bin/bash
touch a.0   a.1 \
      a.b.0 a.b.1
if true; then
    shopt -s extglob
    ls "a."!(b*)
fi
Run Code Online (Sandbox Code Playgroud)

(2) 大括号—— { }

#!/bin/bash
touch a.0   a.1 \
      a.b.0 a.b.1
{
    shopt -s extglob
    ls …
Run Code Online (Sandbox Code Playgroud)

bash shopt

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

mutt:重命名 IMAP 文件夹

如何以交互方式重命名muttMUA 中的 IMAP 文件夹?目前,如果我想更改文件夹名称,我会使用 gmail 网络浏览器界面,但这相当低效。中是否有与 unixmv命令等效的命令mutt

当我在 google 上搜索此主题时,搜索结果与重命名本地 mutt 文件夹和文件有关,例如.muttrc.

mutt imap

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

mpv 逐帧

当使用mpv通过帧以步骤(.步进向前和,步进向后),前向步进速率比向后步进速率要快得多。远期汇率是大约相同的视频帧速率(60fps的用于所讨论的视频,这是从一组使用的PNG图像的制备的MP4文件ffmpeglibx264编码)而反向步进率约为1fps。有没有办法控制步进率?为什么远期/后退利率会如此不对称?如果 Linux 系统支持可变(或至少同样快)视频帧步进的替代视频播放器可用,请提供建议(在这方面mplayer并不比mpv这更好)。

video mpv

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

mutt:标记为已读并删除

我丢弃了一些消息而不阅读它们。然而,在删除上述邮件后,我很快就收到了垃圾桶中存在未读邮件的提醒。

有没有办法:

  • set beep_new在垃圾桶中发现新消息时禁用警报 ( );或者
  • 同时将消息标记为已读并删除它?

我想前者可以用垃圾文件夹钩子来实现,后者可以用宏来实现。但是,在后者的情况下,在将消息 ( Wn) 或整个线程 ( ^R)标记为已读后,所选条目可能会更改,也可能不会更改,具体取决于邮件在文件夹中的位置。

然后必须使用条件来确定如何通过使用条目导航命令来恢复选择。恢复选择后,可以删除该消息。根据官方文档,配置文件不支持条件,因此基于宏的解决方案可能涉及通过 shell 脚本进行管道传输。

也许我忽略了这个问题的更简单的解决方案?

email mutt trash

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

printf:多字节字符

当尝试格式化printf包含多字节字符的字符串的输出时,很明显printf不计算文字字符而是字节数,如果混合单字节和多字节字符,这会使格式化文本变得困难。例如:

$ cat script
#!/bin/bash
declare -a a b
a+=("0")
a+=("00")
a+=("000")
a+=("0000")
a+=("00000")
b+=("0")
b+=("??00")
b+=("??000")
b+=("??0000")
b+=("??00000")
printf "%-15s|\n" "${a[@]}" "${b[@]}"

$ ./script
0              |
00             |
000            |
0000           |
00000          |
0              |
??00       |
??000      |
??0000     |
??00000    |
Run Code Online (Sandbox Code Playgroud)

我发现了各种建议的解决方法(主要是使用另一种语言或实用程序来打印文本的包装器)。是否有任何本机 bash 解决方案?任何记录的printf 格式字符串似乎都没有帮助。locale在这种情况下,这些设置是否相关,例如,使用像 UTF-32 这样的固定宽度字符编码?

bash character-encoding printf

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