1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 02:50:03 +08:00

Update doc for key binding SPC f / (#3822)

This commit is contained in:
Wang Shidong 2020-09-20 12:11:34 +08:00 committed by GitHub
parent ab5a7b3a82
commit 4e45d04470
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 12 deletions

View File

@ -10,6 +10,7 @@
scriptencoding utf-8 scriptencoding utf-8
let s:MPT = SpaceVim#api#import('prompt') let s:MPT = SpaceVim#api#import('prompt')
let s:JOB = SpaceVim#api#import('job') let s:JOB = SpaceVim#api#import('job')
let s:FILE = SpaceVim#api#import('file')
" let s:SYS = SpaceVim#api#import('system') " let s:SYS = SpaceVim#api#import('system')
" let s:BUFFER = SpaceVim#api#import('vim#buffer') " let s:BUFFER = SpaceVim#api#import('vim#buffer')
" let s:LIST = SpaceVim#api#import('data#list') " let s:LIST = SpaceVim#api#import('data#list')
@ -17,8 +18,12 @@ let s:JOB = SpaceVim#api#import('job')
let s:support_tools = ['find', 'fd'] let s:support_tools = ['find', 'fd']
let s:default_cmd = {
\ 'find' : 'find -not -iwholename "*.git*" ',
\ 'fd' : 'fd',
\ }
let s:current_tool = 'find' let s:current_tool = 'find'
let s:MPT._prompt.mpt = ' ' . s:current_tool . ' ' let s:MPT._prompt.mpt = ' ' . s:default_cmd[s:current_tool] . ' '
let s:options = {} let s:options = {}
let s:second_option = {} let s:second_option = {}
let s:options.find = { let s:options.find = {
@ -115,15 +120,13 @@ let s:second_option.fd = {
function! s:start_find() abort function! s:start_find() abort
if s:current_tool ==# 'find' if s:current_tool ==# 'find'
let cmd = 'find -not -iwholename "*.git*" ' . s:MPT._prompt.begin . s:MPT._prompt.cursor . s:MPT._prompt.end let cmd = s:default_cmd[s:current_tool] . ' ' . s:MPT._prompt.begin . s:MPT._prompt.cursor . s:MPT._prompt.end
elseif s:current_tool ==# 'fd' elseif s:current_tool ==# 'fd'
let cmd = 'fd ' . s:MPT._prompt.begin . s:MPT._prompt.cursor . s:MPT._prompt.end let cmd = s:default_cmd[s:current_tool] . ' ' . s:MPT._prompt.begin . s:MPT._prompt.cursor . s:MPT._prompt.end
endif endif
call s:MPT._clear_prompt()
let s:MPT._quit = 1 let s:MPT._quit = 1
let line = getline('.') call s:MPT._clear_prompt()
noautocmd q call s:close_buffer()
redraw!
let s:finded_files = [] let s:finded_files = []
call s:JOB.start(cmd, call s:JOB.start(cmd,
\ { \ {
@ -138,9 +141,12 @@ function! s:find_on_stdout(id, data, event) abort
endfunction endfunction
function! s:find_on_exit(id, data, event) abort function! s:find_on_exit(id, data, event) abort
" let files = map(filter(deepcopy(s:finded_files), '!empty(v:val)'), "{'filename' : v:val, 'module' : s:FILE.unify_path(v:val, ':.')}")
let files = map(filter(deepcopy(s:finded_files), '!empty(v:val)'), "{'filename' : v:val}") let files = map(filter(deepcopy(s:finded_files), '!empty(v:val)'), "{'filename' : v:val}")
if !empty(files) if !empty(files)
call setqflist(files) call setqflist([], 'r', {'title' : ' SPC f /',
\ 'items' : files,
\ })
copen copen
else else
echo 'Can not find anything' echo 'Can not find anything'
@ -148,8 +154,8 @@ function! s:find_on_exit(id, data, event) abort
endfunction endfunction
function! s:close_buffer() abort function! s:close_buffer() abort
noautocmd pclose exe 'noautocmd bwipeout' s:find_argvs_buffer_id
noautocmd q noautocmd normal! :
endfunction endfunction
let s:MPT._onclose = function('s:close_buffer') let s:MPT._onclose = function('s:close_buffer')
@ -204,7 +210,7 @@ function! s:switch_tool() abort
let s:MPT._prompt.begin = '' let s:MPT._prompt.begin = ''
let s:MPT._prompt.cursor = '' let s:MPT._prompt.cursor = ''
let s:MPT._prompt.end = '' let s:MPT._prompt.end = ''
let s:MPT._prompt.mpt = ' ' . s:current_tool . ' ' let s:MPT._prompt.mpt = ' ' . s:default_cmd[s:current_tool] . ' '
redraw redraw
call s:MPT._build_prompt() call s:MPT._build_prompt()
endfunction endfunction
@ -214,7 +220,7 @@ function! s:enter() abort
endfunction endfunction
function! s:handle_command_line(cmd) abort function! s:handle_command_line(cmd) abort
normal! "_dG noautocmd silent normal! "_dG
if empty(s:MPT._prompt.begin) if empty(s:MPT._prompt.begin)
redraw redraw
call s:MPT._build_prompt() call s:MPT._build_prompt()

View File

@ -1252,6 +1252,11 @@ SpaceVim 选项 `window_leader` 的值来设为其它按键:
| `SPC f d` | Windows 下显示/隐藏磁盘管理器 | | `SPC f d` | Windows 下显示/隐藏磁盘管理器 |
| `SPC f y` | 复制并显示当前文件的绝对路径 | | `SPC f y` | 复制并显示当前文件的绝对路径 |
**注意:** 如果你使用的是 Window 系统,那么你需要额外 [findutils](https://www.gnu.org/software/findutils/)
或者 [fd](https://github.com/sharkdp/fd)。
如果是使用 [scoop](https://github.com/lukesampson/scoop) 安装的这些工具,系统默认的 `C:\WINDOWS\system32` 中的命令会覆盖掉用户定义的 `$PATH`
解决方案是将 scoop 默认的可执行文件所在的文件夹放置在系统环境变量 `$PATH``C:\WINDOWS\system32` 的前方。
#### Vim 和 SpaceVim 相关文件 #### Vim 和 SpaceVim 相关文件
SpaceVim 相关的快捷键均以 `SPC f v` 为前缀,这便于快速访问 SpaceVim 的配置文件: SpaceVim 相关的快捷键均以 `SPC f v` 为前缀,这便于快速访问 SpaceVim 的配置文件:

View File

@ -1308,6 +1308,10 @@ Files manipulation commands (start with f):
| `SPC f d` | toggle disk manager in Windows OS | | `SPC f d` | toggle disk manager in Windows OS |
| `SPC f y` | show and copy current file absolute path in the cmdline | | `SPC f y` | show and copy current file absolute path in the cmdline |
**NOTE:** If you are using window, you need to install [findutils](https://www.gnu.org/software/findutils/) or [fd](https://github.com/sharkdp/fd).
If you are using [scoop](https://github.com/lukesampson/scoop) to install packages, the commands in `C:\WINDOWS\system32` will override User path.
so you need to put the scoop binary PATH before all the windows `C:\WINDOWS\system32` PATH.
#### Vim and SpaceVim files #### Vim and SpaceVim files
Convenient key bindings are located under the prefix `SPC f v` to quickly navigate between Vim and SpaceVim specific files. Convenient key bindings are located under the prefix `SPC f v` to quickly navigate between Vim and SpaceVim specific files.