我之前写过的内容可能适合复制一行的一部分,但对于完整的行却不好。 对于单个或多个完整行:
安装xsel(或xsel -b或类似产品)并将其放入您的〜/ .bashrc中:
nc () {
fil=$(ps aux | grep [n]ano | grep -oE '[^ ]+$' | rev | cut -d'/' -f 1 | rev | uniq | fzy)
find ~ -type d -name .cache -prune -o -type f -name "$fil" -exec sed -n ""$@"p" {} + | xsel -b && pkill -f 40x15
}
并将其放在您的全局快捷方式配置文件或实用程序中:
xterm -geometry 40x15
现在,您可以通过快捷方式调用这个小的xterm窗口,然后输入
nc FIRST_LINE_NUMBER,LAST_LINE_NUMBER
并选择要从中复制这些行的文件。 将它们粘贴到另一个纳米中的任何位置(在通过M-I禁用自动缩进之后)。
对于单行,只需输入
nc LINE_NUMBER
这可能仅对复制长行的一部分有用:
您需要xsel和xsel -b(或xclip或wl-clipboard或类似的工具)实用程序,并将此命令放在全局绑定文件或实用程序中:
xsel | fmt -c -w 1000 - | xsel
然后:
如果行号由M-N启用(在我的配置中为Alt-N),请禁用
通过M-M禁用鼠标支持(我的配置中为Alt-M)
就像在终端或任何其他程序中一样,轻松选择要通过鼠标复制的整个区域
单击上面命令的自定义按键绑定
在要粘贴文本的任何位置单击鼠标中键
这将保留原始/有意的空行,但所有其他行将被合并。
这是主要选择。 如果您更喜欢剪贴板,请用xsel -b将xsel替换为xsel -b,在第4步之前,您需要按Ctrl-Shift-C而不是第5步,根据要粘贴的位置,通过Ctrl-V或Ctrl-Shift-V粘贴它。
编者:除了前3个步骤,您可以按Shift键,然后单击要复制的文本的开头并释放Shift键,但不释放鼠标,而是将鼠标拖动到要复制的文本的末尾并释放鼠标。 并按照上述步骤进行剪贴板而不是主要选择。