相关疑难解决方法(0)

从vim执行的命令无法识别bash命令别名

我在mac上使用bash,其中一个别名是这样的

alias gitlog='git --no-pager  log -n 20 --pretty=format:%h%x09%an%x09%ad%x09%s --date=short --no-merges'
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做

 :! gitlog
Run Code Online (Sandbox Code Playgroud)

我明白了

/bin/bash: gitlog: command not found 
Run Code Online (Sandbox Code Playgroud)

我知道我可以在我的.gitconfig中添加这样的别名

[alias]
    co = checkout
    st = status
    ci = commit
    br = branch
    df = diff
Run Code Online (Sandbox Code Playgroud)

但是,我不想将所有bash别名添加到.gitconfig.那不是干.

有更好的解决方案吗?

vim bash alias

92
推荐指数
4
解决办法
2万
查看次数

vim - 在交互模式下不识别别名?

从vim执行的命令相同的问题是没有识别bash命令别名,但是那里的解决方案不起作用.

我在〜/ .vimrc中设置了这些变量:

set shellcmdflag=-ic
set shell=/bin/bash\ -i
Run Code Online (Sandbox Code Playgroud)

我的〜/ .bash_aliases中有别名:

rgr() { if [ ! -z "$2" ]; then grep -rI --exclude=\*.svn\* "$1" * --include=$2 ; else grep -rI --exclude=*svn* "$1" * ; fi ; }
Run Code Online (Sandbox Code Playgroud)

从命令行执行时,它工作,但当我尝试从vim(:!rgr test)调用它时,我收到一条错误消息,vim退出:

bash: rgr: command not found

[4]+  Stopped                 vi ~/somefile
Run Code Online (Sandbox Code Playgroud)

如果我禁用交互模式,我只是得到"命令未找到"消息,并且vim不会退出.

如何让vim识别我的别名?我在OS X和Ubuntu上都重现了这种行为.

vim bash

21
推荐指数
3
解决办法
7204
查看次数

标签 统计

bash ×2

vim ×2

alias ×1