【发布时间】:2016-07-21 16:56:26
【问题描述】:
如果我用vim .打开 vim,netrw 会为我提供当前目录中的文件和目录的漂亮列表。
如果我使用v 打开文件,该文件在屏幕左侧以非常窄的分割打开,而目录列表在屏幕右侧以较宽的分割保持打开。
理想情况下,我希望它产生相反的效果。 IE。在屏幕左侧以窄分割显示目录列表,在屏幕右侧以宽分割显示文件。
非常感谢任何帮助。
【问题讨论】:
如果我用vim .打开 vim,netrw 会为我提供当前目录中的文件和目录的漂亮列表。
如果我使用v 打开文件,该文件在屏幕左侧以非常窄的分割打开,而目录列表在屏幕右侧以较宽的分割保持打开。
理想情况下,我希望它产生相反的效果。 IE。在屏幕左侧以窄分割显示目录列表,在屏幕右侧以宽分割显示文件。
非常感谢任何帮助。
【问题讨论】:
Netrw v153 及更高版本(2014 年 5 月 28 日)为您提供 :Lexplore 命令,默认情况下,该命令在左侧打开目录列表并在右侧打开文件(通过按 <cr>)。
【讨论】:
虽然 Jonathan.Brink 的回答效果很好,但只需添加
let g:netrw_altv=1
到 .vimrc 似乎也能解决问题...
请参阅https://superuser.com/questions/1056929/open-file-in-vertical-split-in-vim-netrw/1062063#1062063 了解更多信息。
【讨论】:
如果您可以编写一个以netrw 文件类型为目标的自定义映射,我相信这可以得到改进。
把这个贴在你的.vimrc:
" open file vertically to the right
augroup netrw_mappings
autocmd!
autocmd filetype netrw call Netrw_mappings()
augroup END
function! OpenToRight()
:rightbelow vnew
:wincmd p
:normal P
endfunction
function! Netrw_mappings()
noremap V :call OpenToRight()<cr>
endfunction
唯一的问题是您需要使用V 而不是v。由于某种原因,我无法覆盖netrw 的v 命令,但无论如何使用大写版本似乎更好,因为它不会覆盖默认值。
【讨论】:
:30winc >之类的命令来改变窗口宽度