Skip to content

Commit 4c0f7f7

Browse files
committed
add cd example to doc
1 parent 5ce69c5 commit 4c0f7f7

2 files changed

Lines changed: 19 additions & 7 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ endfunction
108108
let 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
112112
directory.
113113

114114
### Persistent session

doc/nnn.txt

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff 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

152164
g:nnn#session *g:nnn#session*

0 commit comments

Comments
 (0)