如果我:bd在NERDTree窗口,我无法通过关闭NERDTree窗口并将其打开来加载它:它仍然是空的.
怎么解决这个?理想情况下,我想:bd在此缓冲区中不执行任何操作,但是可以使用正确的重新加载快捷方式.
我正在尝试将我的Alt+ x组合重新映射到NERDTree Enter功能.让我解释一下:当我浏览NERDTree中的文件/文件夹时,我可以打开文件/扩展文件夹Enter.
我想用左手键组合来做这个,比如Alt+ x.我试图将这些密钥重新映射到,<CR>并且<Enter>都没有工作:
# in ~/.vimrc
nnoremap ? <Enter> " doesn't work
nnoremap ? <CR> " doesn't work
nnoremap ? <CR><Enter> " doesn't work
Run Code Online (Sandbox Code Playgroud)
当我说"不工作"时,我的意思是当我在浏览文件/文件夹时按Alt+ x,我移动到下一个文件/文件夹(我想这就像移动到下一行).
注意我在Mac上,所以?实际上是Alt+ 的输出x(它是用其他映射测试的).
我应该重新映射什么?
有没有人遇到电源线处于"标准"模式时不显示的问题?
如果我跑:
$ vim ~/.vimrc
Run Code Online (Sandbox Code Playgroud)
我看到以下内容:
"~/.vimrc" 37L, 952C
Run Code Online (Sandbox Code Playgroud)
但是,如果我打开像NERDTree,CtrP或Sytnatstic这样的东西,我能够看到Powerline正如预期的那样,只要我关闭其中一个插件,电源线就会消失.
这是预期的行为吗?
如果有人有兴趣,这是我的.vimrc.
当我编辑具有不同缩进设置的文件时(例如Makefile,哪些需要制表符,*.js哪些应该有空格),然后vim混合两者并应用制表符*.js.
文件类型的东西在这些行中定义:
" use real tabs for these languages
autocmd FileType go,make
\ set noexpandtab
" use two spaces for these languages
autocmd FileType ruby,html,json,jade,javascript
\ set tabstop=2 |
\ set shiftwidth=2
" use four spaces for these languages
autocmd FileType css
\ set tabstop=4 |
\ set shiftwidth=4
Run Code Online (Sandbox Code Playgroud)
知道如何autocmd Filetype在打开nerdtree的另一个标签时让vim重新应用吗?
博多
我使用 NERDTree 并将其设置为在打开 vim 时自动打开,但这会导致 NERDTree 窗口成为选定的窗口,这不是我想要的。我希望能够直接编辑我打开的文件,但autocmd vimenter * <c-w><c-p>只是在启动时出现错误。有什么办法可以做我想做的事,或者这是不可能的吗?
我对 Vim 及其配置文件并不完全熟悉,所以如果这是一个简单的问题,请原谅我,但我一直无法在任何地方找到它。
我是vim的新手(NERDTree).我的问题:如何使用path by path打开文件(例如:vim/etc/hosts)并在新选项卡中打开此文件
感谢帮助.
按照惯例,Java非常热衷于目录.因此,我当前Grails项目中的所有代码都嵌套了5个目录,例如......
~controllers
~com
~companyname
~teamname
~productname
|-[code actually here]
Run Code Online (Sandbox Code Playgroud)
每个核心Grails目录(服务,taglib,单元测试)下都有一个类似的文件夹结构,这意味着重复击中o和j很多.
有没有聪明的方法可以自动化并映射到组合键?
通过阅读github上的NERDTree文档,我了解到如果vim以无缓冲区启动,我可以执行诸如自动打开nerdtree之类的漂亮操作,并且如果NERDTree是唯一的开放缓冲区则自动关闭vim.但是,我的最后一个问题是实现反向 - 如果由于某种原因NERDTree是唯一的开放缓冲区并且没有触发vim的退出,那么关闭树基本上什么都不做.我希望vim在这种情况下关闭,这样我就不必输入:q两次了.
以下是实现其他便利的线条:
autocmd vimenter * if !argc() | NERDTree | endif
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif
Run Code Online (Sandbox Code Playgroud) 目前,当我使用此命令编辑不是git commit消息的文件时,我默认打开NERDTree:
autocmd VimEnter * if &filetype !=# 'gitcommit' | NERDTree | endif
Run Code Online (Sandbox Code Playgroud)
唯一的问题是当文件打开时,NERDTree是默认缓冲区,这非常烦人.我可以添加到我的vimrc文件中,以便在打开文件时,该文件是聚焦缓冲区,而不是NERDTree?
有没有办法切换进出NERDtree - 禁用鼠标?我知道我可以按'q'退出NERDtree并返回文本编辑器,但是当我回到NERDtree时,它不会跟踪我之前打开过哪些目录,并且我想保留目录列表打开.我参考了NERDtree的帮助,但我找不到我想要的东西.也许我错过了什么?
提前致谢.