我将要按Enter在终端中运行命令,但是在此之前,我想不使用鼠标将命令复制到剪贴板。
怎么样?
如果您不在终端机之外,请Ctrl+进行Home操作。
有没有一种方法可以在终端中随意选择文本?
编辑:
- 假设使用其他类似程序
screen
不是一个好的选择 - 文本要粘贴到终端外部,因此Ctrl+ y和类似的序列也不能解决它
我将要按Enter在终端中运行命令,但是在此之前,我想不使用鼠标将命令复制到剪贴板。
怎么样?
如果您不在终端机之外,请Ctrl+进行Home操作。
有没有一种方法可以在终端中随意选择文本?
编辑:
screen
不是一个好的选择Answers:
绑定以下快捷方式:
bind '"\C-p": "\C-e\C-u xsel <<"EOF"\n\C-y\nEOF\n\C-y"'
现在,使用Crtl+后,P您的行将被复制到剪贴板中。您可以使用以下命令将其粘贴到终端中:
xsel
并使用鼠标中键或Shift+ 进入任何X应用程序Insert。
xsel -b
使用标准剪贴板,即使用Ctrl + V / Ctrl + Shift + V的剪贴板。还值得注意的是,此方法在多行命令上失败。
如果您使用的是能理解emacs密钥的外壳程序之一(bash,csh等),则可以通过以下方式复制当前命令:
control-A
将带您到行首。
control-K
将杀死您刚刚输入的整个行。
control-Y
会将文字拉回。
然后,您可以control-Y
向后拉动文本,以将文本作为输入插入到Shell命令行编辑器中。
请参阅man bash
,然后在出现时,键入,/emacs
后跟几个n
(下一个),以使您进入READLINE部分。
control-U
可以直接从命令末尾截取命令
我能想到的最接近的是Ctrl+ u,Ctrl+ y
这将从光标删除到行的开头,然后从readline缓冲区粘贴。但是,这与剪贴板并不完全相同,但是如果需要的话,您可以将其粘贴到外壳中。
有一个名为screen的程序。它创建了一个文本窗口系统,使您可以在多个实例之间切换。但它也允许您选择文本。
sudo apt-get install screen
该命令将安装它。
然后输入 screen
您可以使用ctr-a启动命令序列。然后按esc,您的光标将向任何方向移动。按Enter键开始选择文本,移至终点,再按一次Enter键。那将复制到缓冲区。
然后按ctr-a然后}将粘贴
有关其他命令的更多详细信息,请参见http://www.kuro5hin.org/story/2004/3/9/16838/14935
screen
由于不同的原因我不喜欢,所以假设使用常规的Ubuntu终端。编辑了我的问题以进行澄清。
如果您在vim内部,则可以使用Shift+ 直观地选择一个或多个行, v然后使用绑定,例如yy,将选择内容通过管道传递给xclip。
将绑定添加到您的vimrc:
vnoremap yy :w !xclip -selection clipboard<CR><CR>
这需要安装xclip,它在Debian / Ubuntu aptitude存储库中。
xclip
存储标准输入,并带有-selection clipboard
将标准输入推送到系统剪贴板的选项。
因此,您还可以xclip
从终端以通用方式使用,例如将整个文件复制到系统剪贴板:
cat myfile | xclip -selection clipboard
如果您还可以选择创建别名,例如:
alias cb="xclip -selection clipboard"
丹尼尔·米卡伊(Daniel Micay)的白蚁拥有“选择模式”。按Ctrl + Shift +空格将激活它。它具有类似于vim的键绑定。v或V将选择àla vim的可视模式,y将拉动,Esc将退出选择模式。
从https://stackoverflow.com/questions/1536757/selecting-text-in-terminal-without-using-the-mouse/29386401复制