我很难在深度嵌套的HTML中找到一个写得不好的开头div.是否有插件可以支持我使用vim/gvim/macvim和其他变种跳转到等效的打开/关闭div?
我在家里使用MacVim并在Windows中使用gvim工作.由于我使用git来同步我的vim设置,因此我希望设置位于名为vimfiles的同一文件夹中.我在我的.gvimrc中设置了runtimepath,如下所示:
set runtimepath=~/vimfiles/,$VIMRUNTIME
Run Code Online (Sandbox Code Playgroud)
但插件~/vimfiles/plugin似乎没有被MacVim加载.我做错了吗?
是因为vimfiles中的子文件夹没有以递归方式添加到runtimepath中吗?
我职业生涯的大部分时间都在使用IntelliJ/Eclipse/Visual Studio进入Windows环境.我最近刚开始在Mac上工作.到目前为止,爱它.我也借此机会学习vim并让MacVim成为我的主编.大多数情况下,我正在使用前端的东西(javascript/css),但有时我会来回到java后端.
我真的错过了大IDE的一些东西,并想知道它们是否可能在Macvim中:
1)代码完成 - 自动填充我正在键入的方法的快捷方式
2)转到声明 - 我知道gd将在文件中本地发送声明,但是多个文件呢?
3)导航到文件 - 我知道你可以使用:tabnew ../somedir/somefile或只是使用终端控制台,但是有更快的方法吗?(IntelliJ是Ctrl-Shift-N导航到项目中的文件)
我知道这样做可能涉及某种形式的索引所有文件和实际项目.这可能不太可能.但是,如果有人有建议我会很感激.谢谢
我最近从Vim切换到了MacVim,因为它支持Ruby,但是,单独的UI非常不方便.有没有办法在终端内运行MacVim而不是mvim启动单独的UI?
我使用了Dvorak键盘布局,因此我对默认的VIM映射进行了一些调整 - 我做的一个更改就是将右侧的主行键重新映射到
noremap d h
noremap h j
noremap t k
noremap n l
Run Code Online (Sandbox Code Playgroud)
因此,移动键可以方便地定位,就像QWERTY用户一样. h,t并且n做好自己的工作并且反响敏捷. d然而,在离开它应该的方式之前,它会滞后一会儿.我认为这是因为有一些键序列命令开始d(比如dd删除行),所以VIM在执行命令之前等待接收序列中的第二个笔划,只需要一个'd'.我重新映射dd:
noremap dd hh
Run Code Online (Sandbox Code Playgroud)
但这不是诀窍.然而,诸如d3w或d$(后面的文本对象d)之类的命令不起作用(在重新映射之后d),因此它们不会导致问题.谁知道如何摆脱滞后?顺便说一句,即使禁用所有插件后,我也遇到了同样的问题.d我的vimrc中也没有其他映射.
MacVim上方有一个栏,每次我在一个窗口中打开多个缓冲区时,它都会像这样列出它们:

很好,除非如果我随后输入“:bn”以到达下一个缓冲区,则该小节将不再准确。显示的是“ contact.html”的重复条目,而没有“ bio.html”的条目:

如果它正常工作,此栏将很有用。但是,如果不能,那么我想摆脱它。问题是,我不知道它是怎么到达那里的。
那么,有谁知道如何解决或摆脱它?
我的.vimrc在这里,如果有帮助的话:https : //github.com/austintrose/Vim-Files。我在.vimrc中找不到任何与此相关的东西。:-/
谢谢!
可能重复:
将.vim主目录设置为特定的内容
关于设置工作目录已经存在一个问题:如何在Vim中设置工作/当前目录?但是我的问题有点不同,我在一个文件夹中有几千个文件(几个不同的项目).每当我启动Vim(MacVim)时,cwd默认设置为home dir.因此,当我使用像ack.vim这样的插件时,默认情况下它们在我的家庭目录中搜索是没用的.我只想将它设置为我的/ home/user/Code文件夹(包含我所有的片段,项目等).
是否有任何设置将cwd设置为某个目录?或者任何变通办法(比如:cd /home/user/Code在Vim中为每个创业公司执行?
我最近一直在玩vim宏(目前在MacVim中),有时我喜欢用例如明确地将宏分配到寄存器中:let @a='(macro keystrokes)'.这通常工作正常,但我发现了一种奇怪的行为,其中任何时候我分配一个以Carriage Return/^ M结尾的字符串值,vim会在将它放入寄存器之前自动将Endfeed/^ J添加到结尾,这会影响执行宏!
示例:假设我记录了一个进入插入模式的简单宏,键入"hey",退出插入模式,然后按两次Enter键向下走2行.我通过输入qaihey<Escape><Enter><Enter>q将其记录到寄存器@a中,它将以下内容存储在@a中:
ihey^[^M^M
Run Code Online (Sandbox Code Playgroud)
到目前为止@a一切都那么好,并且通过键入来执行宏只是它应该是什么.我可以将这个相同的宏放入寄存器@a的另一个非常好的方法是将整个事物(ihey<Ctrl-V><Escape><Ctrl-V><Enter><Ctrl-V><Enter>)输入缓冲区,然后用它进行操作"ay- 最终结果是相同的.但这是奇怪的事情 - 假设我只想使用let语句将该字符串直接分配到@a :
:let @a='ihey^[^M^M'
Run Code Online (Sandbox Code Playgroud)
现在,如果我输入:reg要查看它所显示的值,那么^J由于某种原因,最后会有额外的值:
"8 ...
"9 ...
"a ihey^[^M^M^J
"b ...
Run Code Online (Sandbox Code Playgroud)
有额外的^J原因导致它在执行宏时会减少额外的行,所以它实际上改变了行为.
有谁知道为什么要添加这个额外的角色?任何人都知道我怎么能得到一个^M以寄存器(或任何变量)结尾的字符串值,而不需要额外^J添加?
我试图在vim中自定义python的语法高亮.我想突出显示关键字,self但只有当它后跟一个..这是我提出的代码:
syn match pythonBoolean "\(\Wself\)\%(\.\)"
Run Code Online (Sandbox Code Playgroud)
不幸的是,.虽然我使用非捕获组,但也突出显示\%(\.\).
任何的想法?
我有一台带Sierra的新笔记本电脑.我使用Time Machine从我的旧Mac上带来了我的应用程序,其中大多数工作正常.然而,Macvim消失了.我试着安装它.我尝试通过安装Homebrew和brew安装macvim来重新安装它.安装看起来很成功,但我仍然找不到也没有使用macvim.我想这又是一个问题,应用程序文件不再在/ usr /但在Library /中,但老实说,我有点迷失如何弄清楚这是否是问题以及如何解决它.
你能帮我解决这个问题吗?
我如何安装Homebrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Run Code Online (Sandbox Code Playgroud)
我是如何安装Macvim的:
brew install macvim
Run Code Online (Sandbox Code Playgroud)