
현재 사용자가 즐겨 사용하는 텍스트 편집기를 열 수 있는 명령을 찾고 있습니다. 명령을 사용하여 블로그에 몇 가지 지침을 작성하고 있기 때문입니다. 나는 이와 같은 명령을 기대하고 있었는데 edit
그것을 발견했습니다 editor
. 저에게는 vim-gtk를 사용하는 터미널에서 vim을 실행합니다. 나는 편집자가 vim-gtk를 사용하도록 하는 방법을 찾기 시작했고,이것환경 변수 문제를 설명하고 있지만 $EDITOR
이것이 명령과 관련이 있는지 확실하지 않습니다 editor
. 나는 그것을 시도했지만 man editor
vim 매뉴얼 페이지가 표시되었습니다.
editor
선택한 텍스트 편집기를 어떻게 사용합니까 , 아니면 다른 명령을 사용해야 합니까?
답변1
이것은 데비안주의입니다(따라서 우분투, 민트 등에 존재합니다). 그들은 이라는 링크를 설정했습니다 editor
. 다음과 같이 역추적할 수 있습니다.
$ which editor
/usr/bin/editor
$ ls -l /usr/bin/editor
lrwxrwxrwx 1 root root 24 Nov 24 19:10 /usr/bin/editor -> /etc/alternatives/editor
$ ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 18 Nov 24 19:46 /etc/alternatives/editor -> /usr/bin/vim.gnome
$ ls -l /usr/bin/vim.gnome
-rwxr-xr-x 1 root root 2403392 Oct 26 2012 /usr/bin/vim.gnome
editor
따라서 이것은 실행 파일에 대한 Unix 링크일 뿐이라는 것을 알 수 있습니다 vim.gnome
.
사용 editor
?
editor
나는 이것을 표준으로 간주하는 것이 아니기 때문에 사용자에게 이것을 설정하는 의미 있는 방법을 제공하는 방향으로 갈 것이라고 생각하지 않습니다 .
또한 $EDITOR
원하는 것을 가리키도록 환경 변수를 설정할 vim
수 있습니다 gedit
. 그러나 이 변수는 와 같은 다른 도구 및 이 변수를 사용하도록 특별히 설계된 도구 emacs
에서만 사용이 보장됩니다 .sudo
git
subversion
$EDITOR
구현 아이디어
저는 여러분이 선택한 별칭을 설정하고 사용자에게 $HOME/.bashrc
파일을 통해 이를 별칭 X로 사용하거나 파일의 시스템 구성 /etc/profile.d/our_aliases.sh
(별칭 X)으로 설정하도록 지시합니다.
또는 시스템이 gedit
, , , 등을 제공한다고 사용자에게 말한 다음 설탕 코팅을 gvim
제거 하고 이러한 사항을 즉시 가르칠 수도 있습니다.vim
emacs
또는 기본 명령과 다양한 작업 수행 방법을 제공하는 /etc/help.txt
셸의 명령 help
( )을 통해 실행할 수 있는 텍스트 파일을 제공할 수 있습니다 . 이 접근 방식을 사용하면 시간이 지남에 따라 새로운 기능이나 프롬프트로 도움말을 사용자 정의할 수 있으며 단순한 편리한 명령 alias help="less /etc/help.txt"
이상의 기능을 제공합니다 .editor
답변2
일부 프로그램에 파일을 편집하라고 지시하면 편집 프로그램을 호출합니다. 환경변수는 직접 설정해야 합니다.
csh 또는 tcsh를 사용하는 경우 쉘 프롬프트에서 다음을 수행하십시오.
setenv EDITOR vim
bash 또는 ksh를 사용하는 경우 다음을 입력하십시오.
EDITOR=vim; export EDITOR
("vim"을 사용하려는 편집기로 바꾸십시오.)
EDITOR
이 변수는 일부 애플리케이션에서 편집기를 호출하는 데 기본적으로 필요합니다. VISUAL
화면 지향 편집기를 지정하는 또 다른 변수가 있습니다 . 일반적으로 EDITOR
변수와 동일한 값 으로 설정하려고 합니다 . 처음에는 EDITOR
ed(라인 기반 편집기)로 설정되고 VISUAL
vi(화면 기반 편집기)로 설정됩니다.
VISUAL="vim"; export VISUAL
VISUAL="$EDITOR"; export VISUAL #even better
이렇게 하면 텍스트 편집기를 사용하는 대부분의 Unix 프로그램은 사용자가 설정한 편집기를 사용하게 됩니다. 위 명령을 실행하면 현재 컴퓨팅 세션에 대해서만 기본 편집기가 설정됩니다. 이러한 변경 사항을 영구적으로 적용하려면 위의 적절한 명령을 .login
또는 .cshrc
파일(csh 또는 tcsh 사용자의 경우) 또는 .profile
파일(bash 또는 ksh를 사용하는 경우) 에 넣어야 합니다 .
Emacs를 사용하는 척한다면 또 다른 환경 변수가 있습니다. 는 이며 ALTERNATE_EDITOR
, 동일한 효과를 가지지만 옵션을 사용하여 Emacs를 호출할 때 사용됩니다 --alternate-editor
.
~에서GNU Emacs 매뉴얼:
이 옵션은 스크립트 내에서 실행할 때
--alternate-editor=command
유용합니다 .emacsclient
Emacs에 접속할 수 없을 때 실행할 명령을 지정합니다 .emacsclient
예를 들어, 다음 환경 변수 설정은EDITOR
Emacs가 실행되고 있지 않더라도 항상 편집기를 제공합니다.EDITOR="emacsclient --alternate-editor vi +%d %s"
답변3
editor
환경 변수에 이를 지정 해야 합니다 EDITOR
. 다음 명령을 다음 명령에 추가합니다 .profile
.
export EDITOR=editor
vim
기본 편집기로 원하는 경우 추가할 수 있습니다.
export EDITOR=vim
개인 취향: 환경 변수에서 편집기의 절대 경로 이름을 사용합니다. 예를 들어,
export EDITOR=/usr/bin/vim
답변4
이것이 내가 스크립트에서 사용하는 것입니다:
# Find a suitable text editor
editor="$VISUAL"
[ -z "$editor" ] && editor="$EDITOR"
[ -z "$editor" ] && which editor >/dev/null && editor=editor
[ -z "$editor" ] && which nano >/dev/null && editor=nano
[ -z "$editor" ] && which vi >/dev/null && editor=vi
[ -z "$editor" ] && editor=no_editor_found
# Use the editor we found
$editor "$filename"
$editor
위의 emacsclient 예제가 작동하는지 확인하기 위해 최종 호출에 따옴표를 넣지 않았습니다 .
editor
따라서 항상 마지막 줄에 어떤 값을 설정하는 것이 중요하다고 생각합니다.의도치 않게 수행될 수 있음 $파일이름. 제 경우에는 를 선택했는데 , or 거기도 no_editor_found
동일하게 사용하실 수 있습니다 .pico
ed