在 Vim / netrw 中以垂直拆分方式打开文件
Open file in vertical split in Vim / netrw
如果我用 vim .
打开 vim netrw 会为我提供当前目录中文件和目录的一个很好的列表。
如果我使用 v
打开文件,文件将在屏幕左侧的一个非常窄的分割区中打开,而目录列表在屏幕右侧的一个宽分割区中保持打开状态.
理想情况下,我希望它产生相反的效果。 IE。在屏幕左侧以窄分割显示目录列表,在屏幕右侧以宽分割显示文件。
非常感谢任何帮助。
我相信这可以改进,因为您可以编写一个以 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
命令,但无论如何使用大写版本似乎更好,因为它没有覆盖默认值。
虽然 Jonathan.Brink 的答案非常有效,只需添加
let g:netrw_altv=1
.vimrc 似乎也可以解决问题...
有关详细信息,请参阅 https://superuser.com/questions/1056929/open-file-in-vertical-split-in-vim-netrw/1062063#1062063。
Netrw v153 及更高版本(2014 年 5 月 28 日)为您提供了 :Lexplore
命令,默认情况下,它会在左侧打开目录列表并在右侧打开文件(通过按 <cr>
).
如果我用 vim .
打开 vim netrw 会为我提供当前目录中文件和目录的一个很好的列表。
如果我使用 v
打开文件,文件将在屏幕左侧的一个非常窄的分割区中打开,而目录列表在屏幕右侧的一个宽分割区中保持打开状态.
理想情况下,我希望它产生相反的效果。 IE。在屏幕左侧以窄分割显示目录列表,在屏幕右侧以宽分割显示文件。
非常感谢任何帮助。
我相信这可以改进,因为您可以编写一个以 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
命令,但无论如何使用大写版本似乎更好,因为它没有覆盖默认值。
虽然 Jonathan.Brink 的答案非常有效,只需添加
let g:netrw_altv=1
.vimrc 似乎也可以解决问题...
有关详细信息,请参阅 https://superuser.com/questions/1056929/open-file-in-vertical-split-in-vim-netrw/1062063#1062063。
Netrw v153 及更高版本(2014 年 5 月 28 日)为您提供了 :Lexplore
命令,默认情况下,它会在左侧打开目录列表并在右侧打开文件(通过按 <cr>
).