2

我在多个 MAC OS X 系统上工作,这些系统在注销后不保存更改。如您所知,每台新 Mac 上都有 VIM,只需在终端中输入 vim 即可。我总是带着我的 vimrc 文件,问题是每次我启动 vim 时我都必须用:so命令加载它。

我想利用 vim 在每个 unix 上都可用的事实,但我也想利用与终端的漂亮集成来进行快速测试,我只是切换回终端,但为此我需要关闭 vim。当我重新打开它时,我必须再次加载 vimrc。而且我是新手,我什至没有插件...

我想保持与终端的集成,并且只开发一种超级快速的方式来将我的更改引入 vim。把这些条件想象成好像你正坐在新安装的操作系统上。

谢谢 !

4

3 回答 3

5

不是直接针对您的问题,但您始终可以使用 调用 vim -u,这将让您指定您的 vimrc 文件,而不是启动 vim 然后运行:so​​.

.vimrc您的文件的默认位置是~/.vimrc(在 mac 上,~/Users/_you_,例如/Users/matt)。如果你可以在那里写你的文件,它会在每次 vim 启动时加载。

mac 上的系统 vimrc 文件位于/usr/share/vim/vimrc,但听起来这些系统不在你的控制之下,所以你将无法写入该文件。看看:如何在 vim 中覆盖 ~/.vim 和 ~/.vimrc 路径(但没有其他路径)?,它使用该-u选项来更改 vim 在下查找插件的路径。但是,在所有情况下,您必须能够将您的主目录写入您.vimrc的主目录(听起来您的系统不允许)或在运行时指定它的路径(如我上面提到的命令行选项,或者使用:so您当前正在使用的普通命令)。

根据您需要进行的测试类型,您始终可以使用!in normal 模式在 vim 中运行 shell 命令。例如,我经常在缓冲区中对 python 文件进行更改,然后(在正常模式下)!nosetests在 vim 中运行——它将终端输出写入底部的临时缓冲区,并且不需要我离开或挂起 vim。我可以查看输出,任何按键都会将我带回缓冲区。

于 2012-12-19T17:22:51.153 回答
3

我对 Mac-Os 终端没有任何经验。但是我想如果你可以将你的 .vimrc 文件复制到你的主目录。每次你启动 vim,vim 都会从你的主目录加载 .vimrc 文件。

如果您想从 vim 切换回终端以进行一些测试/执行一些命令并返回 vim。你可以考虑:

  • 打开多个终端窗口
  • 尝试类似 screen 或 tmux 的东西。个人我正在使用 tmux,它非常好。
  • 试试 Conque Shell 插件:http ://www.vim.org/scripts/script.php?script_id=2771我也安装了这个插件。
  • 在 vim 中键入 Ctrl-z 以返回终端

如果你想在不同的机器上同步你的 .vimrc,你可以把你的 .vimrc 文件放在

  • 像 gitHub、bitbucket 这样的 scm 存储库...(我更喜欢这个选项,因为您可以为不同的设置设置不同的分支)

  • 保管箱

    我希望这有帮助。

于 2012-12-19T17:23:56.347 回答
2

注销后如何不保存您的更改?这样的机器有什么意义?机场的上网亭?您是否以没有“主”目录的用户身份登录?

如果您有一个“主”目录,只需创建一个空白~/.vimrc并将您的设置放在那里。

如果您没有“主”目录但您可以在其他地方写入,请在可以的地方创建一个空白vimrc文件,在那里写入您的设置并牢记此命令:

$ vim -u /path/to/your/vimrc

如果您没有“主”目录并且您确实确定无法在这些机器上保存任何内容,请将您的设置放在在线某个文件中,最好是在您控制的地方,并记住这个命令:

$ vim -u http://domain.name/yourvimrc

如果你幸运的话,你使用的命令会被你的 shell 记住,并且很容易再次发出它而无需输入太多。

为了运行您的测试,您可以:

  • 点击<C-z>暂停 Vim。你回到了你启动 Vim 的提示符处,你可以做你的事了。键入$ fg以返回 Vim。

  • 键入:sh以从当前目录启动新的 shell。要返回 Vim,请键入$ exit.

于 2012-12-19T18:07:49.397 回答