File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -108,7 +108,7 @@ endfunction
108108let g:nnn#action = { 'c': function('CdSelectedFile') }
109109```
110110
111- In this example, pressing <kbd >c</kbd > will select the file and ` cd ` into it's
111+ In this example, pressing <kbd >c</kbd > will select the file and ` cd ` into its
112112directory.
113113
114114### Persistent session
Original file line number Diff line number Diff line change @@ -125,6 +125,15 @@ g:nnn#action *g:nnn#action*
125125 override n³'s own key-bindings.
126126 Examples:
127127>
128+ function! CopyLinestoRegister(lines)
129+ let joined_lines = join(a:lines, "\n")
130+ if len(a:lines) > 1
131+ let joined_lines .= "\n"
132+ endif
133+ echom joined_lines
134+ let @+ = joined_lines
135+ endfunction
136+
128137 let g:nnn#action = {
129138 \ '<c-t>': 'tab split',
130139 \ '<c-x>': 'split',
@@ -139,14 +148,17 @@ g:nnn#action *g:nnn#action*
139148 And finally you can pass a FuncRef and the array of selected
140149 lines will be passed to that function.
141150
142- function! CopyLinestoRegister(lines)
143- let joined_lines = join(a:lines, "\n")
144- if len(a:lines) > 1
145- let joined_lines .= "\n"
151+ Another example, cd into selected file's directory:
152+
153+ function! CdSelectedFile(lines)
154+ let dir = a:lines[-1]
155+ if filereadable(dir)
156+ let dir = fnamemodify(dir, ':h')
146157 endif
147- echom joined_lines
148- let @+ = joined_lines
158+ execute 'cd' dir
149159 endfunction
160+
161+ let g:nnn#action = { 'c': function('CdSelectedFile') }
150162<
151163
152164g:nnn#session *g:nnn#session*
You can’t perform that action at this time.
0 commit comments