有没有办法在vim的插入模式下向前删除?我正在使用 MacVim。我试过“Control-D”,但它显然不起作用。我正在搜索官方文档,但找不到。任何帮助,将不胜感激。
我是一个 Mac Noob,但通常是一个强大的 Linux 用户。我的新工作给了我一台安装了 Lion 的全新 MacBook Pro。
我使用自制软件成功安装了 MacVim。我希望它成为打开某些文件类型的默认应用程序。(.rb,.haml)
但是当我尝试将 MacVim 指定为 Finder 中的默认应用程序时,该应用程序闻所未闻。MacVim 上的 Spotlight 搜索只会找到原始的 .tgz 文件。
但是我可以从命令行 (mvim) 运行它并将它固定到扩展坞并从那里运行它。
我猜需要创建一个叫做“别名”的东西,我觉得这与符号链接不同。事实上,我在 MacVim 的 ~/Applications 文件夹中有一个符号链接,它是由自制软件在那里创建的。
我怎样才能以某种方式祝福 MacVim 成为一个已安装的应用程序并分配它来打开某些文件扩展名?
我用来MacVim (snapshot 51)在中等大小的项目中编辑 Python/HTML/etc 文件。每隔几个月我的系统就会锁定或崩溃,并且 Vim 会留下大量 .*.swp 文件。当我在崩溃后重新打开 Vim 并编辑这些文件中的任何一个时,我被告知“交换文件 ''.xyz.swp'' 已经存在!” 与 [中止] [退出] [删除] [恢复] [仍然编辑] 和 [打开只读] 选项。
如果在崩溃时没有保存 Vim 缓冲区的更改,则此恢复选项将有意义。然而,在崩溃时,这些文件是在 Vim 的后台打开的,并且没有改变。
如果可能,我如何配置 Vim 在打开.swp文件和实际文件之间没有更改的文件时不问这个多余的问题,例如:
自动将 .swp 文件中的更改与文件进行比较,如果没有更改则直接打开文件而不提示;
不为没有更改的文件保留 .swp 文件。
任何其他系统地避免这种毫无意义的提示的方法(但我不希望在有未保存更改的情况下避免提示)。
目前我有超过 50 个.swp文件需要清理,毫无意义的提示是我很高兴避免的一种挫败感。
感谢您的阅读。
布赖恩
我最近开始在 NERDTree 中使用 Vim。烦人的事情是当我关闭缓冲区时,NERDTree 扩展以填充屏幕的其余部分,我必须打开另一个文件并重新打开 NERDTree 以使其恢复到旧布局。
有没有办法“锁定”NERDTree 到位?理想情况下,关闭缓冲区会将其替换为另一个隐藏的缓冲区,或者如果没有其他缓冲区打开,则打开一个新的空白缓冲区。
谢谢!
当我使用标准 vim 命令关闭 MacVim 时:q,MacVim 窗口关闭,但程序仍在运行。当其他进程尝试生成 MacVim 的实例时,这会导致麻烦,因为如果它仍在运行,则需要将特殊标志传递给 MacVim,以便打开新实例,但随后实例会累积。
有没有办法使用 vimscript 来终止进程并在退出时关闭窗口?
每当我启动 MacVim 时,它都会占据整个屏幕。我不要这个。有什么办法可以防止它发生吗?
我运行 OS X 10.8。
当我向上/向下滚动并且光标位于可见区域时,它会停留在该位置。
但是,当我滚动并且光标到达边缘(底部或顶部)时,它会随着我的滚动而移动,以便它始终停留在可见区域内。
我不想要那个。我根本不希望滚动改变光标。我怎样才能禁用它?
几个月前,我从 Textmate 切换到 Vim。总的来说,我真的很喜欢 Vim,但我从 Textmate 中错过的一件事是使用 ⌘R 命令来运行 Ruby 代码,并在一个新的可滚动窗口中整齐地弹出结果。显然,Vim 能够运行 Ruby 代码并使用:w !ruby. 唯一的缺点是,如果结果输出太长,我无法滚动浏览它。
为了解决这个问题,我尝试修改Vim Tips 中的一个:redir函数。它看起来像这样:
function! TabMessage(cmd)
redir => message
silent execute a:cmd
redir END
tabnew
silent put=message
set nomodified
endfunction
command! -nargs=+ -complete=command TabMessage call TabMessage(<q-args>)
Run Code Online (Sandbox Code Playgroud)
现在 Ruby 的输出被放入一个新选项卡中。但是,我无法让它在一个新的、单独的窗口中弹出。更改tabnew为new仅将输出发送到同一窗口中的拆分。
另一个问题是一个visible^M被附加到每一行的末尾,所以输出最终看起来像这样,这有点麻烦:
Hello World!^M
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法将输出放入单独的窗口而不^M附加到末尾?我应该使用任何插件来实现这种类似 Textmate 的代码输出效果吗?
具体来说,我正在尝试安装 NERDtree。我从github下载了 4.10 包,将其解压缩到~/.vim/,然后重新启动 MacVim(7.3 版)。
键入:nerdtree导致以下错误:
E492: Not an editor command: nerdtree
Run Code Online (Sandbox Code Playgroud)
在终端中,键入:
cd ~/.vim
ls -R
Run Code Online (Sandbox Code Playgroud)
结果是:
Rakefile doc nerdtree_plugin plugin
./doc:
NERD_tree.txt
./nerdtree_plugin:
exec_menuitem.vim fs_menu.vim
./plugin:
NERD_tree.vim
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
从 MacVim 是否有命令可以在 Web 浏览器中打开当前编辑的 HTML 文件?
macvim ×10
vim ×8
gvim ×3
macos ×2
browser ×1
buffer ×1
gvimrc ×1
integration ×1
mac ×1
nerdtree ×1
osx-lion ×1
text-editors ×1
vi ×1
vim-plugins ×1