aliases
내 파일에 자주 사용되는 다양한 긴 경로가 생성되어 있지만 내부적으로 또는 또는 와 같은 명령을 통해 .bashrc
사용할 수 없는 것 같습니다 . 예를 들어 다음:은 cli에서는 작동 하지만 vim: 또는 명령줄에서는 작동하지 않습니다. 이 문제는 어떻게 해결되나요?vim
find
grep
db
cd /some/very/long/path/db
:e db/file.java
grep -r string db
답변1
이 디렉터리에 대한 환경 변수를 설정할 수 있습니다.
# Making the variable name consist entirely of capital letters makes the
# variable less likely to conflict with other variables in scripts. You can
# make the variable name consist of lowercase letters but you may run
# into problems.
export DB=/some/very/long/path/db
그런 다음 Vim에서 내보낸 변수를 다음과 같이 사용할 수 있습니다.
:e $DB/file.java
셸에서:
grep -r string $DB
Vim과 bash의 변수 대체 도구는 서로 완전히 독립적입니다. Vim은 bash(및 기타 여러 쉘)와 유사한 방식으로 환경 변수를 대체합니다.
답변2
별칭을 사용하면 명령과 일부 매개변수에 대한 짧은 이름을 지정할 수 있습니다. 명령이 필요한 경우에만 확장됩니다. 파일 경로를 축약하는 데 사용할 수 없습니다.
게다가 .bashrc
대화형 셸에서만 읽을 수 있으므로 정의한 내용은 Vim에 입력한 명령에서는 사용할 수 없습니다.
파일이나 디렉터리에 대한 바로가기를 원하면 바로가기를 만드세요.심볼릭 링크그것에.
ln -s /some/very/long/path/db ~/db
grep -r string ~/db
vim ~/db/file.java
환경 변수를 정의하여 문자열을 축약할 수 있습니다. 환경 변수 정의가 제공됩니다 ~/.profile
. 모든 프로그램이 이를 확장하는 것은 아니지만 :e
Vim은 다른 프로그램으로 파일을 열 때 확장합니다.
답변3
별칭과 관련하여 .bashrc
당신이 할 수 있는 일에 놀라게 될 것입니다 . 나는 그것을 시도했기 때문에 효과가 있다고 알고 있는 몇 가지 예를 들겠습니다.
alias Documents='/home/username/Documents'
작동하지만 혼자는 아닙니다.alias Open='cd'
와 짝을 이루고 do를 입력source .bashrc
한 후 를 입력하면Open Documents
를 입력한 것처럼 실행됩니다cd /home/username/Documents
.또는 다음을 수행할 수 있습니다.
alias Documents='cd home/username/Documents'
, 그런 다음 ;source .bashrc
를 입력하면Documents
동일한 작업이 수행Open Documents
됩니다cd home/username/Documents
.
내가 말했듯이 별칭을 사용하면 많은 일을 할 수 있습니다. 결국 .bashrc
, 당신이 해야 할 일은 상상력을 발휘하고 생각해낸 것이 효과가 있는지 확인하는 것뿐입니다.
조사한 후 vim
다시 연락드리겠습니다.