Para que serve o EMACS?

Boa tarde, ao iniciar meu computador, que se encontra com Linux Ubuntu. Pude perceber um programa que não tinha antes, que é chamado de Emacs, poderia me ajudar a entender o que é, como funciona, se é algo que posso deixar no meu OS, são algumas dúvidas. Me ajudem pfvr!

Emacs é um editor de texto com várias funcionalidades, tanto que o pessoal brinca que o Emacs é um sistema operacional com um editor de texto.

Tenha em mente que o Emacs, assim como o vim, não é um editor de texto convencional como o Bloco de Notas do Windows. Para mexer nele você tem que aprender muita coisa nova.

Se ele foi instalado de forma não intencional por você, provavelmente ele é dependência de outro programa. Que programas você instalou em seu sistema na última vez que você usou o Ubuntu?

Via terminal, você pode usar o comando apt-cache rdepends <nome_do_pacote>, no caso do Emacs (apt-cache rdepends emacs) temos os pacotes abaixo. Veja se você instalou algum deles.

emacspeak
|git-el
|gettext-el
|emacs-mozc
|yaml-mode
|x-face-el
|wl-beta
|wl
|whizzytex
|w3m-el-snapshot
|w3m-el
|verilog-mode
|twittering-mode
|tuareg-mode
|tiarra-conf-el
|tdiary-mode
|supercollider-emacs
|skktools
 singular-ui-emacs
|semi
|select-xface
|riece
|rdtool-elisp
|rail
|rabbit-mode
 rabbit
|quilt-el
|post-el
|ocaml-mode
|navi2ch
|mu-cite
|mpg123-el
|mhc
|mh-e
|mew-beta
|mew
|malaga-mode
|lyskom-elisp-client
|lsdb
|lookup-el
|lisaac-mode
|liece
|initz
|ilisp
|howm
 haskell-mode
 haml-elisp 
 gworkspace-apps-wrappers
|gri-el
|goby
|gnuserv
|gnu-smalltalk-el
|git-el
|gettext-el
|frama-c
|flim
|eweouz
|emms
 elpa-ace-link
|emacs-mozc
 elpa-zzz-to-char
 elpa-zzz-to-char
 elpa-zzz-to-char
 elpa-ztree
 elpa-ztree
 elpa-ztree
 elpa-zenburn-theme
 elpa-zenburn-theme
 elpa-zenburn-theme
 elpa-yasnippet
 elpa-xml-rpc
 elpa-xml-rpc
 elpa-ws-butler
 elpa-ws-butler
 elpa-ws-butler
 elpa-writegood-mode
 elpa-writegood-mode
 elpa-world-time-mode
 elpa-world-time-mode
 elpa-with-simulated-input
 elpa-with-simulated-input
 elpa-with-editor
 elpa-which-key
 elpa-which-key
 elpa-weechat
 elpa-weechat
 elpa-wc-mode
 elpa-wc-mode
 elpa-visual-regexp
 elpa-visual-regexp
 elpa-visual-regexp
 elpa-visual-fill-column
 elpa-visual-fill-column
 elpa-virtualenvwrapper
 elpa-virtualenvwrapper
 elpa-vimish-fold
 elpa-vimish-fold
 elpa-vc-fossil
 elpa-vc-fossil
 elpa-vala-mode
 elpa-uuid
 elpa-uuid
 elpa-use-package
 elpa-use-package
 elpa-undo-tree
 elpa-undo-tree
 elpa-undo-tree
 elpa-undercover
 elpa-undercover
 elpa-tablist
 elpa-systemd
 elpa-systemd
 elpa-swiper
 elpa-suggest
 elpa-suggest
 elpa-spinner
 elpa-spinner
 elpa-solarized-theme
 elpa-solarized-theme
 elpa-sml-mode
 elpa-smex
 elpa-smex
 elpa-smex
 elpa-smeargle
 elpa-smeargle
 elpa-smeargle
 elpa-simple-httpd
 elpa-simple-httpd
 elpa-simple-httpd
 elpa-shut-up
 elpa-shut-up
 elpa-shut-up
 elpa-seq
 elpa-seq
 elpa-s
 elpa-s
 elpa-rust-mode
 elpa-rust-mode
 elpa-rich-minority
 elpa-rich-minority
 elpa-restart-emacs
 elpa-restart-emacs
 elpa-restart-emacs
 elpa-redtick
 elpa-redtick
 elpa-recursive-narrow
 elpa-recursive-narrow
 elpa-recursive-narrow
 elpa-rainbow-mode
 elpa-rainbow-mode
 elpa-rainbow-mode
 elpa-rainbow-identifiers
 elpa-rainbow-identifiers
 elpa-rainbow-delimiters
 elpa-rainbow-delimiters
 elpa-rainbow-delimiters
 elpa-racket-mode
 elpa-racket-mode
 elpa-racket-mode
 elpa-queue
 elpa-queue
 elpa-qml-mode
 elpa-qml-mode
 elpa-pyvenv
 elpa-pyvenv
 elpa-python-environment
 elpa-python-environment
 elpa-py-isort
 elpa-py-isort
 elpa-py-autopep8
 elpa-py-autopep8
 elpa-ps-ccrypt
 elpa-ps-ccrypt
 elpa-projectile
 elpa-projectile
 elpa-projectile
 elpa-powerline
 elpa-powerline
 elpa-powerline
 elpa-popup
 elpa-popup
 elpa-popup
 elpa-pointback
 elpa-pointback
 elpa-pkg-info
 elpa-pkg-info
 elpa-pkg-info
 elpa-perspective
 elpa-perspective
 elpa-perspective
 elpa-persp-projectile
 elpa-persp-projectile
 elpa-persp-projectile
 elpa-pdf-tools
 elpa-parsebib
 elpa-parsebib
 elpa-parsebib
 elpa-parent-mode
 elpa-parent-mode
 elpa-paredit-everywhere
 elpa-paredit-everywhere
 elpa-paredit-everywhere
 elpa-paredit
 elpa-paredit
 elpa-paredit
 elpa-package-lint
 elpa-package-lint
 elpa-org-bullets
 elpa-org-bullets
 elpa-org
 elpa-org
 elpa-openwith
 elpa-openwith
 elpa-olivetti
 elpa-olivetti
 elpa-nov
 elpa-nov
 elpa-nose
 elpa-nose
 elpa-noflet
 elpa-noflet
 elpa-no-littering
 elpa-no-littering
 elpa-muse
 elpa-muse
 elpa-move-text
 elpa-move-text
 elpa-monokai-theme
 elpa-monokai-theme
 elpa-mocker
 elpa-mocker
 elpa-minimap
 elpa-minimap
 elpa-migemo
 elpa-migemo
 elpa-message-templ
 elpa-message-templ
 elpa-meson-mode
 elpa-meson-mode
 elpa-memoize
 elpa-memoize
|elpa-markdown-mode
 elpa-makey
 elpa-makey
 elpa-makey
 elpa-magithub
 elpa-magithub
 elpa-magit-popup
 elpa-magit-annex
 elpa-magit-annex
 elpa-magit
 elpa-m-buffer
 elpa-m-buffer
 elpa-loop
 elpa-loop
 elpa-load-relative
 elpa-load-relative
 elpa-linum-relative
 elpa-linum-relative
 elpa-let-alist
 elpa-let-alist
 elpa-kv
 elpa-kv
 elpa-key-chord
 elpa-key-chord
 elpa-js2-mode
 elpa-jinja2-mode
 elpa-jinja2-mode
 elpa-jabber
 elpa-jabber
 elpa-jabber
 elpa-ivy-hydra
 elpa-ivy
 elpa-ivy
 elpa-iedit
 elpa-iedit
 elpa-iedit
 elpa-ido-vertical-mode
 elpa-ido-vertical-mode
 elpa-ido-vertical-mode
 elpa-ido-ubiquitous
 elpa-ido-ubiquitous
 elpa-ido-completing-read+
 elpa-ido-completing-read+
 elpa-ibuffer-vc
 elpa-ibuffer-vc
 elpa-ibuffer-vc
 elpa-ibuffer-projectile
 elpa-ibuffer-projectile
 elpa-ibuffer-projectile
 elpa-hydra
 elpa-hydra
 elpa-hungry-delete
 elpa-hungry-delete
 elpa-htmlize
 elpa-htmlize
 elpa-ht
 elpa-ht
 elpa-hl-todo
 elpa-hl-todo
 elpa-hl-todo
 elpa-highlight-numbers
 elpa-highlight-numbers
 elpa-highlight-indentation
 elpa-highlight-indentation
 elpa-helm-virtualenvwrapper
 elpa-helm-virtualenvwrapper
 elpa-helm-projectile
 elpa-helm-projectile
 elpa-helm-projectile
 elpa-helm-core
 elpa-helm-core
 elpa-helm-ag
 elpa-helm-ag
 elpa-helm
 elpa-helm
 elpa-goto-chg
 elpa-goto-chg
 elpa-goto-chg
 elpa-golden-ratio
 elpa-golden-ratio
 elpa-gitignore-mode
 elpa-gitignore-mode
 elpa-gitconfig-mode
 elpa-gitconfig-mode
 elpa-gitattributes-mode
 elpa-gitattributes-mode
 elpa-git-timemachine
 elpa-git-timemachine
 elpa-git-modes
 elpa-git-modes
 elpa-git-messenger
 elpa-git-messenger
 elpa-git-commit
 elpa-git-annex
 elpa-git-annex
 elpa-ghub+
 elpa-ghub+
 elpa-ghub
 elpa-ghub
|elpa-geiser
 elpa-fsm
 elpa-fsm
 elpa-fsm
 elpa-fountain-mode
 elpa-fountain-mode
 elpa-flycheck-package
 elpa-flycheck-package
 elpa-flycheck
 elpa-flycheck
 elpa-flycheck
 elpa-flx-ido
 elpa-flx-ido
 elpa-flx-ido
 elpa-flx
 elpa-flx
 elpa-flx
 elpa-find-file-in-project
 elpa-find-file-in-project
 elpa-fill-column-indicator
 elpa-fill-column-indicator
 elpa-faceup
 elpa-faceup
 elpa-faceup
 elpa-f
 elpa-f
 elpa-eyebrowse
 elpa-eyebrowse
 elpa-expand-region
 elpa-evil-paredit
 elpa-evil-paredit
 elpa-evil-paredit
 elpa-evil
 elpa-evil
 elpa-evil
 elpa-esxml
 elpa-esxml
 elpa-eshell-up
 elpa-eshell-up
 elpa-eshell-up
 elpa-eshell-prompt-extras
 elpa-eshell-prompt-extras
 elpa-eshell-git-prompt
 elpa-eshell-git-prompt
 elpa-eshell-bookmark
 elpa-eshell-bookmark
 elpa-esh-help
 elpa-esh-help
 elpa-ert-expectations
 elpa-ert-expectations
 elpa-ert-async
 elpa-ert-async
 elpa-ert-async
 elpa-epl
 elpa-epl
 elpa-epl
 elpa-epc
 elpa-epc
 elpa-epc
 elpa-engine-mode
 elpa-engine-mode
 elpa-engine-mode
 elpa-elisp-slime-nav
 elpa-elisp-slime-nav
 elpa-elisp-slime-nav
 elpa-elfeed-web
 elpa-elfeed-web
 elpa-elfeed-web
 elpa-elfeed
 elpa-elfeed
 elpa-elfeed
 elpa-el-x
 elpa-el-x
 elpa-el-mock
 elpa-el-mock
 elpa-editorconfig
 elpa-editorconfig
 elpa-ediprolog
 elpa-ediprolog
 elpa-ebib
 elpa-ebib
 elpa-ebib
 elpa-dumb-jump
 elpa-dumb-jump
 elpa-discover-my-major
 elpa-discover-my-major
 elpa-discover-my-major
 elpa-dired-quick-sort
 elpa-dired-quick-sort
 elpa-dired-du
 elpa-dired-du
 elpa-diminish
 elpa-diminish
 elpa-diminish
 elpa-diffview
 elpa-diffview
 elpa-diff-hl
 elpa-diff-hl
 elpa-deft
 elpa-deft
 elpa-deferred
 elpa-deferred
 elpa-deferred
 elpa-debpaste
 elpa-debpaste
 elpa-db
 elpa-db
 elpa-cycle-quotes
 elpa-cycle-quotes
 elpa-ctable
 elpa-ctable
 elpa-ctable
 elpa-counsel
 elpa-concurrent
 elpa-concurrent
 elpa-concurrent
 elpa-company
 elpa-clues-theme
 elpa-clues-theme
 elpa-clues-theme
 elpa-clojure-mode-extra-font-locking
 elpa-clojure-mode-extra-font-locking
 elpa-clojure-mode
 elpa-clojure-mode
 elpa-cider
 elpa-cider
 elpa-buttercup
 elpa-buttercup
 elpa-bug-hunter
 elpa-bug-hunter
 elpa-browse-kill-ring
 elpa-browse-kill-ring
 elpa-bind-map
 elpa-bind-map
 elpa-bind-map
 elpa-bind-key
 elpa-bind-key
 elpa-bind-key
 elpa-beginend
 elpa-beginend
 elpa-beacon
 elpa-beacon
 elpa-avy-menu
 elpa-avy-menu
 elpa-avy
 elpa-avy
 elpa-avy
 elpa-async
 elpa-async
 elpa-async
 elpa-assess
 elpa-assess
 elpa-apiwrap
 elpa-apiwrap
 elpa-anzu
 elpa-anzu
 elpa-anzu
 elpa-aggressive-indent
 elpa-aggressive-indent
 elpa-aggressive-indent
 elpa-agda2-mode
 elpa-agda2-mode
 elpa-ag
 elpa-ag
 elpa-ace-window
 elpa-ace-window
 elpa-ace-window
 elpa-ace-popup-menu
 elpa-ace-popup-menu
 elpa-ace-link
|emacs-goodies-el
|eldav
|el-get
|edict-el
|edb
|ecb
|dpkg-dev-el
|dictionary-el
|devscripts-el
|develock-el
|debian-el
|ddskk
|ddskk
|cxref-emacs
|cvc3-el
|crypt++el
 code-aster-run
|cmuscheme48-el
|cdargs
|c-sig
|bhl
|bbdb3
|auto-install-el
|apel
|anything-el
1 curtida

Obrigado pela ajuda. O Emacs foi instalado quando eu instalei o GitHub pelo terminal, se não me falhe a memória, tem essa possibilidade de ter instalado como “dependência” do GitHub?

Foi só o Git-Hub, né? As dependências do pacote git-hub são o git e o python, como você pode ver na saída do comando abaixo:

$ apt-cache depends git-hub
git-hub
  Depende: git
    git:i386
  Depende: python

Também são dependências

Já as dependências do pacote git são:

$ apt-cache depends git
git
  Depende: libc6
  Depende: libcurl3-gnutls
  Depende: libexpat1
  Depende: libpcre3
  Depende: zlib1g
  Depende: perl
  Depende: liberror-perl
  Depende: git-man
  Depende: git-man
  [...]
  Recomenda: patch
    patch:i386
  Recomenda: less
    less:i386
  Recomenda: <ssh-client>
    openssh-client:i386
    openssh-client
  Sugere: gettext-base
    gettext-base:i386
 |Sugere: git-daemon-run
  Sugere: git-daemon-sysvinit 
  Sugere: git-doc 
  Sugere: git-el  
  Sugere: git-email 
  Sugere: git-gui 
  Sugere: gitk 
  Sugere: gitweb  
  Sugere: git-cvs 
  Sugere: git-mediawiki  
  Sugere: git-svn 
  Substitui: <git-core>  
  Substitui: gitweb

Quando você seleciona o pacote git-hub para ser instalado, aparecerão apenas os pacotes git, git-man, liberror-perl e partch. Você me pergunta sobre todos as outras dependências citadas. Ou elas já estão instaladas no seu sistema ou são opcionais.

Falando em “opcionais”, tem um pacote opcional que é o git-el, puxa o Emacs, entretanto ele não é instalado por padrão quando você instala o git-hub (ele é apenas sugerido!), salvo se você instalar o git-hub (e consequentemente o git) junto com todos os seus pacotes opcionais.

Veja se você não tem o git-el instalado.

Eu tinha instalado pelo comando “sudo apt-get install git-hub all” se eu não me engano, se por esse comando, entra todas essa dependência, não é mesmo?

É que tipo assim, se não tiver nada haver ele estar instalado, eu nem vou me preocupar em desinstalar, mas eu queria saber o que tu me aconselha, deixo instalado ou posso removê-lo?

A remoção do Emacs não quebrará o seu sistema, fica tranquilo. Você pode usar o Synaptic (uma ferramenta gráfica) para remover todos os pacotes relacionados ao Emacs.

Mas o mais seguro é você remover apenas o pacote emacs (e outros se o sistema lhe obrigar a removê-los na hora) e então usar o comando sudo apt-get autoremove para remover todos os pacotes órfãos.

2 curtidas