gpt4 book ai didi

windows - 在 cygwin-vim 和 windows-gvim 之间共享 vim 配置并启动它的最佳方法

转载 作者:可可西里 更新时间:2023-11-01 13:20:19 25 4
gpt4 key购买 nike

我正在尝试设置我的 cygwin 环境。由于我是vim用户,所以想在cygwin和windows上轻松使用。

分享vim配置

我首先关心的是在它们两者之间共享配置(.vimrc/_vimrc 和 .vim/_vimfiles)。事实上,我最近在 github 上托管了我的 vim 配置,并试图通过 github 更新我的插件。

所以我进行了一些谷歌搜索以找到最好的方法,但我没能找到一个“好的解决方案”(虽然不容易定义......)。无论如何,很多人似乎都同意最好使用 windows-gvim 而不是 cygwin-gvim(由于 X 问题,我未能使用 cygwin-gvim,但我不想进一步研究)。所以第一个问题:这是真的吗?!

然后我试图找到一些基于windows-gvim的解决方案。目前,我已经链接了 win 环境。在 cyg 环境中:

.vim -> /cygdrive/d/Program Files/Vim/vimfiles/
.vimrc -> /cygdrive/d/Program Files/Vim/_vimrc

但是当我从 cygwin 打开 gvim 时它失败了。我认为 win-gvim 无法读取 cygwin 的模拟链接。

我试图链接 vimfiles 目录(所以 win side)但是他们 win-gvim 也找不到任何东西!我不明白的是为什么从 cygwin 启动的 win-gvim 会查看我的 cygwin 主目录中的文件?!

我读到可以在 Windows 中声明一个 HOME 变量来帮助 win-vim,但我担心它会产生副作用...

这就是配置配置...有人有解决方案吗?

启动 vim

此外,为了启动 gvim,我使用了一个函数的别名,该函数在 winpaths 中转换 cigpaths:

winfilepath () {
# Extract command
cmd="$1"
shift
# Computes file paths
allfiles=""
if [[ ! -z "$@" ]]; then
while read f
do
newpath=`cygpath -w $f`
allfiles="$allfiles $newpath"
done < <(echo "$@" )
fi

# Launch command
echo "winfilepath: "$cmd $allfiles
$cmd $allfiles
}

alias gvim="winfilepath gvim \"$@\""
alias gvimdiff="winfilepath gvimdiff \"$@\""

# Open Windows explorer with file
alias winopen="winfilepath \"explorer.exe /select,\" \"$@\""

这是一种好的做法吗?

谢谢你的帮助:)

扑通扑通

最佳答案

我将我的点文件保存在 Dropbox 中。该文件夹是 C:\Dropbox\dotfiles。为了在 windows 和 cygwin 之间使用它们,这是我所做的:

Cygwin 方面:

~ $ ln -s /cygdrive/c/Dropbox/dotfiles/.vimrc
~ $ ln -s /cygdrive/c/Dropbox/dotfiles/.gvimrc
~ $ ln -s /cygdrive/c/Dropbox/dotfiles/.vim

负责 cygwin 中的 vim(终端 vim 和 gtk gvim)

Windows 端:

C:\Users\Bryan>mklink _vimrc C:\Dropbox\dotfiles\.vimrc
C:\Users\Bryan>mklink _gvimrc C:\Dropbox\dotfiles\.gvimrc
C:\Users\Bryan>mklink /D vimfiles C:\Dropbox\dotfiles\.vim

这会处理 windows vim(命令行 vim 和 windows gvim)

这已经为我成功工作了大约两年。

关于windows - 在 cygwin-vim 和 windows-gvim 之间共享 vim 配置并启动它的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7056941/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com