summary refs log tree commit diff stats
path: root/examples/vim_file_chooser.vim
diff options
context:
space:
mode:
authorhut <hut@lepus.uberspace.de>2015-04-14 01:46:12 +0200
committerhut <hut@lepus.uberspace.de>2015-04-14 01:46:12 +0200
commiteb9a75caa91f9315d14b17db14af4dfdd71fa82e (patch)
tree26e2d4002756a20666c6a2e6f8d148aafc990afe /examples/vim_file_chooser.vim
parent09b0f2f1044025c8d14d5f7296f43b495cf75ec3 (diff)
parent89146651e07830f15b59b5f076d61741747a0bea (diff)
downloadranger-1.7.0-emacs.tar.gz
Merge branch 'master' into emacs v1.7.0-emacs
Diffstat (limited to 'examples/vim_file_chooser.vim')
-rw-r--r--examples/vim_file_chooser.vim36
1 files changed, 36 insertions, 0 deletions
diff --git a/examples/vim_file_chooser.vim b/examples/vim_file_chooser.vim
new file mode 100644
index 00000000..fb9b7e1b
--- /dev/null
+++ b/examples/vim_file_chooser.vim
@@ -0,0 +1,36 @@
+" Compatible with ranger 1.4.2 through 1.7.*
+"
+" Add ranger as a file chooser in vim
+"
+" If you add this code to the .vimrc, ranger can be started using the command
+" ":RangerChooser" or the keybinding "<leader>r".  Once you select one or more
+" files, press enter and ranger will quit again and vim will open the selected
+" files.
+
+function! RangeChooser()
+    let temp = tempname()
+    " The option "--choosefiles" was added in ranger 1.5.1. Use the next line
+    " with ranger 1.4.2 through 1.5.0 instead.
+    "exec 'silent !ranger --choosefile=' . shellescape(temp)
+    exec 'silent !ranger --choosefiles=' . shellescape(temp)
+    if !filereadable(temp)
+        redraw!
+        " Nothing to read.
+        return
+    endif
+    let names = readfile(temp)
+    if empty(names)
+        redraw!
+        " Nothing to open.
+        return
+    endif
+    " Edit the first item.
+    exec 'edit ' . fnameescape(names[0])
+    " Add any remaning items to the arg list/buffer list.
+    for name in names[1:]
+        exec 'argadd ' . fnameescape(name)
+    endfor
+    redraw!
+endfunction
+command! -bar RangerChooser call RangeChooser()
+nnoremap <leader>r :<C-U>RangerChooser<CR>
rs.go?h=v0.4.14&id=61d34d492a6baab8e2aa420c1b1d0a562624b7d1'>^
d3d9df2 ^




b9d16fb ^
893123c ^





d4c05d2 ^
c831484 ^

893123c ^

d6fbc25 ^
893123c ^

b9d16fb ^
d3d9df2 ^

b9d16fb ^
d4c05d2 ^

b9d16fb ^
d4c05d2 ^


d6fbc25 ^
d4c05d2 ^
b9d16fb ^
d3d9df2 ^

b9d16fb ^
d4c05d2 ^






d6fbc25 ^
d4c05d2 ^
b9d16fb ^

d3d9df2 ^
d2680fb ^








d6fbc25 ^
d2680fb ^



d3d9df2 ^
b9d16fb ^
d4c05d2 ^





d6fbc25 ^
d4c05d2 ^
b9d16fb ^

d3d9df2 ^

b9d16fb ^
d4c05d2 ^




126c00e ^
d4c05d2 ^
d6fbc25 ^
d4c05d2 ^
b9d16fb ^

d6fbc25 ^
































1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150