I am using Ubuntu 14.04 but I guess this thing can be seen in almost all versions of Ubuntu.
When I copy a file from nautilus using Ctrlc and paste into gedit it pastes the text like /home/urvish/.bash_history
which is perfect for me. But when I paste it in terminal using CtrlShiftv it goes like file:///home/urvish/.bash_history
.
Is there any way I can remove that preceding file://
while pasting? (I know I can do it manually but I do it very frequently and always doing manually is time taking).
Best Answer
What gnome-terminal does
From reading through Gtk documentation, it appears that there are 2 ways a program can treat contents of clipboard - plain text and list of URIs to file. For whatever reason,
gnome-terminal
decided that it will be good idea to differentiate between two, and therefore it when you copy a file from Nautilus tognome-terminal
, the terminal retrieves the URI list, while other programs - only plain text.Automatic editing of clipboard would be slightly troublesome ( although I'm still pursuing the idea) - we'd need to define a way of detecting where you're trying to paste the clipboard contents, and running persistent script that edits script into plain text ( effectively deleting the URIs ) will prevent you from copying files from one Nautilus window to another.
Dragging-and-dropping is probably the simplest solution. But since a scripting approach has been requested,I came up with idea for two manual approaches. One relies on the Nautilus' built in feature of adding scripts to your right-click menu. The other on entering a specific shortcut before pasting into gnome-terminal.
Manual script approach, version 1
This script is to be placed into
~/.local/share/nautilus/scripts
folder and made executable viachmod +x ~/.local/share/nautilus/scripts/scriptname.sh
or via right clicking on file and editing Permissions tab in properties. Effectively, it allows you to copy path to selected files as quoted strings and withfile://
portion removed.To use it, select file or files in Nautilus, and right click them. Select
Scripts
menu ->your_script_name.py
.Manual script approach, version 2
This approach relies on the idea of running the python script below right before you paste into
gnome-terminal
. You can call it fromgnome-terminal
manually as command , or bind this to a keyboard shortcut. Thus, with shortcut method, I would bind it to CtrlShiftB (because it's B and V are close on keyboard), and each time I need to paste from Nautilus, I'd hit CtrlShiftB to edit , then CtrlShiftV to pasteDisclaimer: answer still under development; additional content/ideas may be added later