it-swarm-tr.com

GÖRSEL ve EDİTÖR - fark nedir?

Genellikle VISUAL ve EDITOR ortam değişkenlerini aynı şeye ayarladım, ama fark nedir? Onları neden farklı ayarlayayım ki? Uygulamaları geliştirirken, VISUAL'den önce EDITOR 'e bakmayı ya da tam tersini neden seçmeliyim?

196
xenoterracide

EDITOR düzenleyicisi, "gelişmiş" terminal işlevselliği kullanılmadan çalışabilmelidir (eski ed veya exvi modu gibi). Teletip terminallerinde kullanıldı.

VISUAL düzenleyicisi vi veya emacs olarak tam ekran düzenleyici olabilir.

Örneğin. bir düzenleyiciyi bash üzerinden çağırırsanız (C-x C-e), bash önce VISUAL düzenleyicisini dener ve sonra VISUAL başarısız olursa (terminal tam ekran düzenleyiciyi desteklemediğinden), EDITOR dener.

Günümüzde, EDITOR ayarını bırakabilir veya vi -e.

157
andcoz

$VISUAL 'Un grafiksel ve $EDITOR Komut satırı olduğu sonucuna vardım. Tanımsızsa, $VISUAL arayan her şey sonra $EDITOR 'U denemelidir.

(Alıntı gerekli: Belki bir man sayfası veya POSIX spesifikasyonu, uygun belgeleri almak isterim?)

Şu anda ~/.bashrc Ve ~/.zshrc Klasörlerinde böyle şeyler var:

EDITOR="$(command -v vim)"

# we have gvim, not in an SSH term, and the X11 display number is under 10
if command -v gvim >/dev/null 2>&1 \
&& [ "$SSH_TTY$DISPLAY" = "${DISPLAY#*:[1-9][0-9]}" ]; then
  export VISUAL="$(command -v gvim) -f"
  Sudo_EDITOR="$VISUAL"
else
  Sudo_EDITOR="$EDITOR"
fi

gvim olmadan -f, düzenlemeleriniz üzerinde işlem yapmayı bekleyen programlarla çalışmaz. Bu kesinlikle sudoeditor (Sudo -e) İçerir.

Vim yolunda boşluk varsa bu kırılabilir. Bu bir sorunsa, doğru şekilde kurun veya /usr/local/bin/gvim Gibi sembolik bağlantıları düşünün.

3
Adam Katz

Bazı araçlar yalnızca EDITOR'u kabul eder, örneğin Shell yerleşkesi fc:

-e ENAME  select which editor to use.  Default is FCEDIT, then EDITOR, then vi
2
Steven Penny

Vi ya da benzerinin başarısız olacağı herhangi bir ortam olmadığı için VISUAL'i bir X DISPLAY ve ex EDITOR gerektiren bir şeye ayarladım.

Çoğunlukla, bazı programlar VISUAL kullanmadığında bu bana sorun çıkarıyor gibi görünüyor.

0