2016-11-23 3 views
1

у меня есть это в моем ~/.vimrc файлеОткрытие файла netrw в текущем окне

" open files from netrw in a previous window 
let g:netrw_browse_split = 4 
" tree-like listing of directories in netrw 
let g:netrw_liststyle = 3 
" set width of 25% of current window width 
let g:netrw_winsize = 25 
" 

Это позволяет мне использовать netrw как ящик проекта через :Vexplore. При нажатии на имя файла открывается этот файл в предыдущем окне.

Однако иногда я начинаю vim с vim . и сразу вижу netrw. Теперь, если я нажму <cr> на любое имя файла, netrw откроет новый раздел с этим файлом, но я бы хотел, чтобы он открыл файл в текущем окне. Я в порядке с использованием другого ключа для открытия файлов в текущем окне, я просто не смог найти такой ключ в документах netrw.

+0

Там нет встроенного способа сделать это, но вы могли бы сделать что-то с 'autocmd BufEnter', чтобы определить, является ли netrw единственным открытым окном и временно переключает значение' g: netrw_browse_split', которое я оставлю вам или кому-то другому. Или прочитайте [это сообщение в блоге VimCasts] (http://vimcasts.org/blog/2013/01/oil-and-vinegar-split-windows-and-project-drawer/), установите [vim-vinegar] (https : //github.com/tpope/vim-vinegar), и освободиться от злых кладок ящика проекта. –

ответ

1

Вы можете обнаружить это условие (открытие Vim с текущим каталогом) в вашем ~/.vimrc и адаптировать netrw конфигурации соответственно:

" open files from netrw in a previous window, unless we're opening the current dir 
if argv(0) ==# '.' 
    let g:netrw_browse_split = 0 
else 
    let g:netrw_browse_split = 4 
endif