据我了解,您可以使用NERDTree插件直接从MacVim添加文件.我导航到NERDtree并点击'm'调出NERDTree文件系统菜单,如本文所述:vim和NERD Tree扩展 - 添加文件
问题是,我在调用'm'后得到这个输出:
NERDTree Menu. Use j/k/enter and the shortcuts indicated
==========================================================
Error detected while processing function <SNR>14_showMenu..30..31:
line 4:
E716: Key not present in Dictionary: menuItems)-1)
E116: Invalid arguments for function len(self.menuItems)-1)
E116: Invalid arguments for function range(0, len(self.menuItems)-1)
E15: Invalid expression: range(0, len(self.menuItems)-1)
Press ENTER or type command to continue
Run Code Online (Sandbox Code Playgroud) 我在一个由4人组成的工程团队工作,主要是编写javascript,偶尔也会涉及ruby和python.因此,作为一个团队,我们一直在共享代码,而且正如大多数程序员所做的那样,团队中的每个成员都有他最喜欢的缩进级别和相关设置.我是团队的两名成员之一,他们使用并喜欢Vim作为我的主要代码编辑器.我喜欢我的团队,但我也喜欢我的缩进,这恰好使用了4个空格的制表符.有关更多上下文,这是我在.vimrc中使用的内容:
set ts = 4 sts = 4 sw = 4 expandtab " 4 space tabs
Run Code Online (Sandbox Code Playgroud)
随着团队中进行如此多的代码共享和协作编辑,主代码文件通常开始显示为大量混合选项卡和空间混乱,因此即使是经典的Vim技巧选择所有并按下=智能缩进也不会有很大的影响.
无论如何,我的问题是:在Vim(特别是MacVim)是否有更好的(更可靠的)方法将代码文件从凌乱的混合缩进转换为我喜欢的缩进?无论是.vimrc设置还是我在编辑文件时输入的命令,我都不在乎.
感谢您的任何建议!
要缩进HAML代码,我通常添加或删除2个空格.添加我做:
这就是它增加了2个空格.但是要删除空格,我不会工作,例如:
这只是不起作用,其他行空格不会被删除.我怎么能这样做?
这是一个示例代码:
.module_1
.pricing_details
%h2
Save
Run Code Online (Sandbox Code Playgroud)
这个想法是移动所有东西,所以它匹配2个空间.module_1如下:
.module_1
.pricing_details
%h2
Save
Run Code Online (Sandbox Code Playgroud)
使用<>的建议解决方案仅适用于缩进现在我想例如:
.module_1
.pricing_details
%h2
Save
Run Code Online (Sandbox Code Playgroud)
将上述内容移至:
.module_1
.pricing_details
%h2
Save
Run Code Online (Sandbox Code Playgroud) 我正在使用(mac)vim与tex-suite,并希望有一个正则表达式命令(或任何其他方式)来执行以下操作:
更改
\ textcolor {green} {some random text}
成
一些随机文字
这应该\textcolor{green}{}在我的tex文件中出现的所有内容...
任何的想法?
编辑:我需要它来识别匹配的大括号.这是一个例子:
\textcolor{green}{
with $v_\text{F}\sim10^6$m.s$^{-1}$ the massless Dirac fermions
velocity in pristine graphene}.
Run Code Online (Sandbox Code Playgroud) 我用自制软件安装了macvim,支持python.我的咒语如下:
brew install macvim --override-system-vim
Run Code Online (Sandbox Code Playgroud)
现在当我打开一个python文件时,如果我尝试导入任何东西,我会收到一系列错误.例如,如果我,import re我看到ImportError: no module name re.
我第一次在安装后打开macvim,进入'import site' failed; use -v for traceback我打开macvim的终端.这是在运行我的第一个python命令之后.
这是什么意思,我该如何解决?
我可以将两种文件类型映射到一个代码段文件吗?
例如,我希望两者.html和.ctp文件都使用该hmtl.snippets文件.
如果没有,那么来自操作系统的sym链接会起作用吗?
或者我可以为所有文件类型创建一个全局代码段文件吗?
谢谢!
我一直在阅读关于VIM的youcompleteme插件.但问题是,我想要一个设置,我可以移动到我的其他开发平台(OpenIndiana,FreeBSD,Linux和OS X).
难道不会使用macvim使插件从平台移动到平台有点困难吗?
干杯
我有以下文字:
Lang1
Lang2
Lang3
Run Code Online (Sandbox Code Playgroud)
现在我想用以下模式替换每行中的所有文本:
{ DisplayName: DispName(Lang1), Value: Lang1 },
{ DisplayName: DispName(Lang1), Value: Lang2 },
{ DisplayName: DispName(Lang1), Value: Lang3 },
Run Code Online (Sandbox Code Playgroud)
现在我如何通过vim命令替换来实现这一点,我可以得到::%s/*$/\{\ DisplayName\:\ DispName\(Lang1\)\,\ Value\:\ Lang1\}\,/替换每一行,Lang1然后用2,3,4等替换单个1s.但我不想这样做.我想要一个替换命令来选择模式并重复它.怎么做到这一点?
我有一个包含标题和代码的文档。每个代码都有自己的行,现在我需要复制其中的所有代码,每个代码都放在单独的行中。它们都以数字开头,Vim可以轻松实现。
该文档如下所示:
TITLE
123-456-4252-2
Other TITLE 2
123-456-4252-X
A nice TITLE 3
523-456-4252-2
...
Run Code Online (Sandbox Code Playgroud) macvim ×10
vim ×10
homebrew ×1
indentation ×1
latex-suite ×1
macos ×1
neovim ×1
nerdtree ×1
python ×1
regex ×1
ultisnips ×1
vim-plugin ×1