首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使.bashrc别名在vim命令中可用?(:!)

如何使.bashrc别名在vim命令中可用?(:!)
EN

Stack Overflow用户
提问于 2011-01-09 16:38:49
回答 5查看 23.1K关注 0票数 112

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
alias gitlog='git --no-pager  log -n 20 --pretty=format:%h%x09%an%x09%ad%x09%s --date=short --no-merges'

但是当我做的时候

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 :! gitlog

我得到了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/bin/bash: gitlog: command not found 

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[alias]
    co = checkout
    st = status
    ci = commit
    br = branch
    df = diff

但是,我不想将所有bash别名添加到.gitconfig中。这可不是干的。

有没有更好的解决办法?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-01-09 16:48:58

Bash不会加载您的.bashrc,除非它是交互式的。

运行:set shellcmdflag=-ic将其设置为当前会话的交互式。

要使设置永久化,请将set set shellcmdflag=-ic添加到.vimrc文件的末尾。

在向shell发送命令之前,请使用!。例如::! cd folder/

票数 123
EN

Stack Overflow用户

发布于 2013-11-06 09:44:39

我知道这个问题以前已经“回答”了,但我对答案有问题。shell不需要设置为Vim中的交互式。请参阅此线程,以获得另一个答案,而不必退出交互式shell。

如果您想要非交互式shell (默认情况下)但是要扩展bash别名,请将别名定义放入文件中,例如.bash_aliases,并显式地启用此文件中的别名扩展:

shopt -s expand_aliases别名la='ls -la‘

然后将其添加到您的.vimrc中,这样每次在vim中运行shell命令时都会读取别名文件:

设$BASH_ENV =“~/..bash_aliases”

这一解决办法是"Jakob“提出的。有关原件,请参阅下面的链接。我在MacOSX10.9上测试了这个,它运行得完美无缺!

vim -- not recognizing aliases when in interactive mode?

票数 94
EN

Stack Overflow用户

发布于 2017-07-03 03:55:00

我知道这可能是个老生常谈的问题,但上面的答案对我来说都不像我所期望的那样有效。因此,对于那些从googling到这里来的用户和(噢,我的-)zsh用户:

我对此的解决方案就像将.zshrc复制到.zshenv一样简单,就像按照http://zsh.sourceforge.net/Intro/intro_3.html那样。

.zshenv' is sourced on all invocations of the shell, unless the -f option is set. It should contain commands to set the command search path, plus other important environment variables..zshenv‘不应包含生成输出或假定shell附加到tty的命令。

所以$ cp ~/.zshrc ~/.zshenv会做这件事。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4642822

复制
相关文章
Shell中的命令别名、命令历史和命令替换
命令别名 可以使用alias命令查看和修改命令别名。 下面是一个查看系统中命令别名的示例: $ alias alias alert='notify-send --urgency=low -i "$([
mwangblog
2018/07/04
1.5K0
linux中 bashrc文件的alias添加快捷命令
通过  vi .bashrc  在里面输入  :  alias redis='redis-cli -h 127.0.0.1 -p 6379 -a df -n 3'          命令保存后退出
用户1558882
2018/10/11
4.6K0
vim中的翻页命令[通俗易懂]
zz 让光标所杂的行居屏幕中央 zt 让光标所杂的行居屏幕最上一行 t=top zb 让光标所杂的行居屏幕最下一行 b=bottom
全栈程序员站长
2022/09/05
3.7K0
linux中vim如何显示行数,vim 在linux下中如何设置显示行数「建议收藏」
softtabstop:表示在编辑模式的时候按退格键的时候退回缩进的长度,当使用 expandtab 时特别有用。
全栈程序员站长
2022/11/16
6.6K0
vim中翻页的命令
整页翻页 ctrl-f ctrl-b f就是forword b就是backward
全栈程序员站长
2022/09/05
1.1K0
vim中的翻页命令
zz 让光标所杂的行居屏幕中央 zt 让光标所杂的行居屏幕最上一行 t=top zb 让光标所杂的行居屏幕最下一行 b=bottom
用户2965768
2018/08/30
2.9K0
在DragonOS中,使蜂鸣器发声
很简单,代码如下: void beep(uint64_t times) { io_out8(0x43, 182&0xff); io_out8(0x42, 2280&0xff); io_out8(0x42, (2280>>8)&0xff); uint32_t x = io_in8(0x61)&0xff; x |= 3; io_out8(0x61, x&0xff); times *= 10000; for(uint64_t i=0;i<times
灯珑LoGin
2022/10/31
4150
ElasticSearch(7.2.2)-es之索引别名的使⽤
在开发中,随着业务需求的迭代,较⽼的业务逻辑就要⾯临更新甚⾄是重构,⽽对于es来说,为了适应新的业务逻辑,可能就要对原有的索引做⼀些修改,⽐如对某些字段做调整,甚⾄是重建索引。⽽做这些操作的时候,可能会对业务造成影响,甚⾄是停机调整等问题。由此,es提供了索引别名来解决这些问题。 索引别名就像⼀个快捷⽅式或是软连接,可以指向⼀个或多个索引,也可 以给任意⼀个需要索引名的API来使⽤。别名的应⽤为程序提供了极⼤地灵活性
cwl_java
2019/11/03
2.9K0
Git | 创建命令别名
比如,我们想查看当前 git 的全局配置信息,就需要在终端中输入 :git config --global -l 。如果我们为命令 config --global -l 起一个别名为 cgl ,则仅需要在终端中输入 git cgl。两个命令执行的效果是一致的。
CnPeng
2023/01/11
1.8K0
Mac设置命令别名
文件中添加 /Users/xxx/.bash_profile 添加别名命令: alias pull='git pull origin' 注意:等号后面不能有空格 从新读取配置文件: source ~/.bash_profile 查看别名配置: alias
代码改变世界-coding
2018/07/03
1.4K0
命令别名:定义自己的命令
命令别名(Alias)在 Linux shell 中指的是将一些太长或者太难记的多个命令组合起来,成为一个由用户自己构建的命令。
用户8639654
2021/10/18
8970
vim命令
光标移动: h,j,k,l h #表示往左,j表示往下,k表示往右,l表示往上 Ctrl f #上一页 Ctrl b #下一页 w, e, W, E #跳到单词的后面,小写包括标点 b, B #以单词为单位往前跳动光标,小写包含标点 O #开启新的一行 ^ #一行的开始 $ #一行的结尾 gg #文档的第一行 [N]G #文档的第N行或者最后一行 插
二十三年蝉
2018/08/27
5240
linux中为常用命令创建快捷方式
作为运维人员,我们每天要敲很多重复的命令,有些是组合命令,可能很长。如果我们能简写这些命令,那么我们的工作效率将大大提高。 Linux 中的别名是什么? 别名是用户创建的自定义命令,用于执行另一个通常更复杂的命令或命令组。因此,它是引用命令的快捷方式。换句话说,别名是快捷命令,它的功能与我们编写整个命令的功能相同。 例如,你可以将别名设置tgz为tar -xvzf命令的快捷方式。你已经发现创建别名使你的命令行生活更轻松非常有帮助。 列出当前定义的 Linux 别名 只需执行alias 命令,你就可以在你的配
入门笔记
2022/06/02
1.1K0
【程序猿硬核科普】由最近的删库事件联想到的一些看法 | 更改rm命令实现Linux下的回收站机制
比如研发人员无法对数据库本身进行操作,只能通过页面级的控制台进行数据项的更新及简单运维操作,部分敏感表或数据项的操作需主管审批。
浩Coding
2020/03/04
9050
终端文本编辑神器--Vim命令详解。如何配置Vim以及Vim插件?
Vim是一款跨平台的文本编辑器,不但可以运行在Unix,还可以运行在GNU、Windows平台,并且还支持丰富的插件,助力开发和使用。
Mintimate
2021/08/24
2.4K0
终端文本编辑神器--Vim命令详解。如何配置Vim以及Vim插件?
如何使程序在Linux后台运行
这样一来,test程序就在后台运行了。但是,这样处理还不够,因为这样做虽然程序是在后台运行了,但log依然不停的输出到当前终端。因此,要让终端彻底的清静,还应将log重定向到指定的文件:
阿凡亮
2020/04/14
8.8K0
linux vim命令保存退出_vim退出命令
使用vim命令打开一个文件: 例如,打开openwrt系统下的system配置文件
全栈程序员站长
2022/09/23
23K0
vim 命令
vim [options] [file ..] vim [options] – vim [options] -t tag vim [options] -q [errorfile]
全栈程序员站长
2021/04/25
9450
点击加载更多

相似问题

如何使.bashrc别名在vim ':!some_command‘shell命令中可用?

10

理解bashrc别名命令

11

如何在.bashrc中为ssh命令创建别名?

113

如何映射(别名?)vim中的命令

20

.bashrc中的命令在Emacs中不可用

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文