about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--ranger/defaults/apps.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/ranger/defaults/apps.py b/ranger/defaults/apps.py
index 10c522fe..404fc053 100644
--- a/ranger/defaults/apps.py
+++ b/ranger/defaults/apps.py
@@ -61,15 +61,17 @@ class CustomApplications(Applications):
 		return tup('vim', *c)
 
 	def app_editor(self, c):
-		default_editor = os.environ['EDITOR']
-		parts = default_editor.split()
-		exe_name = os.path.basename(parts[0])
-
-		if exe_name in self.fm.executables:
-			return tuple(parts) + tuple(c)
-
+		try:
+			default_editor = os.environ['EDITOR']
+		except KeyError:
+			pass
 		else:
-			return self.either(c, 'vim', 'emacs', 'nano')
+			parts = default_editor.split()
+			exe_name = os.path.basename(parts[0])
+			if exe_name in self.fm.executables:
+				return tuple(parts) + tuple(c)
+
+		return self.either(c, 'vim', 'emacs', 'nano')
 
 	@depends_on(app_editor, Applications.app_self)
 	def app_edit_or_run(self, c):