Open regedarek opened 7 years ago
That's cool, I just took this idea and updated a new version which use the vim native &shell
and &shellcmdflag
config to execute commands.
You can have the latest version to execute your zsh commands now.
Nice. Maybe i am doing something wrong I have zsh now but i can't use my aliases from .zshrc.
check the shellcmdflag, commands are executed like these:
zsh -c "YOUR COMMANDS"
maybe you can try to change shellcmdflag from "-c" to "-ci":
:set shellcmdflag=-ci
I use win10, the below is the cofiguration in _vimrc to use cygwin shell:
" Makes bash open in the working directory
let $CHERE_INVOKING=1
" Default path for Cygwin 64-bit, change accordingly
set shell=D:\pfs\cygwin\bin\bash.exe\ --login
" Without --login, Cygwin won't mount some directories such as /usr/bin/
set shellcmdflag=--login\ -c
" Default value is (, but bash needs "
set shellxquote=\"
" Paths will use / instead of \
set shellslash
I run:
:AsyncRun ls
But I get the error below:
|| [ls]
|| /usr/bin/bash: C:/Users/user/AppData/Local/Tempasyncrun.cmd: No such file or directory
|| [Finished in 0 seconds with code 127]
What cause the issue?
别把 shell/shellcmdflag 设置成 cygwin,坑太多了,windows 下的 vim 不是给你这样用的,你这样设置不当 asyncrun 要出错,其他很多用 shell 工具的地方都要出错。
你想再 windows 下用很多 unix 工具,安装个 busybox 就行了。你实在想用 asyncrun 跑 cygwin 命令,可以:
:AsyncRun D:\pfs\cygwin\bin\bash.exe --login -c "ls -la"
嫌弃命令长,你可以自己定一个短点的,比如叫做 AsyncCygwin
另外,你 windows 10 的话,为什么不用 wsl 呢?AsyncRun 支持 wsl 命令:
:AsyncRun -program=wsl ls -la
谢谢。用Cygwin主要是办公环境用于交叉编译的需要,其他在考虑中,不过短时间内还不好切换。
那你设置 &shell 成 cygwin 这个操作麻烦了,导致内外路径都对不起来。
I "solved" this for myself by creating a separate zshrc file. I run AsyncRun a lot. Your mileage may vary.
~/.zshrc-lite
contains only the functionality I want in AsyncRun since loading my proper ~/.zshrc
is too slow~/.zshrc
sources ~/.zshrc-lite
:AsyncRun -mode=term source ~/.zshrc-light &&
<- with space on the end so I can type the command right away
Hi, Is this plugin able to run command in my zsh shell with aliases I have in zshrc?