是否可以在vim中运行命令脚本?

时间:2013-01-08 05:33:44

标签: shell unix vim vi

在我的工作中,我无法访问vim rc文件(但是?)所以我想知道是否可以制作并运行vim命令脚本来快速启动并运行我的vi工作站。

即所有:set blahblach命令和什么不是。

谢谢!

3 个答案:

答案 0 :(得分:2)

我想找:source your-script.vim

:help source

答案 1 :(得分:2)

您有自己的/home/lilsheep/目录吗?如果是,请将您的所有设置放在~/.vimrc和插件~/.vim/

如果您无法创建这些文件和目录但能够在计算机上的某处写入,则可以使用自己的vimrc启动vim:

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

如果您想从自己的vimruntime/目录加载自己的插件,请将此行放在上面的vimrc中:

set runtimepath+=/path/to/your/vimruntime

请务必将这两行添加到vimrc,以重置其他vimrc设置的所有选项,并以nocompatible“模式启动”:

set all&
set nocompatible

答案 2 :(得分:0)

我知道你的意思/需要,我确实有自己的解决方案,不是最好的解决方案,但它有效。 :)

我知道这个解决方案是一个更完整的解决方案,但我认为这是一个更好的解决方案,而不是让Vim通过VimL做类似的事情。 ;)

基本上,你需要的是一个dotfiles文件夹和一个dotfiles repo。我不会教你如何制作一个dotfiles repo,你可以从Google找到plenty of entries

接下来,你想做的是在每台新机器上安装Git,这实际上是这种方法的唯一要求。当然还有软件。 :)

然后,你要做的就是以下几点:

# I'll be using my own dotfiles directory for these examples

# Clone my dotfiles repo to the "~/dotfiles" directory
$ git clone git@github.com:Greduan/dotfiles.git ~/dotfiles

# Run my bootstrap file
sh ~/dotfiles/bootstrap.sh

好的,这很容易,但是bootstrap.sh文件有什么作用?它做了一些事情,主要是运行其他脚本做其他事情,但它也设置了我首选的默认shell。以下是它的快速摘录:

kernel=`uname -s`  # Current Kernel name
time=`date +%H:%M` # Output current time
bootstrap=1        # Now scripts know they've been called by bootstrap file

echo "I'm gonna do some stuff for you, OK? I started doing stuff at [$time]..."

if [ $kernel == 'Darwin' ]; then
    # Set some OSX options
    source ./scripts/set_osx_defaults.sh
fi

# Make the necessary symlinks
source ./scripts/make_symlinks.sh

# Install some Homebrew stuff
source ./scripts/brew_installs.sh

# Setup Vim for first use
source ./scripts/setup_vim.sh

# Set the default shell
chsh -s /bin/zsh
sudo chsh -s /bin/zsh

# Install all submodules
git submodule update --init

echo "All right! I finished! It's [$time] right now."

所以你看它有什么作用?所有这些脚本都会执行不同的操作,因此它们不会打包在一个文件中,从而产生混淆和内容。我想引起你注意的文件是这三个文件:

# Make the necessary symlinks
source ./scripts/make_symlinks.sh

# Install some Homebrew stuff
source ./scripts/brew_installs.sh

# Setup Vim for first use
source ./scripts/setup_vim.sh

让我解释每个人做的事情......

make_symlinks.sh就是这样,它为我所关注的所有点文件运行了一堆ln -sfn -v,换句话说,它在我使用它之前配置了我使用的所有Unix内容!让它很容易运行该文件,并设置为一个新的世界机器(它还备份旧的点文件[即将推出])。

brew_installs.sh也很容易猜到。它运行了一堆精心挑选的brew install命令,或任何与Homebrew相关的命令,设置我的Unix环境以使用我喜欢的工具,而不是其他工具。

setup_vim.sh对你来说可能是最有趣的...它只是为了阻止一些错误,安装Vundle并安装所有Vundle的捆绑包而对Python进行符号链接。

以下是我的dotfiles repo的网址,如果您需要更多参考或想法:https://github.com/Greduan/dotfiles

我希望这可以回答您的问题并为您提供足够的灵感来提出您自己的解决方案。 :)