명령에 별칭을 사용하는 방법은 무엇입니까?

명령에 별칭을 사용하는 방법은 무엇입니까?

aliases내 파일에 자주 사용되는 다양한 긴 경로가 생성되어 있지만 내부적으로 또는 또는 와 같은 명령을 통해 .bashrc사용할 수 없는 것 같습니다 . 예를 들어 다음:은 cli에서는 작동 하지만 vim: 또는 명령줄에서는 작동하지 않습니다. 이 문제는 어떻게 해결되나요?vimfindgrep

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. 모든 프로그램이 이를 확장하는 것은 아니지만 :eVim은 다른 프로그램으로 파일을 열 때 확장합니다.

답변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다시 연락드리겠습니다.

관련 정보