vim shell 명령 내에서 .bashrc 별칭을 사용하려면 어떻게 해야 합니까? (:!...)
저는 mac에서 bash를 사용하는데, 에일리어스 중 하나가 이렇습니다.
alias gitlog='git --no-pager log -n 20 --pretty=format:%h%x09%an%x09%ad%x09%s --date=short --no-merges'
하지만 내가 할 때
:! gitlog
나는 이해한다
/bin/bash: gitlog: command not found
이러한 에일리어스를 .gitconfig에 추가할 수 있습니다.
[alias]
co = checkout
st = status
ci = commit
br = branch
df = diff
단, 모든 bash 에일리어스를 .gitconfig에 추가하고 싶지는 않습니다.그건 드라이가 아니에요.
더 좋은 해결책이 있을까요?
Bash가 로드하지 않음.bashrc
인터랙티브하지 않으면요
달려.:set shellcmdflag=-ic
현재 세션에서 인터랙티브로 설정합니다.
설정을 영속적으로 하려면 , 세트를 추가합니다.set shellcmdflag=-ic
끝까지.vimrc
파일.
뱅을 사용하다(!
명령어를 셸로 전송하기 전에)을 클릭합니다.예를 들어 다음과 같습니다.:! cd folder/
.
이 질문에 대해 이미 "답변"한 것은 알지만, 답변에 문제가 있습니다.Vim에서는 셸을 인터랙티브하게 설정할 필요가 없습니다.인터랙티브 셸을 종료하지 않고 대체 답변을 보려면 이 스레드를 참조하십시오.
인터랙티브하지 않은 셸(기본값)에서 bash 에일리어스를 확장하는 경우 에일리어스 정의를 .bash_aliases 등의 파일에 저장하고 이 파일에서 에일리어스 확장을 명시적으로 이니블로 합니다.
shopt -s expand_aliases alias la='ls -la'
그런 다음 vimrc에 이 항목을 추가하여 vim 내에서 셸 명령을 실행할 때마다 별칭 파일을 실제로 읽습니다.
let $BASH_ENV = "~/.bash_aliases"
이 솔루션은 "Jakob"에 의해 제안되었습니다.원본은 아래 링크를 참조하십시오.Mac OS X 10.9에서 테스트했는데 완벽하게 작동했어요!
vim -- 대화형 모드에서 별칭을 인식하지 못합니다.
오래된 질문인 것은 알지만, 위의 답변 중 원하는 것이 하나도 없습니다.구글에서 오신 분들과 (어머나)zsh 사용자분들께는
이에 대한 저의 솔루션은 http://zsh.sourceforge.net/Intro/intro_3.html에 따라 .zshrc를 .zhenv로 복사하는 것만으로 충분했습니다.
.zhenv'는 -f 옵션이 설정되어 있지 않은 한 셸의 모든 호출에서 발신됩니다.명령어 검색 경로를 설정하는 명령어와 기타 중요한 환경변수가 포함되어 있어야 합니다..zhenv'는 출력을 생성하는 명령어를 포함하거나 셸이 tty에 연결되어 있다고 가정해서는 안 됩니다.
그렇게$ cp ~/.zshrc ~/.zshenv
할 수 있을 거야
bash 닷 파일의 설정 방법에 따라서는, -i 옵션이 아닌 -l 를 사용하는 경우가 있습니다.그러면 셸이 로그인 셸로 실행됩니다.
옵션은 꽤하기 때문에 -i 옵션을 하는 것은 스럽지 않습니다.-i는 vim에서 을 사용하고 . 제가 할 은 '아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아...:!bash -c ". ~/.alias; gitlog"
언급URL : https://stackoverflow.com/questions/4642822/how-to-make-bashrc-aliases-available-within-a-vim-shell-command
'programing' 카테고리의 다른 글
목표-C: 경로 문자열에서 파일 이름 추출 (0) | 2023.04.19 |
---|---|
ListBox 항목용 DataTemplate의 IsSelected에 대한 WPF 트리거 (0) | 2023.04.19 |
Oracle의 행과 동등SQL Server의 ID (0) | 2023.04.13 |
Excel 날짜에서 Unix 타임스탬프까지 (0) | 2023.04.13 |
왜 "while(!feof(file)"은 항상 잘못된 것일까요? (0) | 2023.04.13 |