相关疑难解决方法(0)

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
查看次数

如何在.bashrc中创建vim调用函数?

环境:debian9 + vim7.4.

   cat .bashrc
   add(){
        echo $(expr $1 + $2)
    }
Run Code Online (Sandbox Code Playgroud)

现在在vim中编辑一个文件

add 1 5 
Run Code Online (Sandbox Code Playgroud)

在命令模式下运行它:w !bash,发生错误.

bash: line 1: add: command not found    
shell returned 127
Run Code Online (Sandbox Code Playgroud)

1. set shellcmdflag=-ic 在/ etc/vim/vimrc和.bashrc以及.vimrc中添加.
2.reboot
3.vim test.sh
进入命令模式
:verbose set shellcmdflag

  shellcmdflag=-ic
        Last set from ~/.vimrc
Run Code Online (Sandbox Code Playgroud)

4.在test.sh中输入两行

ls
add  5  6

:w !bash     
a1.sh       test.py    
bash: line 2: add: command not found    
shell returned 127    
Run Code Online (Sandbox Code Playgroud)

如何使两条线都执行? 在此输入图像描述
在此输入图像描述

:execute '! source ~/.bashrc; source '.expand('%:p')可以发出两个命令:lsadd运行.

重启后,
1.add函数无法调用 …

vim bash function

11
推荐指数
2
解决办法
1528
查看次数

为什么我的vim不知道我的别名?

我使用了"alias ruby​​ = ruby​​1.9.1",所以我可以用这个来执行我的ruby:

红宝石123.rb

要么

ruby1.9.1 123.rb

但在我的vim中,我使用:!ruby和get/bin/bash:ruby:命令未找到.

我必须使用:!ruby1.9.1

别名如何工作?为什么vim不知道呢?

vim alias

8
推荐指数
1
解决办法
1688
查看次数

在Vim中执行Bash功能 - 我该怎么做?

可能重复:
从vim执行的命令无法识别bash命令别名

我的〜/ .bashrc文件中有以下函数(在我的Ubunut框中)

# convert tex to pdf, no bib 
function t2p {
    latex $1 && latex $1 && dvips $1 -o $1.ps && ps2pdf $1.ps && rm -f $1.dvi }

# convert tex to pdf, with bib 
function tb2p {
    latex $1 && bibtex $1 && latex $1 && latex $1 && dvips $1 -o $1.ps && ps2pdf $1.ps && rm -f $1.dvi }
Run Code Online (Sandbox Code Playgroud)

例如,要将tex文件f.tex转换为pdf文件并以正确的顺序bibtex,我调用tb2p f.如果我在Bash终端,这非常有效.但是,要从Vim内部进入Bash提示符,我实际上必须执行命令:sh first.

为了简化上述过程,我尝试通过以下方式在Vim中执行函数 …

vim bash

8
推荐指数
1
解决办法
5513
查看次数

vim:如何通过':'调用别名 指示?

可能重复:
从vim执行的命令无法识别bash命令别名

我创建了一个名为"cache"的别名:alias cache ="[shell command]"

使用vim,我想通过':'来称呼这个别名 指令,但我可以调用像'date'这样的"标准"命令等等?

怎么可能让vim使用我的shell别名?

vim

5
推荐指数
1
解决办法
2601
查看次数

我的.bashrc中的vim - run:!命令

可能重复:
从vim执行的命令无法识别bash命令别名
为什么我的vim不知道我的别名?

说我alias kapow='grep' 在我的.bashrc中设置 ,我之后来源.

我打开vim,键入

:!kapow "dude"

但是当我真的希望它运行我的别名时,vim会尝试运行/ bin/bash kapow.

如何从vim内部的bashrc运行命令(不留下:shell)?

vim bash

5
推荐指数
1
解决办法
1447
查看次数

标签 统计

vim ×6

bash ×4

alias ×1

function ×1