diff options
author | hut <hut@lavabit.com> | 2010-01-11 00:10:40 +0100 |
---|---|---|
committer | hut <hut@lavabit.com> | 2010-01-11 00:10:40 +0100 |
commit | 9983328cebc02a0e01038880405d061448abcac7 (patch) | |
tree | c737d7660251a497eac2134c78fd85e416fc9446 /ranger | |
parent | be868b98c41dac9e588944ece0d8c70e3eee534a (diff) | |
download | ranger-9983328cebc02a0e01038880405d061448abcac7.tar.gz |
added a way to create symlinks
Diffstat (limited to 'ranger')
-rw-r--r-- | ranger/actions.py | 15 | ||||
-rw-r--r-- | ranger/defaults/keys.py | 4 |
2 files changed, 18 insertions, 1 deletions
diff --git a/ranger/actions.py b/ranger/actions.py index 48db860c..33952c19 100644 --- a/ranger/actions.py +++ b/ranger/actions.py @@ -399,6 +399,21 @@ class Actions(EnvironmentAware, SettingsAware): def cut(self): self.copy() self.env.cut = True + + def paste_symlink(self): + from os import symlink, getcwd + from os.path import join + + copied_files = self.env.copy + + if not copied_files: + return + + for f in copied_files: + try: + symlink(f.path, join(getcwd(), f.basename)) + except Exception as x: + self.notify(x) def paste(self): """Paste the selected items into the current directory""" diff --git a/ranger/defaults/keys.py b/ranger/defaults/keys.py index 14548076..c08f8ba2 100644 --- a/ranger/defaults/keys.py +++ b/ranger/defaults/keys.py @@ -77,7 +77,9 @@ def initialize_commands(command_list): bind('yy', fm.copy()) bind('dd', fm.cut()) bind('pp', fm.paste()) - hint('p', 'press //p// once again to confirm pasting') + bind('pl', fm.paste_symlink()) + hint('p', 'press //p// once again to confirm pasting' \ + ', or //l// to create symlinks') bind('s', fm.execute_command('bash')) |