Question

Tous les autres réglages pour rendre emacs aussi vim que possible seraient également appréciés.

Addendum: La raison principale pour laquelle je n'utilise pas vim uniquement, c’est que j’aime la manière dont emacs vous permet d’ouvrir un fichier dans deux cadres différents [ADDED: désolé, c’était déroutant: je veux dire windows , qui appelle emacs "cadres"]. C'est comme faire une scission verticale, mais je n'ai pas besoin d'une fenêtre énorme.

Était-ce utile?

La solution

Vous pouvez exécuter VIM en mode client serveur , puis vous pourriez avoir deux fenêtres se connectant à une instance, éliminant ainsi le besoin d’Emacs.

Autres conseils

Je ne sais pas comment faire fonctionner les macros Vim, mais puisque vous avez demandé des modifications pour rendre emacs aussi semblable à vim que possible, voici quelques ajouts à vimpulse que j'utilise au quotidien:

(define-key viper-vi-global-user-map [(delete)] 'delete-char)
(define-key viper-vi-global-user-map "/" 'isearch-forward-regexp)
(define-key viper-vi-global-user-map "?" 'isearch-backward-regexp)
(define-key viper-vi-global-user-map "\C-wh" 'windmove-left)
(define-key viper-vi-global-user-map "\C-wj" 'windmove-down)
(define-key viper-vi-global-user-map "\C-wk" 'windmove-up)
(define-key viper-vi-global-user-map "\C-wl" 'windmove-right)
(define-key viper-vi-global-user-map "\C-wv" '(lambda () (interactive)
                                                (split-window-horizontally)
                                                (other-window 1)
                                                (switch-to-buffer (other-buffer))))

(define-key viper-visual-mode-map "F" 'viper-find-char-backward)
(define-key viper-visual-mode-map "t" 'viper-goto-char-forward)
(define-key viper-visual-mode-map "T" 'viper-goto-char-backward)
(define-key viper-visual-mode-map "e" '(lambda ()
                                         (interactive)
                                         (viper-end-of-word 1)
                                         (viper-forward-char 1)))

(push '("only" (delete-other-windows)) ex-token-alist)
(push '("close" (delete-window)) ex-token-alist)

Bien sûr, apprendre Emacs est très important également, mais Emacs s’appuie sur la personnalisation pour lui permettre de se comporter exactement comme vous le souhaitez. Et les raccourcis clavier Vim par défaut sont tellement confortables que l'utilisation de Viper signifie simplement que Viper personnalise pour vous Emacs.

En ce qui concerne l'utilisation de Vim au lieu d'Emacs, j'aime Vim, mais j'aime l'interactivité du système Lisp qu'est Emacs. Rien ne vous fait penser à taper une ligne de code n’importe où dans votre éditeur et à l’évaluer instantanément avec une seule frappe, changer ou inspecter l’état de votre éditeur à partir de votre éditeur (y compris la documentation en direct) avec une seule frappe ( CMx ) en cours d'exécution .

Je n'ai pas de réglages viper ou vimpulse pour vous, mais je vous recommande d'essayer le mode suivi.

Bien sûr, je vous recommanderais également de commencer à apprendre Emacs également. Je veux dire, si vous êtes aussi loin, vous pourriez aussi bien parcourir le tutoriel et peut-être jeter un œil à emacswiki.

La version de VIM que j'utilise prend en charge (version Windows) la prise en charge du fractionnement d'un fichier en deux cadres différents à l'aide de "Ctrl + W s" ...

Vim vous permet facilement d’ouvrir un fichier dans deux cadres différents:

: divisez pour le scinder horizontalement

: vsplit pour le scinder verticalement

Vous pouvez diviser l'écran autant de fois que vous le souhaitez entre le même fichier, des fichiers différents ou les deux.

CTRL-w-w change de cadre.

: redimensionner + n ou : resize -n redimensionne le cadre actuel.

Emacs + vimpulse est génial, mais je pense que le bon déroulement de son travail consiste à utiliser librement les commandes emacs en combinaison avec les raccourcis vim. Par exemple, le raccourci de macro emacs F3 et F4 est plus facile que qq et @q de vim. Les commandes emacs sont également accessibles via Alt + x, pas: commandes. Bien que vimpulse prenne en charge quelques commandes vim importantes, elles ne le sont que pour des raisons de compatibilité.

Les suivants sont mes personnalisations spécifiques à vimpulse.

.emacs

   ; I use C-d to quit emacs and vim
   (vimpulse-global-set-key 'vi-state (kbd "C-d") 'save-buffers-kill-terminal)
   ; use ; instead of :
   (vimpulse-global-set-key 'vi-state (kbd ";") 'viper-ex)
   ; use C-e instead of $. This works for all motion command too! (e.g. d C-e is easier to type than d$)
   (vimpulse-global-set-key 'vi-state (kbd "C-e") 'viper-goto-eol)
   (defun t_save() (interactive)(save-buffer)(viper-change-state-to-vi)) 
   (global-set-key (kbd "\C-s") 't_save) ; save using C-s instead of :w<CR> or C-x-s

    (defun command-line-diff (switch)
          (let ((file1 (pop command-line-args-left))
                (file2 (pop command-line-args-left)))
            (ediff file1 file2)))

    ;; Usage: emacs -diff file1 file2 (much better then vimdiff)
    (add-to-list 'command-switch-alist '("-diff" . command-line-diff))

Si vous aimez les terminaux, vous pouvez utiliser emacs -nw. Dans ce cas, ce complément de presse-papiers est utile. http://www.lingotrek.com/2010 /12/integrating-emacs-with-x11-clipboard-in.html

.viper

    (setq viper-inhibit-startup-message 't)
    (setq viper-expert-level '3)
    (setq viper-ESC-key "\C-c") ; use C-c instead of ESC. unlike vim, C-c works perfectly with vimpulse.

Presque tout ce que fait vim peut se faire aussi facilement (sinon de la même manière) dans emacs + vimpulse mais certainement pas l'inverse!

p.s. la plupart des suggestions ci-dessus sont supportées par la récente vimpulse BY DEFAULT.

Vous pouvez toujours démarrer vim dans un tampon shell et le redimensionner de manière à remplir tout le cadre?

Si vous souhaitez utiliser la fonctionnalité VIM, il est plus logique de simplement installer VIM!

Je ne sais pas si je réponds à votre question, car ce que vous demandez n'est pas tout à fait clair (pourquoi les macros ne fonctionnent pas ou quels réglages sont disponibles pour émuler vim dans emacs)

alors, est-ce votre problème?:

  
      
  • Un utilisateur qui utilise un ancien cliché emacs (depuis 2005) mentionne
      que ce mode provoque toutes les touches sur   son clavier pour arrêter de travailler à moins que   il supprime la ligne qui lit   'viper - cartes-clés de la macro   my-get-emulation-keymap dans ce fichier
  •   

Si c'est le cas, vous pouvez essayer la solution indiquée.

J'ai obtenu cette information sur le wiki emacs , et il s'agit d'un bogue connu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top